26 std::string(
"The \"VerticalFFAMagnet\" element defines a vertical FFA ")
27 + std::string(
"magnet, which has a field that increases in the vertical ")
28 + std::string(
"direction while maintaining similar orbits.");
32 "B0",
"The nominal dipole field of the magnet at zero height [T].");
37 "The full width of the magnet. Particles moving more than WIDTH/2 horizontally, in "
38 "either direction, are out of the aperture.");
40 "MAX_HORIZONTAL_POWER",
41 "The maximum power in horizontal coordinate that will be considered in the field "
46 "CENTRE_LENGTH",
"The centre length of the FFA (i.e. length of the flat top) [m].");
49 "Determines the length of the bounding box. Magnet is situated symmetrically in the "
53 "Height of the magnet above z=0. Particles moving upwards more than HEIGHT_POS_EXTENT "
54 "are out of the aperture [m].");
57 "Height of the magnet below z=0. Particles moving downwards more than "
58 "HEIGHT_NEG_EXTENT are out of the aperture [m].");
97 endField->
setX0(centre_length / 2.);
ElementBase * getElement() const
Return the embedded OPALX element.
void setElement(ElementBase *)
Assign new OPALX element.
std::vector< Attribute > itsAttr
The object attributes.
void registerOwnership() const
virtual ~OpalVerticalFFAMagnet()
static std::string docstring_m
virtual OpalVerticalFFAMagnet * clone(const std::string &name)
void setBBLength(double bbLength)
endfieldmodel::EndFieldModel * getEndField() const
void setWidth(double width)
void initialise(PartBunch_t *bunch, double &startField, double &endField)
void setMaxOrder(size_t maxOrder)
void setNegativeVerticalExtent(double negativeExtent)
void setFieldIndex(double index)
void setEndField(endfieldmodel::EndFieldModel *endField)
void setPositiveVerticalExtent(double positiveExtent)
static void setTanhDiffIndices(size_t n)
void setLambda(double lambda)
double getReal(const Attribute &attr)
Return real value.
Attribute makeReal(const std::string &name, const std::string &help)
Make real attribute.