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