|
OPALX (Object Oriented Parallel Accelerator Library for Exascale) MINIorX
OPALX
|
The base class for all OPAL value definitions. More...
#include <ValueDefinition.h>


Public Member Functions | |
| virtual | ~ValueDefinition () |
| 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 bool | getBool () const |
| Return logical value. More... | |
| virtual bool | getBoolComponent (int) const |
| Return indexed logical value. More... | |
| virtual double | getReal () const |
| Return real value. More... | |
| virtual double | getRealComponent (int) const |
| Return indexed real value. More... | |
| virtual std::string | getString () const |
| Return string value. More... | |
| virtual std::string | getStringComponent (int) const |
| Return indexed string value. More... | |
| Attribute & | value () |
| Return the attribute representing the value of the definition. More... | |
| const Attribute & | value () const |
| Return the attribute representing the value of the definition. More... | |
| 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 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... | |
Public Attributes | |
| std::vector< Attribute > | itsAttr |
| The object attributes. More... | |
Protected Member Functions | |
| ValueDefinition (int size, const char *name, const char *help) | |
| Constructor for exemplars. More... | |
| ValueDefinition (const std::string &name, ValueDefinition *parent) | |
| Constructor for clones. More... | |
Protected Attributes | |
| const std::string | itsPrefix |
| The declaration prefix. More... | |
| bool | builtin |
| Built-in flag. More... | |
| bool | modified |
| Dirty flag. More... | |
| bool | flagged |
| Object flag. More... | |
Private Member Functions | |
| ValueDefinition () | |
| ValueDefinition (const ValueDefinition &) | |
| void | operator= (const ValueDefinition &) |
Private Attributes | |
| Object * | itsParent |
| std::string | itsName |
| std::string | itsHelp |
| int | occurrence |
| double | timeStamp |
| std::set< Invalidator * > | references |
| bool | sharedFlag |
| int | refCount |
The base class for all OPAL value definitions.
Definition at line 31 of file ValueDefinition.h.
|
virtual |
Definition at line 28 of file ValueDefinition.cpp.
|
protected |
Constructor for exemplars.
Definition at line 99 of file ValueDefinition.cpp.
|
protected |
Constructor for clones.
Definition at line 105 of file ValueDefinition.cpp.
|
private |
|
private |
|
inlineinherited |
Increment reference count.
Definition at line 83 of file RCObject.h.
References RCObject::refCount.
Referenced by Pointer< Object >::operator=(), and Pointer< Object >::unique().
|
virtualinherited |
Test if replacement is allowed.
Reimplemented in Table, Action, Element, Distribution, Beam, BoundaryGeometry, OpalFilter, BoolConstant, RealConstant, StringConstant, RealVariable, and RealVector.
Definition at line 48 of file Object.cpp.
Referenced by OpalData::define().
|
inherited |
Clear the occurrence counter.
Definition at line 339 of file Object.cpp.
References Object::occurrence.
|
pure virtualinherited |
Return a clone.
Implemented in Call, DumpEMFields, DumpFields, Echo, Help, Option, PSystem, Quit, Select, Stop, System, Title, Value, Distribution, OpalCavity, OpalDrift, OpalMarker, OpalMonitor, OpalMultipole, OpalMultipoleT, OpalOffset::OpalGlobalCartesianOffset, OpalOffset::OpalGlobalCylindricalOffset, OpalOffset::OpalLocalCartesianOffset, OpalOffset::OpalLocalCylindricalOffset, OpalProbe, OpalRingDefinition, OpalSolenoid, OpalSource, OpalTravelingWave, OpalVacuum, OpalVerticalFFAMagnet, Line, LineTemplate, Sequence, SequenceTemplate, Macro, Beam, BoundaryGeometry, FieldSolverCmd, TrackCmd, TrackEnd, TrackRun, OpalFilter, BoolConstant, RealConstant, RealVariable, RealVector, and StringConstant.
Referenced by OpalParser::parseAction(), OpalParser::parseAssign(), and OpalParser::parseDefine().
|
inherited |
Copy attributes from another object.
Definition at line 54 of file Object.cpp.
References Object::itsAttr.
Referenced by SequenceTemplate::makeInstance(), and LineTemplate::makeInstance().
|
virtualinherited |
Execute the command.
Reimplemented in Call, DumpEMFields, DumpFields, Echo, Help, Option, PSystem, Quit, Select, Stop, System, Title, Value, Distribution, MacroCmd, Beam, BoundaryGeometry, FieldSolverCmd, TrackCmd, TrackEnd, TrackRun, and OpalFilter.
Definition at line 59 of file Object.cpp.
|
virtualinherited |
Find an attribute by name.
Definition at line 64 of file Object.cpp.
References Object::itsAttr.
Referenced by SequenceParser::findNeighbourPositions(), OpalElement::getParticleMatterInteraction(), OpalElement::getTypeName(), OpalElement::getWakeF(), Object::parse(), OpalElement::parse(), Line::parse(), OpalParser::parseAssign(), SequenceParser::parsePosition(), and Object::parseShortcut().
|
virtualinherited |
|
inherited |
Return the object's base type object.
Definition at line 301 of file Object.cpp.
References Object::itsParent.
|
virtual |
Return logical value.
Reimplemented in BoolConstant.
Definition at line 47 of file ValueDefinition.cpp.
References Object::getOpalName().

