18#ifndef CLASSIC_Degrader_HH
19#define CLASSIC_Degrader_HH
68 virtual bool bends()
const;
70 virtual void goOnline(
const double& kineticEnergy);
76 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)
std::vector< double > MomentumZ_m
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 &)
virtual ElementType getType() const
Get element type std::string.
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::vector< double > PosZ_m
virtual void accept(BeamlineVisitor &) const
Apply visitor to Degrader.
std::vector< double > MomentumX_m