1 #ifndef CLASSIC_FlexibleCollimator_HH
2 #define CLASSIC_FlexibleCollimator_HH
43 virtual bool bends()
const override;
45 virtual void goOnline(
const double &kineticEnergy)
override;
51 virtual void getDimensions(
double &zBegin,
double &zEnd)
const override;
73 std::vector<std::shared_ptr<mslang::Base> >
holes_m;
111 #endif // CLASSIC_FlexibleCollimator_HH
std::string getDescription() const
virtual ~FlexibleCollimator()
virtual void getDimensions(double &zBegin, double &zEnd) const override
virtual void accept(BeamlineVisitor &) const override
Apply visitor to FlexibleCollimator.
std::vector< std::shared_ptr< mslang::Base > > holes_m
bool isStopped(const Vector_t &R, const Vector_t &P, double recpgamma)
ParticleMatterInteractionHandler * parmatint_m
virtual ElementBase::ElementType getType() const override
Get element type std::string.
virtual void finalise() override
void setDescription(const std::string &desc)
std::unique_ptr< LossDataSink > lossDs_m
void writeHolesAndQuadtree(const std::string &baseFilename) const
std::string getOutputFN() const
virtual bool applyToReferenceParticle(const Vector_t &R, const Vector_t &P, const double &t, Vector_t &E, Vector_t &B) override
std::string description_m
void setOutputFN(const std::string &fn)
virtual void goOnline(const double &kineticEnergy) override
void operator=(const FlexibleCollimator &)
virtual bool checkCollimator(PartBunchBase< double, 3 > *bunch, const int turnnumber, const double t, const double tstep)
virtual void initialise(PartBunchBase< double, 3 > *bunch, double &startField, double &endField) override
Interface for a single beam element.
virtual bool apply(const size_t &i, const double &t, Vector_t &E, Vector_t &B) override
unsigned int getLosses() const
virtual void goOffline() override
virtual bool bends() const override