OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
OpalCyclotron Class Reference

#include <OpalCyclotron.h>

Inheritance diagram for OpalCyclotron:
Inheritance graph
[legend]
Collaboration diagram for OpalCyclotron:
Collaboration graph
[legend]

Public Types

enum  {
  GEOMETRY = COMMON , CYHARMON , SYMMETRY , RINIT ,
  PRINIT , PHIINIT , ZINIT , PZINIT ,
  RFFREQ , FMAPFN , RFMAPFN , RFFCFN ,
  RFVCFN , BSCALE , ESCALE , RFPHI ,
  SUPERPOSE , MINZ , MAXZ , MINR ,
  MAXR , FMLOWE , FMHIGHE , SPIRAL ,
  TRIMCOILTHRESHOLD , TRIMCOIL , SIZE
}
 The attributes of class OpalCyclotron. More...
 
- 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

 OpalCyclotron ()
 
virtual ~OpalCyclotron ()
 
virtual OpalCyclotronclone (const std::string &name)
 Make clone. More...
 
virtual void update ()
 Update the embedded CLASSIC cavity. More...
 
- 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...
 
ElementBasegetElement () 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 Objectclone (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 AttributefindAttribute (const std::string &name)
 Find an attribute by name. More...
 
virtual const AttributefindAttribute (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 ObjectmakeTemplate (const std::string &, TokenStream &, Statement &)
 Macro handler function. More...
 
virtual ObjectmakeInstance (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 ObjectgetBaseObject () const
 Return the object's base type object. More...
 
const std::string & getOpalName () const
 Return object name. More...
 
ObjectgetParent () 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

 OpalCyclotron (const OpalCyclotron &)
 
void operator= (const OpalCyclotron &)
 
 OpalCyclotron (const std::string &name, OpalCyclotron *parent)
 

Private Attributes

BoundaryGeometryobgeo_m
 

Additional Inherited Members

- Static Public Member Functions inherited from Element
static Elementfind (const std::string &name)
 Find named Element. More...
 
- Public Attributes inherited from Object
std::vector< AttributeitsAttr
 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
 
RCObjectoperator= (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...
 

Detailed Description

Definition at line 25 of file OpalCyclotron.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

The attributes of class OpalCyclotron.

Enumerator
GEOMETRY 
CYHARMON 
SYMMETRY 
RINIT 
PRINIT 
PHIINIT 
ZINIT 
PZINIT 
RFFREQ 
FMAPFN 
RFMAPFN 
RFFCFN 
RFVCFN 
BSCALE 
ESCALE 
RFPHI 
SUPERPOSE 
MINZ 
MAXZ 
MINR 
MAXR 
FMLOWE 
FMHIGHE 
SPIRAL 
TRIMCOILTHRESHOLD 
TRIMCOIL 
SIZE 

Definition at line 30 of file OpalCyclotron.h.

Constructor & Destructor Documentation

◆ OpalCyclotron() [1/3]

OpalCyclotron::OpalCyclotron ( )

◆ ~OpalCyclotron()

OpalCyclotron::~OpalCyclotron ( )
virtual

Definition at line 126 of file OpalCyclotron.cpp.

◆ OpalCyclotron() [2/3]

OpalCyclotron::OpalCyclotron ( const OpalCyclotron )
private

◆ OpalCyclotron() [3/3]

OpalCyclotron::OpalCyclotron ( const std::string &  name,
OpalCyclotron parent 
)
private

Definition at line 119 of file OpalCyclotron.cpp.

References name, and Element::setElement().

Here is the call graph for this function:

Member Function Documentation

◆ clone()

OpalCyclotron * OpalCyclotron::clone ( const std::string &  name)
virtual

Make clone.

Implements Object.

Definition at line 130 of file OpalCyclotron.cpp.

References name, and OpalCyclotron().

Here is the call graph for this function:

◆ operator=()

void OpalCyclotron::operator= ( const OpalCyclotron )
private

◆ update()

void OpalCyclotron::update ( )
virtual

Update the embedded CLASSIC cavity.

Reimplemented from OpalElement.

Definition at line 135 of file OpalCyclotron.cpp.

References BSCALE, CYHARMON, ESCALE, OpalTrimCoil::find(), BoundaryGeometry::find(), FMAPFN, FMHIGHE, FMLOWE, GEOMETRY, Attributes::getBool(), Attributes::getBoolArray(), Element::getElement(), Attributes::getReal(), Attributes::getRealArray(), Attributes::getString(), Attributes::getStringArray(), Units::GeV2MeV, OpalTrimCoil::initOpalTrimCoil(), Object::itsAttr, MAXR, MAXZ, MINR, MINZ, obgeo_m, OpalElement::OUTFN, PHIINIT, PRINIT, PZINIT, RFFCFN, RFFREQ, RFMAPFN, RFPHI, RFVCFN, RINIT, ElementBase::setBoundaryGeometry(), Cyclotron::setBScale(), Cyclotron::setCyclHarm(), Cyclotron::setCyclotronType(), Cyclotron::setEScale(), Cyclotron::setFieldMapFN(), Cyclotron::setFMHighE(), Cyclotron::setFMLowE(), Cyclotron::setMaxR(), Cyclotron::setMaxZ(), Cyclotron::setMinR(), Cyclotron::setMinZ(), ElementBase::setOutputFN(), Cyclotron::setPHIinit(), Cyclotron::setPRinit(), Cyclotron::setPZinit(), Cyclotron::setRFFCoeffFN(), Cyclotron::setRfFieldMapFN(), Cyclotron::setRfFrequ(), Cyclotron::setRfPhi(), Cyclotron::setRFVCoeffFN(), Cyclotron::setRinit(), Cyclotron::setSpiralFlag(), Cyclotron::setSuperpose(), Cyclotron::setSymmetry(), Cyclotron::setTrimCoils(), Cyclotron::setTrimCoilThreshold(), Cyclotron::setZinit(), SPIRAL, SUPERPOSE, SYMMETRY, TRIMCOIL, OpalTrimCoil::trimcoil_m, TRIMCOILTHRESHOLD, OpalElement::TYPE, OpalElement::updateUnknown(), and ZINIT.

Here is the call graph for this function:

Member Data Documentation

◆ obgeo_m

BoundaryGeometry* OpalCyclotron::obgeo_m
private

Definition at line 79 of file OpalCyclotron.h.

Referenced by update().


The documentation for this class was generated from the following files: