OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
LineTemplate Class Reference

#include <LineTemplate.h>

Inheritance diagram for LineTemplate:
Inheritance graph
Collaboration diagram for LineTemplate:
Collaboration graph

Public Member Functions

 LineTemplate ()
 
virtual ~LineTemplate ()
 
virtual LineTemplateclone (const std::string &name)
 Make clone.
 
virtual ObjectmakeInstance (const std::string &name, Statement &stat, const Parser *)
 Make line instance.
 
virtual ObjectmakeTemplate (const std::string &, TokenStream &, Statement &)
 Make a line template.
 
void parseTemplate (TokenStream &is, Statement &stat)
 Parse the line template.
 
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.
 
virtual void parseActuals (Statement &)
 Parse actual arguments.
 
virtual void parseFormals (Statement &)
 Parse formal arguments.
 
virtual bool canReplaceBy (Object *object)
 Test if replacement is allowed.
 
void copyAttributes (const Object &)
 Copy attributes from another object.
 
virtual void execute ()
 Execute the command.
 
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 void parse (Statement &)
 Parse the object.
 
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
 

Public Attributes

std::vector< AttributeitsAttr
 The object attributes.
 

Protected Attributes

std::vector< std::string > formals
 The formal argument list.
 
std::vector< std::vector< Token > > actuals
 The actual argument list.
 
bool builtin
 Built-in flag.
 
bool modified
 Dirty flag.
 
bool flagged
 Object flag.
 

Private Member Functions

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

Private Attributes

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

Friends

class Line
 

Detailed Description

Definition at line 34 of file LineTemplate.h.

Constructor & Destructor Documentation

◆ LineTemplate() [1/3]

LineTemplate::LineTemplate ( )

Definition at line 34 of file LineTemplate.cpp.

◆ ~LineTemplate()

LineTemplate::~LineTemplate ( )
virtual

Definition at line 43 of file LineTemplate.cpp.

◆ LineTemplate() [2/3]

LineTemplate::LineTemplate ( const LineTemplate )
private

◆ LineTemplate() [3/3]

LineTemplate::LineTemplate ( const std::string &  name,
Object parent 
)
private

Definition at line 40 of file LineTemplate.cpp.

Member Function Documentation

◆ canReplaceBy()

bool Object::canReplaceBy ( Object object)
virtualinherited

Test if replacement is allowed.

Reimplemented in Table, Action, Element, Distribution, EmissionSourceList, Beam, BoundaryGeometry, EmissionSource, OpalFilter, BoolConstant, RealConstant, StringConstant, RealVariable, and RealVector.

Definition at line 45 of file Object.cpp.

Referenced by OpalData::define().

◆ clear()

void Object::clear ( )
inherited

Clear the occurrence counter.

Definition at line 285 of file Object.cpp.

References Object::occurrence.

◆ clone()

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

Make clone.

Reimplemented from Macro.

Definition at line 45 of file LineTemplate.cpp.

◆ copyAttributes()

void Object::copyAttributes ( const Object source)
inherited

Copy attributes from another object.

Definition at line 50 of file Object.cpp.

References Object::itsAttr.

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

◆ execute()

void Object::execute ( )
virtualinherited

◆ findAttribute() [1/2]

◆ findAttribute() [2/2]

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

Find an attribute by name.

Definition at line 63 of file Object.cpp.

References Object::itsAttr.

◆ getBaseObject()

const Object * Object::getBaseObject ( ) const
inherited

Return the object's base type object.

Definition at line 260 of file Object.cpp.

References Object::itsParent.

◆ getCategory()

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

Return the object category as a string.

Implements Object.

Definition at line 41 of file Macro.cpp.

◆ getOpalName()

◆ getParent()

Object * Object::getParent ( ) const
inherited

Return parent pointer.

Definition at line 269 of file Object.cpp.

References Object::itsParent.

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

◆ increment()

int Object::increment ( )
inherited

Increment and return the occurrence counter.

Definition at line 287 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 243 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 254 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 258 of file Object.cpp.

References Object::flagged.

◆ isShared()

bool Object::isShared ( ) const
virtualinherited

Shared flag.

Definition at line 245 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 271 of file Object.cpp.

References Object::itsParent.

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

◆ makeInstance()

Object * LineTemplate::makeInstance ( const std::string &  name,
Statement stat,
const Parser  
)
virtual

◆ makeTemplate()

Object * LineTemplate::makeTemplate ( const std::string &  ,
TokenStream ,
Statement  
)
virtual

Make a line template.

Reimplemented from Object.

Definition at line 98 of file LineTemplate.cpp.

◆ occurrenceCount()

int Object::occurrenceCount ( )
inherited

Return the occurrence counter.

