33#ifndef ABSBEAMLINE_ScalingFFAMagnet_H
34#define ABSBEAMLINE_ScalingFFAMagnet_H
121 inline bool bends()
const override;
PartBunch< PLayout_t< double, 3 >, double, 3 > PartBunch_t
ippl::Vector< T, Dim > Vector_t
Component(const std::string &name)
Constructor with given name.
double getVerticalExtent() const
std::string endFieldName_m
void accept(BeamlineVisitor &visitor) const override
void setAzimuthalExtent(double azimuthalExtent)
void setRMin(double rMin)
void setCentre(Vector_t< double, 3 > centre)
endfieldmodel::EndFieldModel * endField_m
double getDipoleConstant() const
void setVerticalExtent(double verticalExtent)
Vector_t< double, 3 > getCentre() const
std::vector< std::vector< double > > getDfCoefficients()
ScalingFFAMagnet * clone() const override
ScalingFFAMagnet(const std::string &name)
void setTanDelta(double tanDelta)
double getAzimuthalExtent() const
std::string getEndFieldName() const
void setDipoleConstant(double Bz)
void getDimensions(double &, double &) const override
void calculateDfCoefficients()
void setPhiStart(double phiStart)
const double fp_tolerance
EMField & getField() override
size_t getMaxOrder() const
void setEndField(endfieldmodel::EndFieldModel *endField)
void setMaxOrder(size_t maxOrder)
bool apply(const size_t &i, const double &t, Vector_t< double, 3 > &E, Vector_t< double, 3 > &B) override
double getFieldIndex() const
void setFieldIndex(double k)
void setRMax(double rMax)
void setEndFieldName(std::string name)
void setPhiEnd(double phiEnd)
bool getFieldValue(const Vector_t< double, 3 > &R, Vector_t< double, 3 > &B) const
endfieldmodel::EndFieldModel * getEndField() const
Vector_t< double, 3 > centre_m
std::vector< std::vector< double > > dfCoefficients_m
double getTanDelta() const
bool getFieldValueCylindrical(const Vector_t< double, 3 > &R, Vector_t< double, 3 > &B) const
double getPhiStart() const
BGeometryBase & getGeometry() override
bool bends() const override
ScalingFFAMagnet & operator=(const ScalingFFAMagnet &rhs)
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.