OPALX (Object Oriented Parallel Accelerator Library for Exascal) MINIorX
OPALX
Echo Class Reference

#include <Echo.h>

Inheritance diagram for Echo:
Collaboration diagram for Echo:

Public Member Functions

 Echo ()
 Exemplar constructor.
virtual ~Echo ()
virtual Echoclone (const std::string &name)
 Make clone.
virtual void execute ()
 Execute the command.
virtual void parse (Statement &)
 Parse command (special for one-attribute command).
virtual bool canReplaceBy (Object *object)
 Test if replacement is allowed.
virtual const std::string getCategory () const
 Return the object category as a string.
virtual bool shouldTrace () const
 Trace flag.
virtual bool shouldUpdate () const
 Update flag.
void copyAttributes (const Object &)
 Copy attributes from another object.
virtual AttributefindAttribute (const std::string &name)
 Find an attribute by name.
virtual const AttributefindAttribute (const std::string &name) const
 Find an attribute by name.
virtual ObjectmakeTemplate (const std::string &, TokenStream &, Statement &)
 Macro handler function.
virtual ObjectmakeInstance (const std::string &name, Statement &, const Parser *)
 Macro handler function.
virtual void parseShortcut (Statement &, bool eval=true)
 Parser for single-attribute commands.
virtual void print (std::ostream &) const
 Print the object.
virtual void printValue (std::ostream &) const
virtual void printHelp (std::ostream &) const
 Print help.
virtual void replace (Object *oldObject, Object *newObject)
 Replace references.
virtual void update ()
 Update this object.
bool isBuiltin () const
 True, if [b]this[/b] is a built-in object.
virtual bool isShared () const
 Shared flag.
virtual void setShared (bool)
 Set/reset shared flag.
void setDirty (bool)
 Set/reset the [b]modified[/b] flag.
bool isDirty () const
 True, if the [b]modified[/b] flag is set.
void setFlag (bool)
 Flag/unflag this object, e. g. to control output of objects for.
bool isFlagged () const
 True, if [b]this[/b] is flagged by setFlag(true).
const ObjectgetBaseObject () const
 Return the object's base type object.
const std::string & getOpalName () const
 Return object name.
ObjectgetParent () const
 Return parent pointer.
bool isTreeMember (const Object *subTree) const
 Test for tree membership.
void setOpalName (const std::string &name)
 Set object name.
void setParent (Object *)
 Set parent object.
void clear ()
 Clear the occurrence counter.
int increment ()
 Increment and return the occurrence counter.
int occurrenceCount ()
 Return the occurrence counter.
void registerReference (Invalidator *a)
 Register a reference to this object.
void unregisterReference (Invalidator *a)
 Unegister a reference to this object.
void registerOwnership (const AttributeHandler::OwnerType &itsClass) const
int addReference () const
 Increment reference count.
int removeReference () const
 Decrement the reference count.

Public Attributes

std::vector< AttributeitsAttr
 The object attributes.

Protected Attributes

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

Private Member Functions

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

Private Attributes

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

Detailed Description

Definition at line 24 of file Echo.h.

Constructor & Destructor Documentation

◆ Echo() [1/3]

Echo::Echo ( )

Exemplar constructor.

Definition at line 26 of file Echo.cpp.

References Action::Action(), Object::itsAttr, Attributes::makeString(), Object::registerOwnership(), and AttributeHandler::STATEMENT.

Referenced by clone(), Echo(), Echo(), and operator=().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ~Echo()

Echo::~Echo ( )
virtual

Definition at line 35 of file Echo.cpp.

◆ Echo() [2/3]

Echo::Echo ( const Echo & )
private

References Echo().

Here is the call graph for this function:

◆ Echo() [3/3]

Echo::Echo ( const std::string & name,
Echo * parent )
private

Definition at line 32 of file Echo.cpp.

References Action::Action(), and Echo().

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 refCount.

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

Here is the caller graph for this function:

◆ canReplaceBy()

bool Action::canReplaceBy ( Object * object)
virtualinherited

Test if replacement is allowed.

Reimplemented from Object.

Definition at line 29 of file Action.cpp.

References Object::Object().

Here is the call graph for this function:

◆ clear()

void Object::clear ( )
inherited

Clear the occurrence counter.

Definition at line 339 of file Object.cpp.

References occurrence.

◆ clone()

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

Make clone.

Implements Object.

Definition at line 38 of file Echo.cpp.

References Echo().

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 itsAttr, and Object().

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ execute()

void Echo::execute ( )
virtual

Execute the command.

Reimplemented from Object.

Definition at line 42 of file Echo.cpp.

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

Here is the call graph for this function:

◆ findAttribute() [1/2]

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

