OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
|
#include <OpalRingDefinition.h>
Public Types | |
enum | { LAT_RINIT = COMMON , LAT_PHIINIT , LAT_THETAINIT , BEAM_RINIT , BEAM_PHIINIT , BEAM_PRINIT , HARMONIC_NUMBER , SYMMETRY , SCALE , RFFREQ , IS_CLOSED , MIN_R , MAX_R , SIZE } |
Public Types inherited from OpalElement | |
enum | { TYPE , APERT , LENGTH , ELEMEDGE , WAKEF , PARTICLEMATTERINTERACTION , ORIGIN , ORIENTATION , X , Y , Z , THETA , PHI , PSI , DX , DY , DZ , DTHETA , DPHI , DPSI , OUTFN , DELETEONTRANSVERSEEXIT , COMMON } |
The common attributes for all elements. More... | |
Public Types inherited from Element | |
enum | ReferenceType { IS_ENTRY , IS_CENTRE , IS_EXIT } |
Reference for element positioning. More... | |
Public Member Functions | |
OpalRingDefinition () | |
virtual | ~OpalRingDefinition () |
virtual OpalRingDefinition * | clone (const std::string &name) |
void | update () |
virtual void | print (std::ostream &) const |
Public Member Functions inherited from OpalElement | |
virtual | ~OpalElement () |
virtual double | getLength () const |
Return element length. More... | |
const std::string | getTypeName () const |
Return the element's type name. More... | |
std::pair< ApertureType, std::vector< double > > | getApert () const |
const std::string | getWakeF () const |
Return the element's type name. More... | |
const std::string | getParticleMatterInteraction () const |
const std::string | getWMaterial () const |
const std::string | getWakeGeom () const |
std::vector< double > | getWakeParam () const |
const std::string | getWakeConductivity () const |
virtual void | parse (Statement &) |
Parse the element. More... | |
virtual void | print (std::ostream &) const |
Print the object. More... | |
virtual void | update () |
Update the embedded CLASSIC element. More... | |
virtual void | updateUnknown (ElementBase *) |
Transmit the `‘unknown’' (not known to OPAL) attributes to CLASSIC. More... | |
Public Member Functions inherited from Element | |
virtual | ~Element () |
virtual bool | canReplaceBy (Object *object) |
Test if replacement is allowed. More... | |
virtual const std::string | getCategory () const |
Return the object category as a string. More... | |
virtual bool | shouldTrace () const |
Trace flag. More... | |
virtual bool | shouldUpdate () const |
Update flag. More... | |
virtual double | getLength () const =0 |
Return element length. More... | |
virtual double | getEntrance (ReferenceType) const |
Return arc length from origin to entrance (negative !). More... | |
virtual double | getExit (ReferenceType) const |
Return arc length from origin to exit (positive !). More... | |
virtual void | setShared (bool) |
Set shared flag. More... | |
ElementBase * | getElement () const |
Return the embedded CLASSIC element. More... | |
void | setElement (ElementBase *) |
Assign new CLASSIC element. More... | |
Public Member Functions inherited from Object | |
virtual | ~Object () |
virtual bool | canReplaceBy (Object *object) |
Test if replacement is allowed. More... | |
virtual Object * | clone (const std::string &name)=0 |
Return a clone. More... | |
void | copyAttributes (const Object &) |
Copy attributes from another object. More... | |
virtual void | execute () |
Execute the command. More... | |
virtual Attribute * | findAttribute (const std::string &name) |
Find an attribute by name. More... | |
virtual const Attribute * | findAttribute (const std::string &name) const |
Find an attribute by name. More... | |
virtual const std::string | getCategory () const =0 |
Return the object category as a string. More... | |
virtual bool | shouldTrace () const =0 |
Trace flag. More... | |
virtual bool | shouldUpdate () const =0 |
Update flag. More... | |
virtual Object * | makeTemplate (const std::string &, TokenStream &, Statement &) |
Macro handler function. More... | |
virtual Object * | makeInstance (const std::string &name, Statement &, const Parser *) |
Macro handler function. More... | |
virtual void | parse (Statement &) |
Parse the object. More... | |
virtual void | parseShortcut (Statement &, bool eval=true) |
Parser for single-attribute commands. More... | |
virtual void | print (std::ostream &) const |
Print the object. More... | |
virtual void | printValue (std::ostream &) const |
virtual void | printHelp (std::ostream &) const |
Print help. More... | |
virtual void | replace (Object *oldObject, Object *newObject) |
Replace references. More... | |
virtual void | update () |
Update this object. More... | |
bool | isBuiltin () const |
True, if [b]this[/b] is a built-in object. More... | |
virtual bool | isShared () const |
Shared flag. More... | |
virtual void | setShared (bool) |
Set/reset shared flag. More... | |
void | setDirty (bool) |
Set/reset the [b]modified[/b] flag. More... | |
bool | isDirty () const |
True, if the [b]modified[/b] flag is set. More... | |
void | setFlag (bool) |
Flag/unflag this object, e. g. to control output of objects for. More... | |
bool | isFlagged () const |
True, if [b]this[/b] is flagged by setFlag(true). More... | |
const Object * | getBaseObject () const |
Return the object's base type object. More... | |
const std::string & | getOpalName () const |
Return object name. More... | |
Object * | getParent () const |
Return parent pointer. More... | |
bool | isTreeMember (const Object *subTree) const |
Test for tree membership. More... | |
void | setOpalName (const std::string &name) |
Set object name. More... | |
void | setParent (Object *) |
Set parent object. More... | |
void | clear () |
Clear the occurrence counter. More... | |
int | increment () |
Increment and return the occurrence counter. More... | |
int | occurrenceCount () |
Return the occurrence counter. More... | |
void | registerReference (Invalidator *a) |
Register a reference to this object. More... | |
void | unregisterReference (Invalidator *a) |
Unegister a reference to this object. More... | |
void | registerOwnership (const AttributeHandler::OwnerType &itsClass) const |
Public Member Functions inherited from RCObject | |
int | addReference () const |
Increment reference count. More... | |
int | removeReference () const |
Decrement the reference count. More... | |
bool | isShared () const |
Test for sharing. More... | |
Private Member Functions | |
OpalRingDefinition (const OpalRingDefinition &) | |
void | operator= (const OpalRingDefinition &) |
OpalRingDefinition (const std::string &name, OpalRingDefinition *parent) | |
Additional Inherited Members | |
Static Public Member Functions inherited from Element | |
static Element * | find (const std::string &name) |
Find named Element. More... | |
Public Attributes inherited from Object | |
std::vector< Attribute > | itsAttr |
The object attributes. More... | |
Protected Member Functions inherited from OpalElement | |
OpalElement (int size, const char *name, const char *help) | |
Exemplar constructor. More... | |
OpalElement (const std::string &name, OpalElement *parent) | |
Clone constructor. More... | |
void | registerOwnership () const |
Protected Member Functions inherited from Element | |
Element (int size, const char *name, const char *help) | |
Constructor for exemplars. More... | |
Element (const std::string &name, Element *parent) | |
Constructor for clones. More... | |
Protected Member Functions inherited from Object | |
Object (int size, const char *name, const char *help) | |
Constructor for exemplars. More... | |
Object (const std::string &name, Object *parent) | |
Constructor for clones. More... | |
Protected Member Functions inherited from RCObject | |
RCObject () | |
Default constructor. More... | |
RCObject (const RCObject &) | |
Copy constructor. More... | |
virtual | ~RCObject ()=0 |
RCObject & | operator= (const RCObject &right) |
Static Protected Member Functions inherited from OpalElement | |
static void | printMultipoleStrength (std::ostream &os, int order, int &len, const std::string &sName, const std::string &tName, const Attribute &length, const Attribute &vNorm, const Attribute &vSkew) |
Print multipole components in OPAL-8 format. More... | |
static void | printAttribute (std::ostream &os, const std::string &name, const std::string &image, int &len) |
Print an attribute with a OPAL-8 name (as an expression). More... | |
static void | printAttribute (std::ostream &os, const std::string &name, double value, int &len) |
Print an attribute with a OPAL-8 name (as a constant). More... | |
Protected Attributes inherited from Object | |
bool | builtin |
Built-in flag. More... | |
bool | modified |
Dirty flag. More... | |
bool | flagged |
Object flag. More... | |
OpalRingDefinition provides UI wrapper for the Ring
OpalRingDefinition provides User Interface wrapper information for the Ring. Enables definition of lattice and beam centroid parameters.
Definition at line 41 of file OpalRingDefinition.h.
anonymous enum |
Enumeration maps to UI parameters
Enumerator | |
---|---|
LAT_RINIT | |
LAT_PHIINIT | |
LAT_THETAINIT | |
BEAM_RINIT | |
BEAM_PHIINIT | |
BEAM_PRINIT | |
HARMONIC_NUMBER | |
SYMMETRY | |
SCALE | |
RFFREQ | |
IS_CLOSED | |
MIN_R | |
MAX_R | |
SIZE |
Definition at line 44 of file OpalRingDefinition.h.
OpalRingDefinition::OpalRingDefinition | ( | ) |
Define mapping from enum variables to string UI parameter names
Definition at line 36 of file OpalRingDefinition.cpp.
References BEAM_PHIINIT, BEAM_PRINIT, BEAM_RINIT, HARMONIC_NUMBER, IS_CLOSED, Object::itsAttr, LAT_PHIINIT, LAT_RINIT, LAT_THETAINIT, Attributes::makeBool(), Attributes::makeReal(), MAX_R, MIN_R, OpalElement::registerOwnership(), RFFREQ, SCALE, Element::setElement(), and SYMMETRY.
Referenced by clone().
|
virtual |
No memory allocated so does nothing
Definition at line 85 of file OpalRingDefinition.cpp.
|
private |
|
private |
Definition at line 80 of file OpalRingDefinition.cpp.
References name, and Element::setElement().
|
virtual |
Inherited copy constructor
Implements Object.
Definition at line 72 of file OpalRingDefinition.cpp.
References name, and OpalRingDefinition().
|
private |
|
virtual |
Calls print on the OpalElement
Reimplemented from OpalElement.
Definition at line 76 of file OpalRingDefinition.cpp.
References OpalElement::print().
|
virtual |
Receive parameters from the parser and hand them off to the Ring
Reimplemented from OpalElement.
Definition at line 87 of file OpalRingDefinition.cpp.
References BEAM_PHIINIT, BEAM_PRINIT, BEAM_RINIT, Units::deg2rad, Attributes::getBool(), Element::getElement(), Attributes::getReal(), HARMONIC_NUMBER, IS_CLOSED, Object::itsAttr, LAT_PHIINIT, LAT_RINIT, LAT_THETAINIT, Units::m2mm, MAX_R, MIN_R, RFFREQ, SCALE, Ring::setBeamPhiInit(), Ring::setBeamPRInit(), Ring::setBeamRInit(), Element::setElement(), Ring::setHarmonicNumber(), Ring::setIsClosed(), Ring::setLatticePhiInit(), Ring::setLatticeRInit(), Ring::setLatticeThetaInit(), Ring::setRFFreq(), Ring::setRingAperture(), Ring::setScale(), Ring::setSymmetry(), and SYMMETRY.