Definition at line 289 of file Object.cpp.

References Object::occurrence.

◆ operator=()

void LineTemplate::operator= ( const LineTemplate )
private

◆ parse()

void Object::parse ( Statement stat)
virtualinherited

◆ parseActuals()

void Macro::parseActuals ( Statement stat)
virtualinherited

Parse actual arguments.

Definition at line 47 of file Macro.cpp.

References Macro::actuals, Statement::delimiter(), Statement::getCurrent(), and Token::isDel().

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

Here is the call graph for this function:

◆ parseFormals()

void Macro::parseFormals ( Statement stat)
virtualinherited

Parse formal arguments.

Definition at line 82 of file Macro.cpp.

References Statement::delimiter(), Macro::formals, Expressions::parseDelimiter(), and Expressions::parseString().

Referenced by MacroCmd::makeTemplate(), SequenceTemplate::parseTemplate(), and parseTemplate().

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 113 of file Object.cpp.

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

◆ parseTemplate()

void LineTemplate::parseTemplate ( TokenStream is,
Statement stat 
)

Parse the line template.

Definition at line 103 of file LineTemplate.cpp.

References MacroStream::append(), Statement::atEnd(), body, Statement::getCurrent(), Token::isDel(), Statement::keyword(), and Macro::parseFormals().

Referenced by Line::makeTemplate().

Here is the call graph for this function:

◆ print()

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

◆ printHelp()

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

Print help.

Definition at line 179 of file Object.cpp.

References gmsg, Object::itsAttr, and Object::itsHelp.

Referenced by Help::execute().

◆ printValue()

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

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

Definition at line 270 of file Object.h.

References Object::print().

Here is the call graph for this function:

◆ registerOwnership()

◆ registerReference()

void Object::registerReference ( Invalidator a)
inherited

Register a reference to this object.

Definition at line 165 of file Object.cpp.

References Object::references.

◆ replace()

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

Replace references.

Reimplemented in Line, and Sequence.

Definition at line 235 of file Object.cpp.

◆ setDirty()

void Object::setDirty ( bool  dirty)
inherited

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

Definition at line 249 of file Object.cpp.

References Object::modified.

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

◆ setFlag()

void Object::setFlag ( bool  flag)
inherited

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

Definition at line 256 of file Object.cpp.

References Object::flagged.

◆ setOpalName()

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

Set object name.

Definition at line 281 of file Object.cpp.

References Object::itsName.

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

◆ setParent()

void Object::setParent ( Object parent)
inherited

Set parent object.

Definition at line 283 of file Object.cpp.

References Object::itsParent.

Referenced by OpalData::erase().

◆ setShared()

void Object::setShared ( bool  flag)
virtualinherited

Set/reset shared flag.

Reimplemented in Element.

Definition at line 247 of file Object.cpp.

References Object::sharedFlag.

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

◆ shouldTrace()

bool Macro::shouldTrace ( ) const
virtualinherited

Trace flag.

Implements Object.

Definition at line 43 of file Macro.cpp.

◆ shouldUpdate()

bool Macro::shouldUpdate ( ) const
virtualinherited

Update flag.

Implements Object.

Definition at line 45 of file Macro.cpp.

◆ unregisterReference()

void Object::unregisterReference ( Invalidator a)
inherited

Unegister a reference to this object.

Definition at line 167 of file Object.cpp.

References Object::references.

◆ update()

Friends And Related Symbol Documentation

◆ Line

friend class Line
friend

Definition at line 35 of file LineTemplate.h.

Member Data Documentation

◆ actuals

std::vector<std::vector<Token> > Macro::actuals
protectedinherited

The actual argument list.

Definition at line 77 of file Macro.h.

Referenced by SequenceTemplate::makeInstance(), MacroCmd::makeInstance(), makeInstance(), and Macro::parseActuals().

◆ body

MacroStream LineTemplate::body
private

Definition at line 67 of file LineTemplate.h.

Referenced by makeInstance(), and parseTemplate().

◆ builtin

◆ flagged

bool Object::flagged
protectedinherited

Object flag.

Definition at line 235 of file Object.h.

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

◆ formals

std::vector<std::string> Macro::formals
protectedinherited

The formal argument list.

Definition at line 73 of file Macro.h.

Referenced by SequenceTemplate::makeInstance(), MacroCmd::makeInstance(), makeInstance(), and Macro::parseFormals().

◆ itsAttr

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

The object attributes.

Definition at line 210 of file Object.h.

