1#ifndef CLASSIC_BENDBASE_H
2#define CLASSIC_BENDBASE_H
18 virtual bool bends()
const;
29 virtual void setDesignEnergy(
const double& energy,
bool changeable =
true);
44 double calcBendAngle(
double chordLength,
double radius)
const;
std::shared_ptr< _Fieldmap > Fieldmap
PETE_TUTree< FnAbs, typename T::PETE_Expr_t > abs(const PETE_Expr< T > &l)
double calcGamma() const
Calculate gamma from design energy.
std::vector< Vector_t > getDesignPath() const
std::vector< Vector_t > refTrajMap_m
Map of reference particle trajectory.
const bool fast_m
Flag to turn on fast field calculation.
void setFieldMapFN(std::string fileName)
double calcBendAngle(double chordLength, double radius) const
Calculate bend angle from chord length and design radius.
virtual void setDesignEnergy(const double &energy, bool changeable=true)
double fieldAmplitude_m
Field amplitude.
double calcBetaGamma() const
Calculate beta*gamma from design energy.
double getChordLength() const
double designEnergy_m
Bend design energy (eV).
virtual void setEntranceAngle(double entranceAngle)
double entranceAngle_m
Angle between incoming reference trajectory and the entrance face of the magnet (radians).
double getBendAngle() const
double getFieldAmplitude() const
Fieldmap fieldmap_m
Magnet field map.
double getDesignEnergy() const
double gap_m
Full vertical gap of the magnets.
double fieldAmplitudeY_m
Field amplitude in y direction.
virtual double getExitAngle() const =0
virtual void setBendAngle(double angle)
double getEntranceAngle() const
bool designEnergyChangeable_m
double calcFieldAmplitude(double radius) const
Calculate field amplitude from design energy and radius.
double calcDesignRadius(double fieldAmplitude) const
Calculate design radius from design energy and field amplitude.
void setFieldAmplitude(double k0, double k0s)
virtual bool bends() const
Indicates that element bends the beam.
std::string getFieldMapFN() const
double fieldAmplitudeX_m
Field amplitude in x direction.
double getFullGap() const
double angle_m
Bend angle.
Interface for a single beam element.