18 #ifndef CLASSIC_Degrader_HH
19 #define CLASSIC_Degrader_HH
70 virtual bool bends()
const;
72 virtual void goOnline(
const double &kineticEnergy);
78 virtual void getDimensions(
double &zBegin,
double &zEnd)
const;
Interface for a single beam element.
virtual bool bends() const
virtual bool applyToReferenceParticle(const Vector_t &R, const Vector_t &P, const double &t, Vector_t &E, Vector_t &B)
virtual ElementBase::ElementType getType() const
Get element type std::string.
std::vector< double > MomentumZ_m
std::string getDegraderShape()
virtual void goOnline(const double &kineticEnergy)
virtual bool apply(const size_t &i, const double &t, Vector_t &E, Vector_t &B)
void operator=(const Degrader &)
std::vector< double > time_m
virtual bool isInMaterial(double z)
virtual void getDimensions(double &zBegin, double &zEnd) const
virtual void initialise(PartBunchBase< double, 3 > *bunch, double &startField, double &endField)
std::vector< double > MomentumY_m
std::vector< double > PosY_m
std::vector< double > PosX_m
@ Y
Monitor acts on y-plane.
@ OFF
Monitor is off (inactive).
@ X
Monitor acts on x-plane.
@ XY
Monitor acts on both planes.
std::unique_ptr< LossDataSink > lossDs_m
std::vector< double > PosZ_m
virtual void accept(BeamlineVisitor &) const
Apply visitor to Degrader.
std::vector< double > MomentumX_m