27 "The \"SOLENOID\" element defines a Solenoid.") {
29 (
"KS",
"Normalised solenoid strength in m**(-1)");
31 (
"DKS",
"Normalised solenoid strength error in m**(-1)");
33 (
"FMAPFN",
"Solenoid field map filename ");
35 (
"FAST",
"Faster but less accurate",
true);
Attribute makeBool(const std::string &name, const std::string &help)
Make logical attribute.
double getReal(const Attribute &attr)
Return real value.
Attribute makeReal(const std::string &name, const std::string &help)
Make real attribute.
bool getBool(const Attribute &attr)
Return logical value.
std::string getString(const Attribute &attr)
Get string value.
Attribute makeString(const std::string &name, const std::string &help)
Make string attribute.
constexpr double c
The velocity of light in m/s.
ElementBase * getElement() const
Return the embedded CLASSIC element.
void setElement(ElementBase *)
Assign new CLASSIC element.
std::vector< Attribute > itsAttr
The object attributes.
double getP0() const
Return value of global reference momentum.
static OpalData * getInstance()
virtual void setElementLength(double length)
Set design length.
void setFieldMapFN(std::string fn)
virtual void setBz(double Bz)
Set field.
virtual void updateUnknown(ElementBase *)
Transmit the `‘unknown’' (not known to OPAL) attributes to CLASSIC.
virtual void update()
Update the embedded CLASSIC element.
void registerOwnership() const
virtual OpalSolenoid * clone(const std::string &name)
Make clone.
OpalSolenoid()
Exemplar constructor.
virtual void update()
Update the embedded CLASSIC solenoid.