19 #ifndef ABSBEAMLINE_VerticalFFAMagnet_H
20 #define ABSBEAMLINE_VerticalFFAMagnet_H
28 namespace endfieldmodel {
108 inline bool bends()
const {
return false;}
void setPositiveVerticalExtent(double positiveExtent)
ElementBase * clone() const
A geometry representing a straight line.
void setFieldIndex(double index)
double getPositiveVerticalExtent() const
VerticalFFAMagnet & operator=(const VerticalFFAMagnet &rhs)
Abstract base class for electromagnetic fields.
void setEndField(endfieldmodel::EndFieldModel *endField)
ParticleAttrib< Vector_t > P
void accept(BeamlineVisitor &visitor) const
VerticalFFAMagnet(const std::string &name)
StraightGeometry straightGeometry_m
Abstract base class for accelerator geometry classes.
PartBunchBase< double, 3 > * RefPartBunch_m
void calculateDfCoefficients()
endfieldmodel::EndFieldModel * getEndField() const
double getNegativeVerticalExtent() const
std::vector< std::vector< double > > dfCoefficients_m
std::vector< std::vector< double > > getDfCoefficients() const
void setWidth(double width)
double getBBLength() const
double getFieldIndex() const
bool apply(const size_t &i, const double &t, Vector_t &E, Vector_t &B)
void setBBLength(double bbLength)
BGeometryBase & getGeometry()
std::unique_ptr< endfieldmodel::EndFieldModel > endField_m
void setNegativeVerticalExtent(double negativeExtent)
void getDimensions(double &, double &) const
Interface for a single beam element.
void setMaxOrder(size_t maxOrder)
bool getFieldValue(const Vector_t &R, Vector_t &B) const
The magnetic field of a multipole.
size_t getMaxOrder() const