33 "The \"QUADRUPOLE\" element defines a thick quadrupole.\n"
34 "It is a convenience wrapper around MULTIPOLE with a single\n"
35 "quadrupole strength K1.\n"
36 "* If the length is non-zero, K1 is per unit length.\n"
37 "* If the length is zero, K1 is the integrated strength.") {
44 "DK1S",
"Normalised skew quadrupole strength error in m^(-2)", 0.0);
The magnetic field of a multipole.
void setNormalComponent(int n, double Bn)
Set component.
void setSkewComponent(int n, double Bn)
Set component.
virtual void setElementLength(double length)
Set design length.
ElementBase * getElement() const
Return the embedded OPALX element.
void setElement(ElementBase *)
Assign new OPALX element.
virtual void setField(const BMultipoleField &field)
Set mulitpole field.
void setSkewComponent(int n, double)
void setNormalComponent(int n, double)
std::vector< Attribute > itsAttr
The object attributes.
double getP0() const
Return value of global reference momentum.
static OpalData * getInstance()
virtual double getLength() const
Return element length.
virtual void updateUnknown(ElementBase *)
Transmit the `‘unknown’' (not known to OPALX) attributes to OPALX.
virtual void print(std::ostream &) const
Print the object.
virtual void update()
Update the embedded OPALX element.
void registerOwnership() const
virtual void print(std::ostream &) const
Print the object.
virtual ~OpalQuadrupole()
virtual OpalQuadrupole * clone(const std::string &name)
Make clone.
OpalQuadrupole()
Exemplar constructor.
virtual void update()
Update the embedded OPALX multipole.
double getReal(const Attribute &attr)
Return real value.
Attribute makeReal(const std::string &name, const std::string &help)
Make real attribute.
constexpr double c
The velocity of light in m/s.