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 } |
![]() | |
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... | |
![]() | |
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 |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
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 |
![]() | |
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 Element * | find (const std::string &name) |
Find named Element. More... | |
![]() | |
std::vector< Attribute > | itsAttr |
The object attributes. More... | |
![]() | |
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 |
![]() | |
Element (int size, const char *name, const char *help) | |
Constructor for exemplars. More... | |
Element (const std::string &name, Element *parent) | |
Constructor for clones. More... | |
![]() | |
Object (int size, const char *name, const char *help) | |
Constructor for exemplars. More... | |
Object (const std::string &name, Object *parent) | |
Constructor for clones. More... | |
![]() | |
RCObject () | |
Default constructor. More... | |
RCObject (const RCObject &) | |
Copy constructor. More... | |
virtual | ~RCObject ()=0 |
RCObject & | operator= (const RCObject &right) |
![]() | |
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... | |
![]() | |
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.