1#ifndef CLASSIC_Corrector_HH
2#define CLASSIC_Corrector_HH
79 virtual bool apply(
const size_t &i,
92 virtual void goOnline(
const double &kineticEnergy);
96 virtual bool bends()
const;
100 virtual void getDimensions(
double &zBegin,
double &zEnd)
const;
106 virtual void setDesignEnergy(
const double& ekin,
bool changeable =
true);
Interface for a single beam element.
Interface for general corrector.
virtual StraightGeometry & getGeometry()=0
Return the corrector geometry.
virtual void getDimensions(double &zBegin, double &zEnd) const
virtual void goOnline(const double &kineticEnergy)
void setKickField(const Vector_t &k0)
virtual bool bends() const
virtual void initialise(PartBunchBase< double, 3 > *bunch, double &startField, double &endField)
void operator=(const Corrector &)
virtual ElementType getType() const
Get element type std::string.
virtual const BDipoleField & getField() const =0
Return the corrector field.
@ OFF
Corrector is off (inactive).
@ X
Corrector acts on x-plane.
@ Y
Corrector acts on y-plane.
@ XY
Corrector acts on both planes.
bool designEnergyChangeable_m
virtual void accept(BeamlineVisitor &) const
Apply a visitor to Corrector.
virtual Plane getPlane() const =0
Return the plane on which the corrector acts.
virtual bool apply(const size_t &i, const double &t, Vector_t &E, Vector_t &B)
virtual const StraightGeometry & getGeometry() const =0
Return the corrector geometry. Version for const object.
virtual BDipoleField & getField()=0
Return the corrector field.
virtual void setDesignEnergy(const double &ekin, bool changeable=true)
A geometry representing a straight line.
The field of a magnetic dipole.