|
virtual |
Return indexed logical value.
Definition at line 54 of file ValueDefinition.cpp.
References Object::getOpalName().

|
virtual |
Return the object category as a string.
Implements Object.
Definition at line 32 of file ValueDefinition.cpp.
|
inherited |
Return object name.
Definition at line 308 of file Object.cpp.
References Object::itsName.
Referenced by OpalOffset::OpalLocalCartesianOffset::clone(), Macro::clone(), OpalData::create(), OpalData::define(), Sequence::findDriftLength(), SequenceParser::findNeighbourPositions(), getBool(), getBoolComponent(), getReal(), getRealComponent(), getString(), getStringComponent(), Object::makeInstance(), SequenceTemplate::makeInstance(), LineTemplate::makeInstance(), Object::parse(), SequenceParser::parseMember(), SequenceParser::parsePosition(), Object::parseShortcut(), Object::print(), OpalElement::print(), Sequence::print(), BoolConstant::print(), RealConstant::print(), RealVariable::print(), RealVector::print(), StringConstant::print(), Beam::print(), OpalFilter::print(), Line::print(), BoundaryGeometry::printInfo(), FieldSolverCmd::printInfo(), OpalElement::registerOwnership(), Object::registerOwnership(), Line::replace(), Sequence::replace(), OpalOffset::OpalGlobalCartesianOffset::update(), OpalOffset::OpalGlobalCylindricalOffset::update(), OpalOffset::OpalLocalCartesianOffset::update(), OpalOffset::OpalLocalCylindricalOffset::update(), Beam::update(), BoundaryGeometry::update(), and OpalFilter::update().
|
inherited |
Return parent pointer.
Definition at line 313 of file Object.cpp.
References Object::itsParent.
Referenced by OpalData::erase(), Object::print(), OpalElement::print(), OpalElement::registerOwnership(), and Object::registerOwnership().
|
virtual |
Return real value.
Reimplemented in RealConstant, and RealVariable.
Definition at line 61 of file ValueDefinition.cpp.
References Object::getOpalName().
Referenced by OpalData::getP0().

|
virtual |
Return indexed real value.
Reimplemented in RealVector.
Definition at line 68 of file ValueDefinition.cpp.
References Object::getOpalName().

|
virtual |
Return string value.
Reimplemented in StringConstant.
Definition at line 75 of file ValueDefinition.cpp.
References Object::getOpalName().

|
virtual |
Return indexed string value.
Definition at line 82 of file ValueDefinition.cpp.
References Object::getOpalName().

|
inherited |
Increment and return the occurrence counter.
Definition at line 344 of file Object.cpp.
References Object::occurrence.
Referenced by Line::parse(), and Sequence::storeLine().
|
inherited |
True, if [b]this[/b] is a built-in object.
Definition at line 266 of file Object.cpp.
References Object::builtin.
Referenced by OpalData::define(), and OpalData::getVariableNames().
|
inherited |
True, if the [b]modified[/b] flag is set.
Definition at line 287 of file Object.cpp.
References Object::modified.
|
inherited |
True, if [b]this[/b] is flagged by setFlag(true).
Definition at line 297 of file Object.cpp.
References Object::flagged.
|
virtualinherited |
Shared flag.
Definition at line 271 of file Object.cpp.
References Object::sharedFlag.
Referenced by Sequence::print().
|
inherited |
Test for tree membership.
Definition at line 318 of file Object.cpp.
References Object::itsParent.
Referenced by Selector::handleElement(), and OpalParser::parseAssign().
|
virtualinherited |
Macro handler function.
Reimplemented in SequenceTemplate, MacroCmd, and LineTemplate.
Definition at line 89 of file Object.cpp.
References Object::getOpalName().
Referenced by OpalParser::parseDefine(), and OpalParser::parseMacro().

