|
OPALX (Object Oriented Parallel Accelerator Library for Exascale) MINIorX
OPALX
|
#include <SequenceTemplate.h>


Public Member Functions | |
| SequenceTemplate () | |
| virtual | ~SequenceTemplate () |
| virtual SequenceTemplate * | clone (const std::string &name) |
| Make clone. More... | |
| virtual Object * | makeInstance (const std::string &name, Statement &, const Parser *) |
| Make line instance. More... | |
| virtual Object * | makeTemplate (const std::string &name, TokenStream &, Statement &) |
| Make a sequence template. More... | |
| void | parseTemplate (TokenStream &, Statement &) |
| Parse the sequence template. 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 void | parseActuals (Statement &) |
| Parse actual arguments. More... | |
| virtual void | parseFormals (Statement &) |
| Parse formal arguments. More... | |
| virtual bool | canReplaceBy (Object *object) |
| Test if replacement is allowed. 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 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 Attributes | |
| std::vector< std::string > | formals |
| The formal argument list. More... | |
| std::vector< std::vector< Token > > | actuals |
| The actual argument list. More... | |
| bool | builtin |
| Built-in flag. More... | |
| bool | modified |
| Dirty flag. More... | |
| bool | flagged |
| Object flag. More... | |
Private Member Functions | |
| SequenceTemplate (const SequenceTemplate &) | |
| void | operator= (const SequenceTemplate &) |
| SequenceTemplate (const std::string &name, Object *parent) | |
Private Attributes | |
| MacroStream | body |
| Object * | itsParent |
| std::string | itsName |
| std::string | itsHelp |
| int | occurrence |
| double | timeStamp |
| std::set< Invalidator * > | references |
| bool | sharedFlag |
| int | refCount |
Friends | |
| class | Sequence |
Definition at line 36 of file SequenceTemplate.h.
| SequenceTemplate::SequenceTemplate | ( | ) |
Definition at line 41 of file SequenceTemplate.cpp.
|
virtual |
Definition at line 54 of file SequenceTemplate.cpp.
|
private |
|
private |
Definition at line 49 of file SequenceTemplate.cpp.
|
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.
|
virtual |
|
inherited |
Copy attributes from another object.
Definition at line 54 of file Object.cpp.
References Object::itsAttr.
Referenced by 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.
|
virtualinherited |
|
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(), ValueDefinition::getBool(), ValueDefinition::getBoolComponent(), ValueDefinition::getReal(), ValueDefinition::getRealComponent(), ValueDefinition::getString(), ValueDefinition::getStringComponent(), Object::makeInstance(), 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().
|
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().
|
virtual |
Make line instance.
Reimplemented from Object.
Definition at line 64 of file SequenceTemplate.cpp.
References Macro::actuals, MacroStream::append(), body, Sequence::clone(), Object::copyAttributes(), OpalData::find(), Macro::formals, OpalData::getInstance(), Object::getOpalName(), Token::getWord(), Token::isEOF(), Token::isWord(), Macro::parseActuals(), MacroStream::readToken(), OpalParser::run(), and MacroStream::start().

|
virtual |
Make a sequence template.
Reimplemented from Object.
Definition at line 118 of file SequenceTemplate.cpp.
|
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 parseTemplate().

|
virtualinherited |
Parse actual arguments.
Definition at line 64 of file Macro.cpp.
References Macro::actuals, Statement::delimiter(), Statement::getCurrent(), and Token::isDel().
Referenced by makeInstance(), MacroCmd::makeInstance(), and LineTemplate::makeInstance().

|
virtualinherited |
Parse formal arguments.
Definition at line 100 of file Macro.cpp.
References Statement::delimiter(), Macro::formals, Expressions::parseDelimiter(), and Expressions::parseString().
Referenced by MacroCmd::makeTemplate(), parseTemplate(), and LineTemplate::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().

| void SequenceTemplate::parseTemplate | ( | TokenStream & | is, |
| Statement & | statement | ||
| ) |
Parse the sequence template.
Definition at line 125 of file SequenceTemplate.cpp.
References MacroStream::append(), body, Token::isDel(), Token::isEOF(), Token::isKey(), Statement::keyword(), Object::parse(), Macro::parseFormals(), PAssert, and TokenStream::readToken().
Referenced by Sequence::makeTemplate().

|
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().
|
virtualinherited |
|
virtualinherited |
|
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().
|
friend |
Definition at line 38 of file SequenceTemplate.h.
|
protectedinherited |
The actual argument list.
Definition at line 82 of file Macro.h.
Referenced by makeInstance(), MacroCmd::makeInstance(), LineTemplate::makeInstance(), and Macro::parseActuals().
|
private |
Definition at line 72 of file SequenceTemplate.h.
Referenced by makeInstance(), and parseTemplate().
|
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().
|
protectedinherited |
The formal argument list.
Definition at line 78 of file Macro.h.
Referenced by makeInstance(), MacroCmd::makeInstance(), LineTemplate::makeInstance(), and Macro::parseFormals().
|
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(), ValueDefinition::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().
|
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().