OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
OpalTravelingWave Class Reference

#include <OpalTravelingWave.h>

Inheritance diagram for OpalTravelingWave:
Inheritance graph
Collaboration diagram for OpalTravelingWave:
Collaboration graph

Public Types

enum  {
  VOLT = COMMON , DVOLT , FREQ , LAG ,
  DLAG , FMAPFN , APVETO , FAST ,
  NUMCELLS , DESIGNENERGY , MODE , SIZE
}
 The attributes of class OpalTravelingWave. More...
 
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

 OpalTravelingWave ()
 Exemplar constructor. More...
 
virtual ~OpalTravelingWave ()
 
virtual OpalTravelingWaveclone (const std::string &name)
 Make clone. More...
 
virtual void update ()
 Update the embedded CLASSIC cavity. More...
 
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 updateUnknown (ElementBase *)
 Transmit the `‘unknown’' (not known to OPAL) attributes to CLASSIC. More...
 
void registerOwnership (const AttributeHandler::OwnerType &itsClass) const
 
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 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...
 
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 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 parseShortcut (Statement &, bool eval=true)
 Parser for single-attribute commands. 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...
 
bool isBuiltin () const
 True, if [b]this[/b] is a built-in object. More...
 
virtual bool isShared () const
 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...
 
int addReference () const
 Increment reference count. More...
 
int removeReference () const
 Decrement the reference count. More...
 

Static Public Member Functions

static Elementfind (const std::string &name)
 Find named Element. More...
 

Public Attributes

std::vector< AttributeitsAttr
 The object attributes. More...
 

Protected Member Functions

void registerOwnership () const
 

Static Protected Member Functions

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

bool builtin
 Built-in flag. More...
 
bool modified
 Dirty flag. More...
 
bool flagged
 Object flag. More...
 

Private Member Functions

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

Private Attributes

OpalWakeowk_m
 
int itsSize
 
Pointer< ElementBaseitsClassicElement
 
ObjectitsParent
 
std::string itsName
 
std::string itsHelp
 
int occurrence
 
double timeStamp
 
std::set< Invalidator * > references
 
bool sharedFlag
 
int refCount
 

Detailed Description

Definition at line 25 of file OpalTravelingWave.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
inherited

The common attributes for all elements.

Enumerator
TYPE 
APERT 
LENGTH 
ELEMEDGE 
WAKEF 
PARTICLEMATTERINTERACTION 
ORIGIN 
ORIENTATION 
THETA 
PHI 
PSI 
DX 
DY 
DZ 
DTHETA 
DPHI 
DPSI 
OUTFN 
DELETEONTRANSVERSEEXIT 
COMMON 

Definition at line 33 of file OpalElement.h.

◆ anonymous enum

anonymous enum

The attributes of class OpalTravelingWave.

Enumerator
VOLT 
DVOLT 
FREQ 
LAG 
DLAG 
FMAPFN 
APVETO 
FAST 
NUMCELLS 
DESIGNENERGY 
MODE 
SIZE 

Definition at line 30 of file OpalTravelingWave.h.

◆ ReferenceType

enum Element::ReferenceType
inherited

Reference for element positioning.

Enumerator
IS_ENTRY 
IS_CENTRE 
IS_EXIT 

Definition at line 44 of file Element.h.

Constructor & Destructor Documentation

◆ OpalTravelingWave() [1/3]

OpalTravelingWave::OpalTravelingWave ( )

Exemplar constructor.

Definition at line 26 of file OpalTravelingWave.cpp.

References APVETO, DESIGNENERGY, DLAG, DVOLT, FAST, FMAPFN, FREQ, Object::itsAttr, LAG, Attributes::makeBool(), Attributes::makeReal(), Attributes::makeString(), MODE, NUMCELLS, OpalElement::registerOwnership(), Element::setElement(), and VOLT.

Referenced by clone().

Here is the call graph for this function:

◆ ~OpalTravelingWave()

OpalTravelingWave::~OpalTravelingWave ( )
virtual

Definition at line 66 of file OpalTravelingWave.cpp.

References owk_m.

◆ OpalTravelingWave() [2/3]

OpalTravelingWave::OpalTravelingWave ( const OpalTravelingWave )
private

◆ OpalTravelingWave() [3/3]

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

Definition at line 59 of file OpalTravelingWave.cpp.

References name, and Element::setElement().

Here is the call graph for this function:

Member Function Documentation

◆ addReference()

int RCObject::addReference ( ) const
inlineinherited

Increment reference count.

Definition at line 83 of file RCObject.h.

References RCObject::refCount.

Referenced by Pointer< Object >::operator=(), and Pointer< Object >::unique().

◆ canReplaceBy()

bool Element::canReplaceBy ( Object object)
virtualinherited

Test if replacement is allowed.

Reimplemented from Object.

Definition at line 40 of file Element.cpp.

◆ clear()

void Object::clear ( )
inherited

Clear the occurrence counter.

Definition at line 341 of file Object.cpp.

References Object::occurrence.

Referenced by FieldSolver::initSolver().

◆ clone()

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

Make clone.

Implements Object.

Definition at line 71 of file OpalTravelingWave.cpp.

References name, and OpalTravelingWave().

Referenced by update().

Here is the call graph for this function:

◆ copyAttributes()

void Object::copyAttributes ( const Object source)
inherited

Copy attributes from another object.

Definition at line 54 of file Object.cpp.

References Object::itsAttr.

Referenced by SequenceTemplate::makeInstance(), and LineTemplate::makeInstance().

◆ execute()

◆ find()

Element * Element::find ( const std::string &  name)
staticinherited

◆ findAttribute() [1/2]

◆ findAttribute() [2/2]

const Attribute * Object::findAttribute ( const std::string &  name) const
virtualinherited

Find an attribute by name.

Definition at line 74 of file Object.cpp.

References Object::itsAttr, and name.

◆ getApert()

std::pair< ApertureType, std::vector< double > > OpalElement::getApert ( ) const
inherited

Definition at line 136 of file OpalElement.cpp.

References OpalElement::APERT, CONIC_ELLIPTICAL, CONIC_RECTANGULAR, ELLIPTICAL, Attributes::getString(), Object::itsAttr, and RECTANGULAR.

Referenced by OpalElement::update().

Here is the call graph for this function:

◆ getBaseObject()

const Object * Object::getBaseObject ( ) const
inherited

Return the object's base type object.

Definition at line 303 of file Object.cpp.

References Object::itsParent.

◆ getCategory()

const std::string Element::getCategory ( ) const
virtualinherited

Return the object category as a string.

Implements Object.

Reimplemented in BeamSequence.

Definition at line 56 of file Element.cpp.

◆ getElement()

ElementBase * Element::getElement ( ) const
inlineinherited

Return the embedded CLASSIC element.

Definition at line 120 of file Element.h.

References Element::itsClassicElement.

Referenced by Sequence::addEndMarkers(), Line::fetchLine(), Sequence::fetchLine(), OpalMarker::OpalMarker(), OpalOutputPlane::OpalOutputPlane(), OpalVariableRFCavity::OpalVariableRFCavity(), OpalVariableRFCavityFringeField::OpalVariableRFCavityFringeField(), Line::parse(), Line::replace(), Sequence::replace(), PyOpal::PyLine_< C >::setElement(), OpalScalingFFAMagnet::setupDefaultEndField(), OpalScalingFFAMagnet::setupNamedEndField(), OpalCavity::update(), OpalCCollimator::update(), OpalCyclotron::update(), OpalDegrader::update(), OpalDrift::update(), OpalECollimator::update(), OpalElement::update(), OpalFlexibleCollimator::update(), OpalHKicker::update(), OpalKicker::update(), OpalMarker::update(), OpalMonitor::update(), OpalMultipole::update(), OpalOctupole::update(), OpalOffset::OpalLocalCartesianOffset::update(), OpalOutputPlane::update(), OpalPepperPot::update(), OpalProbe::update(), OpalQuadrupole::update(), OpalRBend::update(), OpalRBend3D::update(), OpalRCollimator::update(), OpalRingDefinition::update(), OpalSBend::update(), OpalSBend3D::update(), OpalScalingFFAMagnet::update(), OpalSeptum::update(), OpalSextupole::update(), OpalSlit::update(), OpalSolenoid::update(), OpalSource::update(), OpalStripper::update(), update(), OpalUndulator::update(), OpalVacuum::update(), OpalVariableRFCavity::update(), OpalVariableRFCavityFringeField::update(), OpalVerticalFFAMagnet::update(), OpalVKicker::update(), and OpalMultipoleT::update().

◆ getEntrance()

double Element::getEntrance ( ReferenceType  ref) const
virtualinherited

Return arc length from origin to entrance (negative !).

Reimplemented in Sequence.

Definition at line 71 of file Element.cpp.

References Element::getLength(), Element::IS_CENTRE, Element::IS_EXIT, and Hypervolume::ref.

Referenced by Sequence::findDriftLength(), and Sequence::getEntrance().

Here is the call graph for this function:

◆ getExit()

double Element::getExit ( ReferenceType  ref) const
virtualinherited

Return arc length from origin to exit (positive !).

Reimplemented in Sequence.

Definition at line 86 of file Element.cpp.

References Element::getLength(), Element::IS_CENTRE, Element::IS_ENTRY, and Hypervolume::ref.

Referenced by Sequence::findDriftLength(), and Sequence::getExit().

Here is the call graph for this function:

◆ getLength()

double OpalElement::getLength ( ) const
virtualinherited

Return element length.

Implements Element.

Definition at line 290 of file OpalElement.cpp.

References Attributes::getReal(), Object::itsAttr, and OpalElement::LENGTH.

Referenced by OpalMultipole::update().

Here is the call graph for this function:

◆ getOpalName()

const std::string & Object::getOpalName ( ) const
inherited

Return object name.

Definition at line 310 of file Object.cpp.

References Object::itsName.

Referenced by OpalOffset::OpalLocalCartesianOffset::clone(), OpalVariableRFCavity::clone(), OpalVariableRFCavityFringeField::clone(), Macro::clone(), OpalData::create(), OpalData::define(), ParallelCyclotronTracker::execute(), Sequence::findDriftLength(), SequenceParser::findNeighbourPositions(), ValueDefinition::getBool(), ValueDefinition::getBoolComponent(), ValueDefinition::getReal(), ValueDefinition::getRealComponent(), ValueDefinition::getString(), ValueDefinition::getStringComponent(), ParticleMatterInteraction::initParticleMatterInteractionHandler(), OpalWake::initWakefunction(), List::list(), Object::makeInstance(), SequenceTemplate::makeInstance(), LineTemplate::makeInstance(), Object::parse(), SequenceParser::parseMember(), SequenceParser::parsePosition(), OpalTrimCoil::print(), Object::print(), OpalElement::print(), Sequence::print(), BoolConstant::print(), RealConstant::print(), RealVariable::print(), RealVector::print(), StringConstant::print(), Beam::print(), OpalWake::print(), ParticleMatterInteraction::print(), OpalFilter::print(), Line::print(), BoundaryGeometry::printInfo(), FieldSolver::printInfo(), OpalElement::registerOwnership(), Object::registerOwnership(), Line::replace(), Sequence::replace(), OpalScalingFFAMagnet::setupDefaultEndField(), OpalTrimCoil::update(), OpalAsymmetricEnge::update(), OpalCavity::update(), OpalDrift::update(), OpalECollimator::update(), OpalEnge::update(), OpalFlexibleCollimator::update(), OpalOffset::OpalGlobalCartesianOffset::update(), OpalOffset::OpalGlobalCylindricalOffset::update(), OpalOffset::OpalLocalCartesianOffset::update(), OpalOffset::OpalLocalCylindricalOffset::update(), OpalPepperPot::update(), OpalPolynomialTimeDependence::update(), OpalProbe::update(), OpalRBend::update(), OpalRBend3D::update(), OpalRCollimator::update(), OpalSBend::update(), OpalSeptum::update(), OpalSlit::update(), update(), Beam::update(), BoundaryGeometry::update(), OpalWake::update(), ParticleMatterInteraction::update(), OpalFilter::update(), OpalSinusoidalTimeDependence::update(), OpalSplineTimeDependence::update(), and Distribution::writeOutFileHeader().

◆ getParent()

Object * Object::getParent ( ) const
inherited

Return parent pointer.

Definition at line 315 of file Object.cpp.

References Object::itsParent.

Referenced by OpalData::erase(), Object::print(), OpalElement::print(), OpalElement::registerOwnership(), and Object::registerOwnership().

◆ getParticleMatterInteraction()

const std::string OpalElement::getParticleMatterInteraction ( ) const
inherited

Definition at line 308 of file OpalElement.cpp.

References Object::findAttribute(), and Attributes::getString().

Here is the call graph for this function:

◆ getTypeName()

const std::string OpalElement::getTypeName ( ) const
inherited

Return the element's type name.

Definition at line 295 of file OpalElement.cpp.

References Object::findAttribute(), and Attributes::getString().

Referenced by Selector::handleElement().

Here is the call graph for this function:

◆ getWakeConductivity()

const std::string OpalElement::getWakeConductivity ( ) const
inherited

◆ getWakeF()

const std::string OpalElement::getWakeF ( ) const
inherited

Return the element's type name.

Functions to get the wake field parametes.

Definition at line 303 of file OpalElement.cpp.

References Object::findAttribute(), and Attributes::getString().

Here is the call graph for this function:

◆ getWakeGeom()

const std::string OpalElement::getWakeGeom ( ) const
inherited

◆ getWakeParam()

std::vector< double > OpalElement::getWakeParam ( ) const
inherited

◆ getWMaterial()

const std::string OpalElement::getWMaterial ( ) const
inherited

◆ increment()

int Object::increment ( )
inherited

Increment and return the occurrence counter.

Definition at line 346 of file Object.cpp.

References Object::occurrence.

Referenced by Line::parse(), and Sequence::storeLine().

◆ isBuiltin()

bool Object::isBuiltin ( ) const
inherited

True, if [b]this[/b] is a built-in object.

Definition at line 268 of file Object.cpp.

References Object::builtin.

Referenced by OpalData::define(), and OpalData::getVariableNames().

◆ isDirty()

bool Object::isDirty ( ) const
inherited

True, if the [b]modified[/b] flag is set.

Definition at line 289 of file Object.cpp.

References Object::modified.

◆ isFlagged()

bool Object::isFlagged ( ) const
inherited

True, if [b]this[/b] is flagged by setFlag(true).

Definition at line 299 of file Object.cpp.

References Object::flagged.

◆ isShared()

bool Object::isShared ( ) const
virtualinherited

Shared flag.

Definition at line 273 of file Object.cpp.

References Object::sharedFlag.

Referenced by Sequence::print().

◆ isTreeMember()

bool Object::isTreeMember ( const Object subTree) const
inherited

Test for tree membership.

Definition at line 320 of file Object.cpp.

References Object::itsParent.

Referenced by Selector::handleElement(), and OpalParser::parseAssign().

◆ makeInstance()

Object * Object::makeInstance ( const std::string &  name,
Statement ,
const Parser  
)
virtualinherited

Macro handler function.

Reimplemented in SequenceTemplate, MacroCmd, and LineTemplate.

Definition at line 91 of file Object.cpp.

References Object::getOpalName().

Referenced by OpalParser::parseDefine(), Line::parseList(), OpalParser::parseMacro(), and SequenceParser::parseMember().

Here is the call graph for this function:

◆ makeTemplate()

Object * Object::makeTemplate ( const std::string &  name,
TokenStream ,
Statement  
)
virtualinherited

Macro handler function.

Reimplemented in LineTemplate, Sequence, MacroCmd, SequenceTemplate, and Line.

Definition at line 84 of file Object.cpp.

References name.

Referenced by OpalParser::parseMacro().

◆ occurrenceCount()

int Object::occurrenceCount ( )
inherited

Return the occurrence counter.

Definition at line 351 of file Object.cpp.

References Object::occurrence.

◆ operator=()

void OpalTravelingWave::operator= ( const OpalTravelingWave )
private

◆ parse()

void OpalElement::parse ( Statement stat)
virtualinherited

◆ parseShortcut()

void Object::parseShortcut ( Statement stat,
bool  eval = true 
)
virtualinherited

Parser for single-attribute commands.

Definition at line 129 of file Object.cpp.

References Statement::delimiter(), Object::findAttribute(), Statement::mark(), name, and Statement::word().

Referenced by Call::parse(), Echo::parse(), Help::parse(), PSystem::parse(), System::parse(), Title::parse(), and Value::parse().

Here is the call graph for this function:

◆ print()

◆ printAttribute() [1/2]

void OpalElement::printAttribute ( std::ostream &  os,
const std::string &  name,
const std::string &  image,
int &  len 
)
staticprotectedinherited

Print an attribute with a OPAL-8 name (as an expression).

Definition at line 575 of file OpalElement.cpp.

References name.

Referenced by OpalElement::printAttribute(), and OpalElement::printMultipoleStrength().

◆ printAttribute() [2/2]

void OpalElement::printAttribute ( std::ostream &  os,
const std::string &  name,
double  value,
int &  len 
)
staticprotectedinherited

Print an attribute with a OPAL-8 name (as a constant).

Definition at line 587 of file OpalElement.cpp.

References name, and OpalElement::printAttribute().

Here is the call graph for this function:

◆ printHelp()

void Object::printHelp ( std::ostream &  ) const
virtualinherited

Print help.

Definition at line 201 of file Object.cpp.

References endl(), gmsg, Object::itsAttr, Object::itsHelp, max(), and name.

Referenced by Help::execute().

Here is the call graph for this function:

◆ printMultipoleStrength()

void OpalElement::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 
)
staticprotectedinherited

Print multipole components in OPAL-8 format.

Definition at line 363 of file OpalElement.cpp.

References atan2(), Attribute::getBase(), Attribute::getImage(), Attributes::getReal(), AttributeBase::isExpression(), Physics::pi, OpalElement::printAttribute(), and sqrt().

Here is the call graph for this function:

◆ printValue()

void Object::printValue ( std::ostream &  os) const
inlinevirtualinherited

Reimplemented in BoolConstant, RealConstant, RealVariable, RealVector, and StringConstant.

Definition at line 280 of file Object.h.

References Object::print().

Here is the call graph for this function:

◆ registerOwnership() [1/2]

void OpalElement::registerOwnership ( ) const
protectedinherited

Definition at line 595 of file OpalElement.cpp.

References AttributeHandler::addAttributeOwner(), OpalElement::COMMON, AttributeHandler::ELEMENT, end(), Object::getOpalName(), Object::getParent(), Object::itsAttr, OpalElement::itsSize, and name.

Referenced by OpalAsymmetricEnge::OpalAsymmetricEnge(), OpalCavity::OpalCavity(), OpalCCollimator::OpalCCollimator(), OpalCyclotron::OpalCyclotron(), OpalDegrader::OpalDegrader(), OpalDrift::OpalDrift(), OpalECollimator::OpalECollimator(), OpalEnge::OpalEnge(), OpalFlexibleCollimator::OpalFlexibleCollimator(), OpalOffset::OpalGlobalCartesianOffset::OpalGlobalCartesianOffset(), OpalOffset::OpalGlobalCylindricalOffset::OpalGlobalCylindricalOffset(), OpalHKicker::OpalHKicker(), OpalKicker::OpalKicker(), OpalOffset::OpalLocalCartesianOffset::OpalLocalCartesianOffset(), OpalOffset::OpalLocalCylindricalOffset::OpalLocalCylindricalOffset(), OpalMonitor::OpalMonitor(), OpalMultipole::OpalMultipole(), OpalMultipoleT::OpalMultipoleT(), OpalOctupole::OpalOctupole(), OpalOutputPlane::OpalOutputPlane(), OpalPepperPot::OpalPepperPot(), OpalPolynomialTimeDependence::OpalPolynomialTimeDependence(), OpalProbe::OpalProbe(), OpalQuadrupole::OpalQuadrupole(), OpalRBend::OpalRBend(), OpalRBend3D::OpalRBend3D(), OpalRCollimator::OpalRCollimator(), OpalRingDefinition::OpalRingDefinition(), OpalSBend::OpalSBend(), OpalSBend3D::OpalSBend3D(), OpalScalingFFAMagnet::OpalScalingFFAMagnet(), OpalSeptum::OpalSeptum(), OpalSextupole::OpalSextupole(), OpalSinusoidalTimeDependence::OpalSinusoidalTimeDependence(), OpalSlit::OpalSlit(), OpalSolenoid::OpalSolenoid(), OpalSource::OpalSource(), OpalSplineTimeDependence::OpalSplineTimeDependence(), OpalStripper::OpalStripper(), OpalTravelingWave(), OpalUndulator::OpalUndulator(), OpalVacuum::OpalVacuum(), OpalVariableRFCavity::OpalVariableRFCavity(), OpalVariableRFCavityFringeField::OpalVariableRFCavityFringeField(), OpalVerticalFFAMagnet::OpalVerticalFFAMagnet(), and OpalVKicker::OpalVKicker().

Here is the call graph for this function:

◆ registerOwnership() [2/2]

◆ registerReference()

void Object::registerReference ( Invalidator a)
inherited

Register a reference to this object.

Definition at line 182 of file Object.cpp.

References Hypervolume::ref, and Object::references.

◆ removeReference()

int RCObject::removeReference ( ) const
inlineinherited

Decrement the reference count.

Definition at line 88 of file RCObject.h.

References RCObject::refCount.

◆ replace()

void Object::replace ( Object oldObject,
Object newObject 
)
virtualinherited

Replace references.

Reimplemented in Line, and Sequence.

Definition at line 258 of file Object.cpp.

◆ setDirty()

void Object::setDirty ( bool  dirty)
inherited

Set/reset the [b]modified[/b] flag.

Definition at line 283 of file Object.cpp.

References Object::modified.

Referenced by OpalData::define(), OpalData::makeDirty(), and RealVariable::RealVariable().

◆ setElement()

void Element::setElement ( ElementBase base)
inlineinherited

Assign new CLASSIC element.

Definition at line 125 of file Element.h.

References Element::itsClassicElement.

Referenced by Line::Line(), OpalCavity::OpalCavity(), OpalCCollimator::OpalCCollimator(), OpalCyclotron::OpalCyclotron(), OpalDegrader::OpalDegrader(), OpalDrift::OpalDrift(), OpalECollimator::OpalECollimator(), OpalFlexibleCollimator::OpalFlexibleCollimator(), OpalHKicker::OpalHKicker(), OpalKicker::OpalKicker(), OpalOffset::OpalLocalCartesianOffset::OpalLocalCartesianOffset(), OpalMarker::OpalMarker(), OpalMonitor::OpalMonitor(), OpalMultipole::OpalMultipole(), OpalMultipoleT::OpalMultipoleT(), OpalOctupole::OpalOctupole(), OpalOutputPlane::OpalOutputPlane(), OpalPepperPot::OpalPepperPot(), OpalProbe::OpalProbe(), OpalQuadrupole::OpalQuadrupole(), OpalRBend::OpalRBend(), OpalRBend3D::OpalRBend3D(), OpalRCollimator::OpalRCollimator(), OpalRingDefinition::OpalRingDefinition(), OpalSBend::OpalSBend(), OpalSBend3D::OpalSBend3D(), OpalScalingFFAMagnet::OpalScalingFFAMagnet(), OpalSeptum::OpalSeptum(), OpalSextupole::OpalSextupole(), OpalSlit::OpalSlit(), OpalSolenoid::OpalSolenoid(), OpalSource::OpalSource(), OpalStripper::OpalStripper(), OpalTravelingWave(), OpalUndulator::OpalUndulator(), OpalVacuum::OpalVacuum(), OpalVariableRFCavity::OpalVariableRFCavity(), OpalVariableRFCavityFringeField::OpalVariableRFCavityFringeField(), OpalVerticalFFAMagnet::OpalVerticalFFAMagnet(), OpalVKicker::OpalVKicker(), PyOpal::PyLine_< C >::registerObject(), Sequence::Sequence(), OpalOffset::OpalGlobalCartesianOffset::update(), OpalOffset::OpalGlobalCylindricalOffset::update(), OpalOffset::OpalLocalCartesianOffset::update(), OpalOffset::OpalLocalCylindricalOffset::update(), OpalRingDefinition::update(), OpalSBend3D::update(), OpalScalingFFAMagnet::update(), OpalVariableRFCavity::update(), OpalVariableRFCavityFringeField::update(), OpalVerticalFFAMagnet::update(), and Replacer::visitFlaggedElmPtr().

◆ setFlag()

void Object::setFlag ( bool  flag)
inherited

Flag/unflag this object, e. g. to control output of objects for.

Definition at line 294 of file Object.cpp.

References Object::flagged.

◆ setOpalName()

void Object::setOpalName ( const std::string &  name)
inherited

◆ setParent()

void Object::setParent ( Object parent)
inherited

Set parent object.

Definition at line 336 of file Object.cpp.

References Object::itsParent.

Referenced by OpalData::erase().

◆ setShared()

void Element::setShared ( bool  flag)
virtualinherited

Set shared flag.

Reimplemented from Object.

Definition at line 101 of file Element.cpp.

References Element::itsClassicElement, ElementBase::makeSharable(), and Object::setShared().

Here is the call graph for this function:

◆ shouldTrace()

bool Element::shouldTrace ( ) const
virtualinherited

Trace flag.

Implements Object.

Definition at line 61 of file Element.cpp.

◆ shouldUpdate()

bool Element::shouldUpdate ( ) const
virtualinherited

Update flag.

Implements Object.

Definition at line 66 of file Element.cpp.

◆ unregisterReference()

void Object::unregisterReference ( Invalidator a)
inherited

Unegister a reference to this object.

Definition at line 187 of file Object.cpp.

References Hypervolume::ref, and Object::references.

◆ update()

◆ updateUnknown()

Member Data Documentation

◆ builtin

◆ flagged

bool Object::flagged
protectedinherited

Object flag.

Definition at line 242 of file Object.h.

Referenced by Object::isFlagged(), Object::Object(), and Object::setFlag().

◆ itsAttr

std::vector<Attribute> Object::itsAttr
inherited

The object attributes.

Definition at line 216 of file Object.h.

Referenced by Distribution::adjustPhaseSpace(), Beam::Beam(), BoolConstant::BoolConstant(), BoundaryGeometry::BoundaryGeometry(), DumpEMFields::buildGrid(), DumpFields::buildGrid(), Distribution::calcPartPerDist(), Call::Call(), Distribution::checkEmissionParameters(), Distribution::checkIfEmitted(), Distribution::chooseInputMomentumUnits(), Constraint::Constraint(), Object::copyAttributes(), Distribution::create(), Distribution::createDistributionFromFile(), Distribution::createDistributionMultiGauss(), Distribution::createMatchedGaussDistribution(), Distribution::createOpalT(), DumpEMFields::DumpEMFields(), DumpFields::DumpFields(), DVar::DVar(), Echo::Echo(), Call::execute(), Echo::execute(), Help::execute(), Option::execute(), PSystem::execute(), Select::execute(), System::execute(), Title::execute(), Value::execute(), OptimizeCmd::execute(), SampleCmd::execute(), Beam::execute(), List::execute(), TrackCmd::execute(), TrackRun::execute(), FieldSolver::FieldSolver(), Object::findAttribute(), Distribution::generateAstraFlattopT(), Distribution::generateBinomial(), Distribution::generateFlattopLaserProfile(), Distribution::generateFlattopT(), Distribution::generateFlattopZ(), Distribution::generateGaussZ(), Distribution::generateLongFlattopT(), Distribution::generateMatchedGauss(), Distribution::generateTransverseGauss(), BoundaryGeometry::getA(), OpalElement::getApert(), BoundaryGeometry::getB(), BoolConstant::getBool(), BoundaryGeometry::getC(), Beam::getCharge(), Beam::getCurrent(), TrackCmd::getDT(), TrackCmd::getDTAU(), TrackCmd::getDTSCINIT(), Distribution::getEmissionTimeShift(), Constraint::getExpression(), Objective::getExpression(), BoundaryGeometry::getFilename(), Beam::getFrequency(), ParticleMatterInteraction::getInteractionType(), BoundaryGeometry::getL1(), BoundaryGeometry::getL2(), BoundaryGeometry::getLength(), OpalElement::getLength(), Line::getLength(), Sequence::getLength(), DVar::getLowerBound(), Beam::getMass(), TrackCmd::getMaxSteps(), FieldSolver::getMT(), FieldSolver::getMX(), FieldSolver::getMY(), OpalWake::getNumberOfBins(), Beam::getNumberOfParticles(), Distribution::getNumberOfParticlesInFile(), Beam::getParticleName(), RealConstant::getReal(), RealVariable::getReal(), RealVector::getRealComponent(), Sequence::getReference(), BoundaryGeometry::getS(), TrackCmd::getStepsPerTurn(), StringConstant::getString(), TrackCmd::getT0(), FieldSolver::getTagging_m(), Distribution::getTEmission(), TrackCmd::getTimeIntegrator(), BoundaryGeometry::getTopology(), OpalTrimCoil::getTrimCoilType(), FieldSolver::getType(), DVar::getUpperBound(), DVar::getVariable(), OpalSample::getVariable(), Distribution::getWeight(), TrackCmd::getZStart(), TrackCmd::getZStop(), FieldSolver::hasPeriodicZ(), Help::Help(), FieldSolver::initAmrObject_m(), FieldSolver::initAmrSolver_m(), FieldSolver::initCartesianFields(), BoundaryGeometry::initialize(), OpalSample::initialize(), OpalFilter::initOpalFilter(), OpalTrimCoil::initOpalTrimCoil(), ParticleMatterInteraction::initParticleMatterInteractionHandler(), FieldSolver::initSolver(), OpalWake::initWakefunction(), Distribution::injectBeam(), Line::Line(), List::List(), List::list(), Objective::Objective(), OpalAsymmetricEnge::OpalAsymmetricEnge(), OpalBend::OpalBend(), OpalCavity::OpalCavity(), OpalCCollimator::OpalCCollimator(), OpalCyclotron::OpalCyclotron(), OpalDegrader::OpalDegrader(), OpalDrift::OpalDrift(), OpalECollimator::OpalECollimator(), OpalElement::OpalElement(), OpalEnge::OpalEnge(), OpalFilter::OpalFilter(), OpalFlexibleCollimator::OpalFlexibleCollimator(), OpalOffset::OpalGlobalCartesianOffset::OpalGlobalCartesianOffset(), OpalOffset::OpalGlobalCylindricalOffset::OpalGlobalCylindricalOffset(), OpalHKicker::OpalHKicker(), OpalKicker::OpalKicker(), OpalOffset::OpalLocalCartesianOffset::OpalLocalCartesianOffset(), OpalOffset::OpalLocalCylindricalOffset::OpalLocalCylindricalOffset(), OpalMultipole::OpalMultipole(), OpalMultipoleT::OpalMultipoleT(), OpalOctupole::OpalOctupole(), OpalOutputPlane::OpalOutputPlane(), OpalPepperPot::OpalPepperPot(), OpalPolynomialTimeDependence::OpalPolynomialTimeDependence(), OpalProbe::OpalProbe(), OpalQuadrupole::OpalQuadrupole(), OpalRBend3D::OpalRBend3D(), OpalRCollimator::OpalRCollimator(), OpalRingDefinition::OpalRingDefinition(), OpalSample::OpalSample(), OpalSBend3D::OpalSBend3D(), OpalScalingFFAMagnet::OpalScalingFFAMagnet(), OpalSeptum::OpalSeptum(), OpalSextupole::OpalSextupole(), OpalSinusoidalTimeDependence::OpalSinusoidalTimeDependence(), OpalSlit::OpalSlit(), OpalSolenoid::OpalSolenoid(), OpalSource::OpalSource(), OpalSplineTimeDependence::OpalSplineTimeDependence(), OpalStripper::OpalStripper(), OpalTravelingWave(), OpalTrimCoil::OpalTrimCoil(), OpalUndulator::OpalUndulator(), OpalVacuum::OpalVacuum(), OpalVariableRFCavity::OpalVariableRFCavity(), OpalVariableRFCavityFringeField::OpalVariableRFCavityFringeField(), OpalVerticalFFAMagnet::OpalVerticalFFAMagnet(), OpalVKicker::OpalVKicker(), OpalWake::OpalWake(), OptimizeCmd::OptimizeCmd(), Option::Option(), Sequence::parse(), Line::parse(), DumpEMFields::parseCoordinateSystem(), ParticleMatterInteraction::ParticleMatterInteraction(), OpalTrimCoil::print(), TrackRun::print(), Object::print(), Sequence::print(), BoolConstant::print(), RealConstant::print(), RealVariable::print(), RealVector::print(), StringConstant::print(), DumpEMFields::print(), DumpFields::print(), Beam::print(), OpalWake::print(), ParticleMatterInteraction::print(), OpalFilter::print(), Distribution::printDistFlattop(), Distribution::printDistFromFile(), Distribution::printDistGauss(), Distribution::printEmissionModelAstra(), Distribution::printEmissionModelNone(), Object::printHelp(), Distribution::printInfo(), BoundaryGeometry::printInfo(), FieldSolver::printInfo(), BoolConstant::printValue(), RealConstant::printValue(), RealVariable::printValue(), RealVector::printValue(), StringConstant::printValue(), PSystem::PSystem(), RealConstant::RealConstant(), RealVariable::RealVariable(), RealVector::RealVector(), OpalElement::registerOwnership(), Object::registerOwnership(), OptimizeCmd::run(), SampleCmd::SampleCmd(), Distribution::scaleDistCoordinates(), Select::Select(), Select::select(), Sequence::Sequence(), Distribution::setAttributes(), TrackRun::setBoundaryGeometry(), Distribution::setDistParametersBinomial(), Distribution::setDistParametersFlattop(), Distribution::setDistParametersGauss(), Distribution::setDistParametersMultiGauss(), TrackRun::setDistributionParallelT(), Distribution::setDistType(), FieldSolver::setMT(), FieldSolver::setMX(), FieldSolver::setMY(), TrackRun::setRunMethod(), Distribution::setSigmaP_m(), Distribution::setSigmaR_m(), TrackRun::setupCyclotronTracker(), OpalScalingFFAMagnet::setupDefaultEndField(), Distribution::setupEmissionModel(), Distribution::setupEmissionModelAstra(), Distribution::setupEmissionModelNone(), Distribution::setupEmissionModelNonEquil(), TrackRun::setupFieldsolver(), OpalScalingFFAMagnet::setupNamedEndField(), Distribution::setupParticleBins(), TrackRun::setupThickTracker(), TrackRun::setupTTracker(), Distribution::shiftDistCoordinates(), StringConstant::StringConstant(), System::System(), Title::Title(), TrackCmd::TrackCmd(), TrackRun::TrackRun(), OpalAsymmetricEnge::update(), OpalCavity::update(), OpalCCollimator::update(), OpalCyclotron::update(), OpalDegrader::update(), OpalDrift::update(), OpalECollimator::update(), OpalElement::update(), OpalEnge::update(), OpalFlexibleCollimator::update(), OpalHKicker::update(), OpalKicker::update(), OpalMonitor::update(), OpalMultipole::update(), OpalOctupole::update(), OpalOffset::OpalGlobalCartesianOffset::update(), OpalOffset::OpalGlobalCylindricalOffset::update(), OpalOffset::OpalLocalCartesianOffset::update(), OpalOffset::OpalLocalCylindricalOffset::update(), OpalOutputPlane::update(), OpalPepperPot::update(), OpalPolynomialTimeDependence::update(), OpalProbe::update(), OpalQuadrupole::update(), OpalRBend::update(), OpalRBend3D::update(), OpalRCollimator::update(), OpalRingDefinition::update(), OpalSBend::update(), OpalSBend3D::update(), OpalScalingFFAMagnet::update(), OpalSeptum::update(), OpalSextupole::update(), OpalSlit::update(), OpalSolenoid::update(), OpalSource::update(), OpalStripper::update(), update(), OpalUndulator::update(), OpalVacuum::update(), OpalVariableRFCavity::update(), OpalVariableRFCavityFringeField::update(), OpalVerticalFFAMagnet::update(), OpalVKicker::update(), Beam::update(), OpalMultipoleT::update(), OpalSinusoidalTimeDependence::update(), OpalSplineTimeDependence::update(), Option::update(), OpalElement::updateUnknown(), ValueDefinition::value(), Value::Value(), Distribution::writeOutFileEmission(), Distribution::writeOutFileHeader(), and Distribution::writeOutFileInjection().

◆ itsClassicElement

Pointer<ElementBase> Element::itsClassicElement
privateinherited

Definition at line 113 of file Element.h.

Referenced by Element::getElement(), Element::setElement(), and Element::setShared().

◆ itsHelp

std::string Object::itsHelp
privateinherited

Definition at line 258 of file Object.h.

Referenced by Object::printHelp().

◆ itsName

std::string Object::itsName
privateinherited

Definition at line 255 of file Object.h.

Referenced by Object::getOpalName(), and Object::setOpalName().

◆ itsParent

Object* Object::itsParent
privateinherited

◆ itsSize

int OpalElement::itsSize
privateinherited

Definition at line 139 of file OpalElement.h.

Referenced by OpalElement::registerOwnership(), and OpalElement::updateUnknown().

◆ modified

bool Object::modified
protectedinherited

Dirty flag.

Definition at line 238 of file Object.h.

Referenced by Object::isDirty(), Object::Object(), and Object::setDirty().

◆ occurrence

int Object::occurrence
privateinherited

Definition at line 261 of file Object.h.

Referenced by Object::clear(), Object::increment(), and Object::occurrenceCount().

◆ owk_m

OpalWake* OpalTravelingWave::owk_m
private

Definition at line 65 of file OpalTravelingWave.h.

Referenced by update(), and ~OpalTravelingWave().

◆ refCount

int RCObject::refCount
mutableprivateinherited

◆ references

std::set<Invalidator *> Object::references
privateinherited

◆ sharedFlag

bool Object::sharedFlag
privateinherited

Definition at line 271 of file Object.h.

Referenced by Object::isShared(), and Object::setShared().

◆ timeStamp

double Object::timeStamp
privateinherited

Definition at line 264 of file Object.h.


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