|
virtualinherited |
Macro handler function.
Reimplemented in LineTemplate, Sequence, MacroCmd, SequenceTemplate, and Line.
Definition at line 82 of file Object.cpp.
Referenced by OpalParser::parseMacro().
|
inherited |
Return the occurrence counter.
Definition at line 349 of file Object.cpp.
References Object::occurrence.
|
private |
|
virtualinherited |
Parse the object.
Reimplemented in Call, Echo, Help, PSystem, System, Title, Value, OpalElement, Sequence, and Line.
Definition at line 95 of file Object.cpp.
References Statement::delimiter(), Object::findAttribute(), Object::getOpalName(), Expressions::parseDelimiter(), Expressions::parseRealConst(), and Expressions::parseString().
Referenced by Sequence::parse(), OpalParser::parseAction(), OpalParser::parseDefine(), and SequenceTemplate::parseTemplate().

|
virtualinherited |
Parser for single-attribute commands.
Definition at line 127 of file Object.cpp.
References Statement::delimiter(), Object::findAttribute(), Object::getOpalName(), Statement::mark(), and Statement::word().
Referenced by Call::parse(), Echo::parse(), Help::parse(), PSystem::parse(), System::parse(), Title::parse(), and Value::parse().

|
virtualinherited |
Print the object.
Reimplemented in OpalElement, OpalMarker, OpalMultipole, OpalOffset::OpalGlobalCartesianOffset, OpalOffset::OpalGlobalCylindricalOffset, OpalOffset::OpalLocalCartesianOffset, OpalOffset::OpalLocalCylindricalOffset, OpalRingDefinition, Sequence, BoolConstant, RealConstant, RealVariable, RealVector, StringConstant, DumpEMFields, DumpFields, OpalMultipoleT, Beam, OpalFilter, and Line.
Definition at line 159 of file Object.cpp.
References endl(), Object::getOpalName(), Object::getParent(), and Object::itsAttr.
Referenced by Object::printValue().

|
virtualinherited |
Print help.
Definition at line 199 of file Object.cpp.
References endl(), gmsg, Object::itsAttr, Object::itsHelp, and ippl::max().
Referenced by Help::execute().

|
inlinevirtualinherited |
Reimplemented in BoolConstant, RealConstant, RealVariable, RealVector, and StringConstant.
Definition at line 280 of file Object.h.
References Object::print().

|
inherited |
Definition at line 189 of file Object.cpp.
References AttributeHandler::addAttributeOwner(), end(), Object::getOpalName(), Object::getParent(), and Object::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().