Find an attribute by name.

Definition at line 64 of file Object.cpp.

References itsAttr.

Referenced by OpalElement::getParticleMatterInteraction(), OpalElement::getTypeName(), OpalElement::getWakeF(), Line::parse(), parse(), OpalElement::parse(), OpalParser::parseAssign(), SequenceParser::parsePosition(), and parseShortcut().

Here is the caller graph for this function:

◆ findAttribute() [2/2]

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

Find an attribute by name.

Definition at line 72 of file Object.cpp.

References itsAttr.

◆ getBaseObject()

const Object * Object::getBaseObject ( ) const
inherited

Return the object's base type object.

Definition at line 301 of file Object.cpp.

References itsParent, and Object().

Here is the call graph for this function:

◆ getCategory()

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

Return the object category as a string.

Implements Object.

Definition at line 34 of file Action.cpp.

◆ getOpalName()

◆ getParent()

Object * Object::getParent ( ) const
inherited

Return parent pointer.

Definition at line 313 of file Object.cpp.

References itsParent, and Object().

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ increment()

int Object::increment ( )
inherited

Increment and return the occurrence counter.

Definition at line 344 of file Object.cpp.

References occurrence.

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

Here is the caller graph for this function:

◆ isBuiltin()

bool Object::isBuiltin ( ) const
inherited

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

Definition at line 266 of file Object.cpp.

References builtin.

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

Here is the caller graph for this function:

◆ isDirty()

bool Object::isDirty ( ) const
inherited

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

Definition at line 287 of file Object.cpp.

References modified.

◆ isFlagged()

bool Object::isFlagged ( ) const
inherited

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

Definition at line 297 of file Object.cpp.

References flagged.

◆ isShared()

bool Object::isShared ( ) const
virtualinherited

Shared flag.

Definition at line 271 of file Object.cpp.

References sharedFlag.

Referenced by Sequence::print().

Here is the caller graph for this function:

◆ isTreeMember()

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

Test for tree membership.

Definition at line 318 of file Object.cpp.

References Object().

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ makeInstance()

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

Macro handler function.

Reimplemented in LineTemplate, MacroCmd, and SequenceTemplate.

Definition at line 89 of file Object.cpp.

References getOpalName(), and Object().

Referenced by OpalParser::parseDefine(), and OpalParser::parseMacro().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ makeTemplate()

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

Macro handler function.

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

Definition at line 82 of file Object.cpp.

References Object().

Referenced by OpalParser::parseMacro().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ occurrenceCount()

int Object::occurrenceCount ( )
inherited

Return the occurrence counter.

Definition at line 349 of file Object.cpp.

References occurrence.

◆ operator=()

void Echo::operator= ( const Echo & )
private

References Echo().

Here is the call graph for this function:

◆ parse()

void Echo::parse ( Statement & statement)
virtual

Parse command (special for one-attribute command).

Reimplemented from Object.

Definition at line 47 of file Echo.cpp.

References Object::parseShortcut().

Here is the call graph for this function:

◆ parseShortcut()

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

Parser for single-attribute commands.

Definition at line 127 of file Object.cpp.

References Statement::delimiter(), findAttribute(), getOpalName(), Statement::mark(), 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:
Here is the caller graph for this function:

◆ print()

void Object::print ( std::ostream & msg) const
virtualinherited

Print the object.

Reimplemented in Beam, BoolConstant, DumpEMFields, DumpFields, Line, OpalElement, OpalFilter, OpalMarker, OpalMultipole, OpalMultipoleT, OpalOffset::OpalGlobalCartesianOffset, OpalOffset::OpalGlobalCylindricalOffset, OpalOffset::OpalLocalCartesianOffset, OpalOffset::OpalLocalCylindricalOffset, OpalRingDefinition, RealConstant, RealVariable, RealVector, Sequence, and StringConstant.

Definition at line 159 of file Object.cpp.

References getOpalName(), getParent(), itsAttr, and Object().

Referenced by printValue().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ printHelp()

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

Print help.

Definition at line 199 of file Object.cpp.

References gmsg, itsAttr, and itsHelp.

Referenced by Help::execute(), and main().

Here is the caller 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 print().

Here is the call graph for this function:

◆ registerOwnership()

void Object::registerOwnership ( const AttributeHandler::OwnerType & itsClass) const
inherited

Definition at line 189 of file Object.cpp.

References AttributeHandler::addAttributeOwner(), end(), getOpalName(), getParent(), and itsAttr.

