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