33#ifndef ABSBEAMLINE_ScalingFFAMagnet_H
34#define ABSBEAMLINE_ScalingFFAMagnet_H
70 bool apply(
const std::shared_ptr<ParticleContainer_t>& pc)
override;
125 inline bool bends()
const override;
Defines the abstract interface for a single beamline component in the accelerator model.
ippl::Vector< T, Dim > Vector_t
Abstract base class for accelerator geometry classes.
The magnetic field of a multipole.
Abstract base class for electromagnetic fields.
A simple arc in the XZ plane.
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
void setTanDelta(double tanDelta)
double getAzimuthalExtent() const
std::string getEndFieldName() const
void setDipoleConstant(double Bz)
void calculateDfCoefficients()
void setPhiStart(double phiStart)
const double fp_tolerance
bool apply(const std::shared_ptr< ParticleContainer_t > &pc) override
EMField & getField() override
size_t getMaxOrder() const
void setEndField(endfieldmodel::EndFieldModel *endField)
void setMaxOrder(size_t maxOrder)
void getFieldExtend(double &, double &) const 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