Referenced by Beam::Beam(), BinningCmd::BinningCmd(), BoolConstant::BoolConstant(), BoundaryGeometry::BoundaryGeometry(), BoundaryGeometry::BoundaryGeometry(), DumpEMFields::buildGrid(), Call::Call(), FieldSolverCmd::constructBCHandler(), Object::copyAttributes(), Distribution::Distribution(), BinningCmd::dumpBinsToFile(), DumpEMFields::DumpEMFields(), Echo::Echo(), EmissionSource::EmissionSource(), 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(), Object::findAttribute(), BoundaryGeometry::getA(), BinningCmd::getAdaptiveBinning(), OpalElement::getApert(), BoundaryGeometry::getB(), BinningCmd::getBinningAlpha(), BinningCmd::getBinningBeta(), FieldSolverCmd::getBinsName(), BoolConstant::getBool(), FieldSolverCmd::getBoxIncr(), Beam::getBunchCharge(), BoundaryGeometry::getC(), Beam::getCharge(), Beam::getCurrent(), Beam::getDaughterBeamName(), BinningCmd::getDesiredWidth(), EmissionSource::getDistributionName(), FieldSolverCmd::getDomDec(), TrackCmd::getDT(), TrackCmd::getDTAU(), TrackCmd::getDTSCINIT(), BinningCmd::getDumpBinsFileName(), BinningCmd::getDumpBinsFrequency(), EmissionSource::getEmissionModel(), Beam::getEmissionSourceListName(), Distribution::getEmissionSteps(), Distribution::getFilename(), BoundaryGeometry::getFilename(), Beam::getFrequency(), Beam::getGlobalProcessNames(), BoundaryGeometry::getL1(), BoundaryGeometry::getL2(), BoundaryGeometry::getLength(), OpalElement::getLength(), Line::getLength(), Sequence::getLength(), Beam::getMass(), BinningCmd::getMaxBins(), TrackCmd::getMaxSteps(), Beam::getNumAlloc(), FieldSolverCmd::getNX(), FieldSolverCmd::getNY(), FieldSolverCmd::getNZ(), EmissionSource::getP0(), BinningCmd::getParameter(), Beam::getParticleName(), Beam::getPolarization(), EmissionSource::getR0(), RealConstant::getReal(), RealVariable::getReal(), RealVector::getRealComponent(), Sequence::getReference(), BoundaryGeometry::getS(), EmissionSource::getShiftedGreensFunction(), TrackCmd::getStepsPerTurn(), StringConstant::getString(), EmissionSource::getT0(), TrackCmd::getT0(), BinningCmd::getTablePrintFrequency(), TrackCmd::getTimeIntegrator(), BoundaryGeometry::getTopology(), FieldSolverCmd::getType(), EmissionSource::getZerofaceMaxSteps(), EmissionSource::getZeroFacePlaneDumpFrequency(), EmissionSource::getZeroFaceR0Z(), TrackCmd::getZStart(), TrackCmd::getZStop(), Beam::hasExplicitEnergy(), Beam::hasPolarization(), Help::Help(), BoundaryGeometry::initialize(), OpalFilter::initOpalFilter(), Beam::isPhoton(), Line::Line(), OpalBend::OpalBend(), OpalCavity::OpalCavity(), OpalConstantEFieldCavity::OpalConstantEFieldCavity(), OpalDrift::OpalDrift(), OpalElement::OpalElement(), OpalFilter::OpalFilter(), OpalLaser::OpalLaser(), OpalMultipole::OpalMultipole(), OpalMultipoleT::OpalMultipoleT(), OpalPolynomialTimeDependence::OpalPolynomialTimeDependence(), OpalProbe::OpalProbe(), OpalQuadrupole::OpalQuadrupole(), OpalRingDefinition::OpalRingDefinition(), OpalSinusoidalTimeDependence::OpalSinusoidalTimeDependence(), OpalSolenoid::OpalSolenoid(), OpalSplineTimeDependence::OpalSplineTimeDependence(), OpalTravelingWave::OpalTravelingWave(), OpalVacuum::OpalVacuum(), OpalVariableRFCavity::OpalVariableRFCavity(), OpalVerticalFFAMagnet::OpalVerticalFFAMagnet(), Option::Option(), Option::Option(), Sequence::parse(), Line::parse(), DumpEMFields::parseCoordinateSystem(), Object::print(), Sequence::print(), BoolConstant::print(), RealConstant::print(), RealVariable::print(), RealVector::print(), StringConstant::print(), Beam::print(), OpalFilter::print(), DumpEMFields::print(), Object::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(), OpalElement::registerOwnership(), Object::registerOwnership(), Select::Select(), Select::select(), Sequence::Sequence(), TestableBinningCmd::setAdaptiveBinning(), Distribution::setAttributes(), TestMultipoleT::TestableFieldSolverCmd::setBCX(), TestMultipoleTCurvedConstRadius::TestableFieldSolverCmd::setBCX(), TestMultipoleTStraight::TestableFieldSolverCmd::setBCX(), SolenoidPlacementTest::TestableFieldSolverCmd::setBCX(), TestVariableRFCavity::TestableFieldSolverCmd::setBCX(), OrbitThreaderTest::TestableFieldSolverCmd::setBCX(), OpalBeamlinePlacementTest::TestableFieldSolverCmd::setBCX(), TestMultipoleT::TestableFieldSolverCmd::setBCY(), TestMultipoleTCurvedConstRadius::TestableFieldSolverCmd::setBCY(), TestMultipoleTStraight::TestableFieldSolverCmd::setBCY(), SolenoidPlacementTest::TestableFieldSolverCmd::setBCY(), TestVariableRFCavity::TestableFieldSolverCmd::setBCY(), OrbitThreaderTest::TestableFieldSolverCmd::setBCY(), OpalBeamlinePlacementTest::TestableFieldSolverCmd::setBCY(), TestMultipoleT::TestableFieldSolverCmd::setBCZ(), TestMultipoleTCurvedConstRadius::TestableFieldSolverCmd::setBCZ(), TestMultipoleTStraight::TestableFieldSolverCmd::setBCZ(), SolenoidPlacementTest::TestableFieldSolverCmd::setBCZ(), TestVariableRFCavity::TestableFieldSolverCmd::setBCZ(), OrbitThreaderTest::TestableFieldSolverCmd::setBCZ(), OpalBeamlinePlacementTest::TestableFieldSolverCmd::setBCZ(), TestableBinningCmd::setBinningAlpha(), TestableBinningCmd::setBinningBeta(), TestableBinningCmd::setDesiredWidth(), Distribution::setDistParametersFlatTop(), Distribution::setDistParametersMultiVariateGauss(), Distribution::setDistType(), TestableBinningCmd::setDumpBinsFile(), TestableBinningCmd::setDumpBinsFreq(), TestableBinningCmd::setMaxBins(), FieldSolverCmd::setNX(), FieldSolverCmd::setNY(), FieldSolverCmd::setNZ(), TestableBinningCmd::setParameterString(), TrackRun::setRunMethod(), Distribution::setSigmaP_m(), Distribution::setSigmaR_m(), TestableBinningCmd::setTablePrintFrequency(), TestMultipoleT::TestableFieldSolverCmd::setType(), TestMultipoleTCurvedConstRadius::TestableFieldSolverCmd::setType(), TestMultipoleTStraight::TestableFieldSolverCmd::setType(), SolenoidPlacementTest::TestableFieldSolverCmd::setType(), TestVariableRFCavity::TestableFieldSolverCmd::setType(), OrbitThreaderTest::TestableFieldSolverCmd::setType(), OpalBeamlinePlacementTest::TestableFieldSolverCmd::setType(), TrackRun::setupBoundaryGeometry(), StringConstant::StringConstant(), StringConstant::StringConstant(), System::System(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), Title::Title(), TrackCmd::TrackCmd(), TrackRun::TrackRun(), OpalCavity::update(), OpalConstantEFieldCavity::update(), OpalDrift::update(), OpalElement::update(), OpalMonitor::update(), OpalMultipole::update(), OpalProbe::update(), OpalQuadrupole::update(), OpalRBend::update(), OpalRingDefinition::update(), OpalSBend::update(), OpalSolenoid::update(), OpalTravelingWave::update(), OpalVacuum::update(), OpalVerticalFFAMagnet::update(), Beam::update(), BinningCmd::update(), FieldSolverCmd::update(), OpalLaser::update(), OpalMultipoleT::update(), OpalPolynomialTimeDependence::update(), OpalSinusoidalTimeDependence::update(), OpalSplineTimeDependence::update(), OpalVariableRFCavity::update(), Option::update(), OpalElement::updateUnknown(), Beam::validatePolarization(), ValueDefinition::value(), Value::Value(), and ValueDefinition::value().

◆ itsHelp

std::string Object::itsHelp
privateinherited

Definition at line 250 of file Object.h.

Referenced by Object::printHelp().

◆ itsName

std::string Object::itsName
privateinherited

Definition at line 247 of file Object.h.

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

◆ itsParent

Object* Object::itsParent
privateinherited

◆ modified

bool Object::modified
protectedinherited

Dirty flag.

Definition at line 231 of file Object.h.

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

◆ occurrence

int Object::occurrence
privateinherited

Definition at line 253 of file Object.h.

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

◆ references

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

◆ sharedFlag

bool Object::sharedFlag
privateinherited

Definition at line 263 of file Object.h.

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

◆ timeStamp

double Object::timeStamp
privateinherited

Definition at line 256 of file Object.h.


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