|
inherited |
Register a reference to this object.
Definition at line 180 of file Object.cpp.
References Object::references.
|
inlineinherited |
Decrement the reference count.
Definition at line 88 of file RCObject.h.
References RCObject::refCount.
|
inherited |
Set/reset the [b]modified[/b] flag.
Definition at line 281 of file Object.cpp.
References Object::modified.
Referenced by OpalData::define(), OpalData::makeDirty(), and RealVariable::RealVariable().
|
inherited |
Flag/unflag this object, e. g. to control output of objects for.
Definition at line 292 of file Object.cpp.
References Object::flagged.
|
inherited |
Set object name.
Definition at line 329 of file Object.cpp.
References Object::itsName.
Referenced by Beam::update(), BoundaryGeometry::update(), and OpalFilter::update().
|
inherited |
Set parent object.
Definition at line 334 of file Object.cpp.
References Object::itsParent.
Referenced by OpalData::erase().
|
virtualinherited |
Set/reset shared flag.
Reimplemented in Element.
Definition at line 276 of file Object.cpp.
References Object::sharedFlag.
Referenced by OpalParser::parseDefine(), and Element::setShared().
|
virtual |
|
virtual |
|
inherited |
Unegister a reference to this object.
Definition at line 185 of file Object.cpp.
References Object::references.
|
virtualinherited |
Update this object.
Reimplemented in Option, OpalCavity, OpalDrift, OpalElement, OpalMarker, OpalMonitor, OpalMultipole, OpalMultipoleT, OpalOffset::OpalGlobalCartesianOffset, OpalOffset::OpalGlobalCylindricalOffset, OpalOffset::OpalLocalCartesianOffset, OpalOffset::OpalLocalCylindricalOffset, OpalProbe, OpalRingDefinition, OpalSolenoid, OpalSource, OpalTravelingWave, OpalVacuum, OpalVerticalFFAMagnet, Sequence, Beam, BoundaryGeometry, FieldSolverCmd, and OpalFilter.
Definition at line 261 of file Object.cpp.
Referenced by Distribution::execute().
| Attribute & ValueDefinition::value | ( | ) |
Return the attribute representing the value of the definition.
Definition at line 89 of file ValueDefinition.cpp.
References Object::itsAttr.
Referenced by RealConstant::RealConstant(), RealVariable::RealVariable(), and StringConstant::StringConstant().
| const Attribute & ValueDefinition::value | ( | ) | const |
Return the attribute representing the value of the definition.
Definition at line 94 of file ValueDefinition.cpp.
References Object::itsAttr.
|
protectedinherited |
Built-in flag.
Definition at line 233 of file Object.h.
Referenced by Beam::Beam(), BoundaryGeometry::BoundaryGeometry(), Object::isBuiltin(), Object::Object(), OpalFilter::OpalFilter(), OpalMarker::OpalMarker(), RealConstant::RealConstant(), StringConstant::StringConstant(), and Table::~Table().
|
protectedinherited |
Object flag.
Definition at line 242 of file Object.h.
Referenced by Object::isFlagged(), Object::Object(), and Object::setFlag().
|
inherited |
The object attributes.
Definition at line 216 of file Object.h.
Referenced by Beam::Beam(), BoolConstant::BoolConstant(), BoundaryGeometry::BoundaryGeometry(), DumpEMFields::buildGrid(), DumpFields::buildGrid(), Call::Call(), FieldSolverCmd::constructBCHandler(), Object::copyAttributes(), Distribution::Distribution(), DumpEMFields::DumpEMFields(), DumpFields::DumpFields(), Echo::Echo(), Call::execute(), Echo::execute(), Help::execute(), Option::execute(), PSystem::execute(), Select::execute(), System::execute(), Title::execute(), Value::execute(), Beam::execute(), TrackCmd::execute(), TrackRun::execute(), FieldSolverCmd::FieldSolverCmd(), Object::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(), OpalElement::getLength(), Line::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(), 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(), Sequence::parse(), Line::parse(), DumpEMFields::parseCoordinateSystem(), TrackRun::print(), Object::print(), Sequence::print(), BoolConstant::print(), RealConstant::print(), RealVariable::print(), RealVector::print(), StringConstant::print(), DumpEMFields::print(), DumpFields::print(), Beam::print(), OpalFilter::print(), Object::printHelp(), BoundaryGeometry::printInfo(), FieldSolverCmd::printInfo(), BoolConstant::printValue(), RealConstant::printValue(), RealVariable::printValue(), RealVector::printValue(), StringConstant::printValue(), PSystem::PSystem(), RealConstant::RealConstant(), RealVariable::RealVariable(), RealVector::RealVector(), OpalElement::registerOwnership(), Object::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(), System::System(), Title::Title(), TrackCmd::TrackCmd(), TrackRun::TrackRun(), 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(), Beam::update(), FieldSolverCmd::update(), Option::update(), OpalElement::updateUnknown(), value(), and Value::Value().
|
privateinherited |
Definition at line 258 of file Object.h.
Referenced by Object::printHelp().
|
privateinherited |
Definition at line 255 of file Object.h.
Referenced by Object::getOpalName(), and Object::setOpalName().
|
privateinherited |
Definition at line 252 of file Object.h.
Referenced by Object::getBaseObject(), Object::getParent(), Object::isTreeMember(), and Object::setParent().
|
protected |
The declaration prefix.
Definition at line 95 of file ValueDefinition.h.
|
protectedinherited |
Dirty flag.
Definition at line 238 of file Object.h.
Referenced by Object::isDirty(), Object::Object(), and Object::setDirty().
|
privateinherited |
Definition at line 261 of file Object.h.
Referenced by Object::clear(), Object::increment(), and Object::occurrenceCount().
|
mutableprivateinherited |
Definition at line 76 of file RCObject.h.
Referenced by RCObject::addReference(), RCObject::isShared(), and RCObject::removeReference().
|
privateinherited |
Definition at line 268 of file Object.h.
Referenced by Object::registerReference(), Object::unregisterReference(), and Object::~Object().
|
privateinherited |
Definition at line 271 of file Object.h.
Referenced by Object::isShared(), and Object::setShared().