30 "The \"RINGDEFINITION\" element defines basic ring parameters.") {
33 (
"HARMONIC_NUMBER",
"The assumed harmonic number of the ring (i.e. number of bunches in the ring on a given turn) (default = 1).", 1.0);
36 (
"LAT_RINIT",
"The initial radius of the first element to be placed in the ring [m].");
39 (
"LAT_PHIINIT",
"The initial angle around the ring of the first element to be placed. [deg]");
42 (
"LAT_THETAINIT",
"The angle relative to the tangent of the ring for the first element to be placed [deg].");
45 (
"BEAM_PHIINIT",
"The initial angle around the ring of the beam [deg].");
48 (
"BEAM_THETAINIT",
"Defines an angular offset of the beam relative to the tangent vector, in the x-y plane [deg] (default = 0).", 0.0);
51 (
"BEAM_PRINIT",
"An initial pr momentum offset of the beam.");
54 (
"BEAM_RINIT",
"The initial radius of the beam [m].");
57 (
"SYMMETRY",
"The rotational symmetry of the lattice.", 1.0);
60 (
"SCALE",
"Scale the fields by a multiplicative factor", 1.0);
65 (
"RFFREQ",
"The nominal RF frequency of the ring [MHz].");
69 (
"IS_CLOSED",
"Set to 'false' to disable checking for closure of the ring");
72 (
"MIN_R",
"Minimum allowed radius during tracking [m]. If not defined, any radius is allowed. If MIN_R is defined, MAX_R must also be defined.");
75 (
"MAX_R",
"Maximum allowed radius during tracking [m]. If not defined, any radius is allowed. If MAX_R is defined, MIN_R must also be defined.");
121 "If MIN_R is defined, MAX_R must also be defined.");
124 "If MAX_R is defined, MIN_R must also be defined.");
Attribute makeReal(const std::string &name, const std::string &help)
Make real attribute.
void setRFFreq(double rfFreq)
void setLatticeRInit(double rInit)
void setSymmetry(double symmetry)
void setScale(double scale)
virtual void print(std::ostream &) const
Print the object.
void setIsClosed(bool isClosed)
virtual void print(std::ostream &) const
void setElement(ElementBase *)
Assign new CLASSIC element.
bool getBool(const Attribute &attr)
Return logical value.
Attribute makeBool(const std::string &name, const std::string &help)
Make logical attribute.
void setBeamRInit(double rInit)
The base class for all OPAL exceptions.
void setBeamPhiInit(double phiInit)
void setRingAperture(double minR, double maxR)
ElementBase * getElement() const
Return the embedded CLASSIC element.
std::vector< Attribute > itsAttr
The object attributes.
void setHarmonicNumber(double cyclHarm)
void setBeamPRInit(double pRInit)
double getReal(const Attribute &attr)
Return real value.
void setLatticeThetaInit(double thetaInit)
void setBeamThetaInit(double thetaInit)
Ring describes a ring type geometry for tracking.
virtual ~OpalRingDefinition()
void registerOwnership() const
virtual OpalRingDefinition * clone(const std::string &name)
void setLatticePhiInit(double phiInit)