19 #ifndef ABSBEAMLINE_ScalingFFAMagnet_H
20 #define ABSBEAMLINE_ScalingFFAMagnet_H
65 inline bool apply(
const size_t& i,
const double& t,
117 inline bool bends()
const override;
BGeometryBase & getGeometry() override
bool apply(const size_t &i, const double &t, Vector_t &E, Vector_t &B) override
size_t getMaxOrder() const
double getTanDelta() const
void setPhiStart(double phiStart)
void setTanDelta(double tanDelta)
bool bends() const override
PETE_TUTree< FnAbs, typename T::PETE_Expr_t > abs(const PETE_Expr< T > &l)
Abstract base class for electromagnetic fields.
void setEndFieldName(std::string name)
ParticleAttrib< Vector_t > P
double getDipoleConstant() const
void setDipoleConstant(double Bz)
A simple arc in the XZ plane.
double getVerticalExtent() const
Abstract base class for accelerator geometry classes.
PartBunchBase< double, 3 > * RefPartBunch_m
std::string endFieldName_m
Vector_t getCentre() const
ScalingFFAMagnet * clone() const override
void setRMax(double rMax)
ScalingFFAMagnet(const std::string &name)
EMField & getField() override
void setEndField(endfieldmodel::EndFieldModel *endField)
PlanarArcGeometry planarArcGeometry_m
bool getFieldValue(const Vector_t &R, Vector_t &B) const
double getPhiStart() const
const double fp_tolerance
bool getFieldValueCylindrical(const Vector_t &R, Vector_t &B) const
std::vector< std::vector< double > > getDfCoefficients()
double getAzimuthalExtent() const
void setMaxOrder(size_t maxOrder)
ScalingFFAMagnet & operator=(const ScalingFFAMagnet &rhs)
endfieldmodel::EndFieldModel * getEndField() const
void getDimensions(double &, double &) const override
void setRMin(double rMin)
void setFieldIndex(double k)
void accept(BeamlineVisitor &visitor) const override
void setCentre(Vector_t centre)
std::vector< std::vector< double > > dfCoefficients_m
void calculateDfCoefficients()
std::string getEndFieldName() const
constexpr double e
The value of .
endfieldmodel::EndFieldModel * endField_m
void setVerticalExtent(double verticalExtent)
Interface for a single beam element.
void setAzimuthalExtent(double azimuthalExtent)
void setPhiEnd(double phiEnd)
double getFieldIndex() const
The magnetic field of a multipole.