Referenced by Beam::Beam(), BoolConstant::BoolConstant(), BoundaryGeometry::BoundaryGeometry(), Call::Call(), Distribution::Distribution(), DumpEMFields::DumpEMFields(), DumpFields::DumpFields(), Echo::Echo(), Help::Help(), Line::Line(), OpalFilter::OpalFilter(), Option::Option(), PSystem::PSystem(), RealConstant::RealConstant(), RealVariable::RealVariable(), RealVector::RealVector(), Select::Select(), Sequence::Sequence(), StringConstant::StringConstant(), System::System(), Title::Title(), TrackCmd::TrackCmd(), TrackRun::TrackRun(), and Value::Value().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ registerReference()

void Object::registerReference ( Invalidator * a)
inherited

Register a reference to this object.

Definition at line 180 of file Object.cpp.

References references.

◆ removeReference()

int RCObject::removeReference ( ) const
inlineinherited

Decrement the reference count.

Definition at line 88 of file RCObject.h.

References refCount.

◆ replace()

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

Replace references.

Reimplemented in Line, and Sequence.

Definition at line 256 of file Object.cpp.

References Object().

Here is the call graph for this function:

◆ setDirty()

void Object::setDirty ( bool dirty)
inherited

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

Definition at line 281 of file Object.cpp.

References modified.

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

Here is the caller graph for this function:

◆ setFlag()

void Object::setFlag ( bool flag)
inherited

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

Definition at line 292 of file Object.cpp.

References flagged.

◆ setOpalName()

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

Set object name.

Definition at line 329 of file Object.cpp.

References itsName.

Referenced by Beam::update(), BoundaryGeometry::update(), and OpalFilter::update().

Here is the caller graph for this function:

◆ setParent()

void Object::setParent ( Object * parent)
inherited

Set parent object.

Definition at line 334 of file Object.cpp.

References itsParent, and Object().

Referenced by OpalData::erase().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setShared()

void Object::setShared ( bool flag)
virtualinherited

Set/reset shared flag.

Reimplemented in Element.

Definition at line 276 of file Object.cpp.

References sharedFlag.

Referenced by OpalParser::parseDefine(), and Element::setShared().

Here is the caller graph for this function:

◆ shouldTrace()

bool Action::shouldTrace ( ) const
virtualinherited

Trace flag.

Implements Object.

Definition at line 39 of file Action.cpp.

◆ shouldUpdate()

bool Action::shouldUpdate ( ) const
virtualinherited

Update flag.

Implements Object.

Definition at line 44 of file Action.cpp.

◆ unregisterReference()

void Object::unregisterReference ( Invalidator * a)
inherited

Unegister a reference to this object.

Definition at line 185 of file Object.cpp.

References references.

◆ update()

Member Data Documentation

◆ builtin

◆ flagged

bool Object::flagged
protectedinherited

Object flag.

Definition at line 242 of file Object.h.

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

◆ itsAttr

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

The object attributes.

Definition at line 216 of file Object.h.

