18#ifndef CLASSIC_Degrader_HH
19#define CLASSIC_Degrader_HH
67 virtual bool bends()
const override;
69 virtual void goOnline(
const double& kineticEnergy)
override;
75 virtual void getDimensions(
double& zBegin,
double& zEnd)
const override;
Component(const std::string &name)
Constructor with given name.
virtual void accept(BeamlineVisitor &) const override
Apply visitor to Degrader.
virtual bool applyToReferenceParticle(const Vector_t &R, const Vector_t &P, const double &t, Vector_t &E, Vector_t &B) override
std::vector< double > MomentumZ_m
void operator=(const Degrader &)
std::vector< double > time_m
void setDimensions(double xsize, double ysize)
virtual bool apply(const size_t &i, const double &t, Vector_t &E, Vector_t &B) override
virtual void initialise(PartBunchBase< double, 3 > *bunch, double &startField, double &endField) override
virtual void finalise() override
std::vector< double > MomentumY_m
virtual ElementType getType() const override
Get element type std::string.
Degrader(const std::string &name)
Constructor with given name.
std::vector< double > PosY_m
std::vector< double > PosX_m
virtual void goOnline(const double &kineticEnergy) override
@ 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 bool bends() const override
virtual void getDimensions(double &zBegin, double &zEnd) const override
virtual void goOffline() override
std::vector< double > MomentumX_m
virtual bool isInside(const Vector_t &R) const override
Vektor< double, 3 > Vector_t