Referenced by Beam::Beam(), BoolConstant::BoolConstant(), BoundaryGeometry::BoundaryGeometry(), BoundaryGeometry::BoundaryGeometry(), DumpEMFields::buildGrid(), DumpFields::buildGrid(), Call::Call(), copyAttributes(), Distribution::Distribution(), DumpEMFields::DumpEMFields(), DumpFields::DumpFields(), Echo::Echo(), Beam::execute(), Call::execute(), Echo::execute(), Help::execute(), Option::execute(), PSystem::execute(), Select::execute(), System::execute(), Title::execute(), TrackCmd::execute(), TrackRun::execute(), Value::execute(), FieldSolverCmd::FieldSolverCmd(), findAttribute(), findAttribute(), BoundaryGeometry::getA(), OpalElement::getApert(), BoundaryGeometry::getB(), BoolConstant::getBool(), FieldSolverCmd::getBoxIncr(), BoundaryGeometry::getC(), Beam::getCharge(), Beam::getCurrent(), FieldSolverCmd::getDomDec(), TrackCmd::getDT(), TrackCmd::getDTAU(), TrackCmd::getDTSCINIT(), BoundaryGeometry::getFilename(), Beam::getFrequency(), BoundaryGeometry::getL1(), BoundaryGeometry::getL2(), BoundaryGeometry::getLength(), Line::getLength(), OpalElement::getLength(), Sequence::getLength(), Beam::getMass(), TrackCmd::getMaxSteps(), Beam::getNumberOfParticles(), FieldSolverCmd::getNX(), FieldSolverCmd::getNY(), FieldSolverCmd::getNZ(), Beam::getParticleName(), RealConstant::getReal(), RealVariable::getReal(), RealVector::getRealComponent(), Sequence::getReference(), BoundaryGeometry::getS(), TrackCmd::getStepsPerTurn(), StringConstant::getString(), TrackCmd::getT0(), TrackCmd::getTimeIntegrator(), BoundaryGeometry::getTopology(), FieldSolverCmd::getType(), TrackCmd::getZStart(), TrackCmd::getZStop(), Help::Help(), BoundaryGeometry::initialize(), OpalFilter::initOpalFilter(), Line::Line(), Object(), Object(), OpalCavity::OpalCavity(), OpalDrift::OpalDrift(), OpalElement::OpalElement(), OpalFilter::OpalFilter(), OpalOffset::OpalGlobalCartesianOffset::OpalGlobalCartesianOffset(), OpalOffset::OpalGlobalCylindricalOffset::OpalGlobalCylindricalOffset(), OpalOffset::OpalLocalCartesianOffset::OpalLocalCartesianOffset(), OpalOffset::OpalLocalCylindricalOffset::OpalLocalCylindricalOffset(), OpalMultipole::OpalMultipole(), OpalMultipoleT::OpalMultipoleT(), OpalProbe::OpalProbe(), OpalRingDefinition::OpalRingDefinition(), OpalSolenoid::OpalSolenoid(), OpalTravelingWave::OpalTravelingWave(), OpalVacuum::OpalVacuum(), OpalVerticalFFAMagnet::OpalVerticalFFAMagnet(), Option::Option(), Option::Option(), Line::parse(), Sequence::parse(), DumpEMFields::parseCoordinateSystem(), Beam::print(), BoolConstant::print(), DumpEMFields::print(), DumpFields::print(), print(), OpalFilter::print(), RealConstant::print(), RealVariable::print(), RealVector::print(), Sequence::print(), StringConstant::print(), TrackRun::print(), printHelp(), BoundaryGeometry::printInfo(), FieldSolverCmd::printInfo(), BoolConstant::printValue(), RealConstant::printValue(), RealVariable::printValue(), RealVector::printValue(), StringConstant::printValue(), PSystem::PSystem(), RealConstant::RealConstant(), RealConstant::RealConstant(), RealVariable::RealVariable(), RealVariable::RealVariable(), RealVector::RealVector(), registerOwnership(), OpalElement::registerOwnership(), Select::Select(), Select::select(), Sequence::Sequence(), Distribution::setDistParametersFlatTop(), Distribution::setDistParametersMultiVariateGauss(), Distribution::setDistType(), FieldSolverCmd::setNX(), FieldSolverCmd::setNY(), FieldSolverCmd::setNZ(), TrackRun::setRunMethod(), Distribution::setSigmaP_m(), Distribution::setSigmaR_m(), TrackRun::setupBoundaryGeometry(), StringConstant::StringConstant(), StringConstant::StringConstant(), System::System(), Title::Title(), TrackCmd::TrackCmd(), TrackRun::TrackRun(), Beam::update(), FieldSolverCmd::update(), OpalCavity::update(), OpalDrift::update(), OpalElement::update(), OpalMonitor::update(), OpalMultipole::update(), OpalMultipoleT::update(), OpalOffset::OpalGlobalCartesianOffset::update(), OpalOffset::OpalGlobalCylindricalOffset::update(), OpalOffset::OpalLocalCartesianOffset::update(), OpalOffset::OpalLocalCylindricalOffset::update(), OpalProbe::update(), OpalRingDefinition::update(), OpalSolenoid::update(), OpalTravelingWave::update(), OpalVacuum::update(), OpalVerticalFFAMagnet::update(), Option::update(), OpalElement::updateUnknown(), Value::Value(), ValueDefinition::value(), and ValueDefinition::value().

◆ itsHelp

std::string Object::itsHelp
privateinherited

Definition at line 258 of file Object.h.

Referenced by Object(), Object(), and printHelp().

◆ itsName

std::string Object::itsName
privateinherited

Definition at line 255 of file Object.h.

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

◆ itsParent

Object* Object::itsParent
privateinherited

Definition at line 252 of file Object.h.

Referenced by getBaseObject(), getParent(), Object(), Object(), and setParent().

◆ modified

bool Object::modified
protectedinherited

Dirty flag.

Definition at line 238 of file Object.h.

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

◆ occurrence

int Object::occurrence
privateinherited

Definition at line 261 of file Object.h.

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

◆ refCount

int RCObject::refCount
mutableprivateinherited

Definition at line 76 of file RCObject.h.

Referenced by addReference(), isShared(), RCObject(), RCObject(), and removeReference().

◆ references

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

Definition at line 268 of file Object.h.

Referenced by registerReference(), unregisterReference(), and ~Object().

◆ sharedFlag

bool Object::sharedFlag
privateinherited

Definition at line 271 of file Object.h.

Referenced by isShared(), Object(), Object(), and 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: