OPAL (Object Oriented Parallel Accelerator Library)
2.2.0
OPAL
|
The LINE definition. More...
#include <Line.h>
Public Member Functions | |
Line () | |
Exemplar constructor. More... | |
virtual | ~Line () |
virtual Line * | clone (const std::string &name) |
Make clone. More... | |
virtual Line * | copy (const std::string &name) |
Make complete copy. More... | |
virtual double | getLength () const |
Return line length. More... | |
virtual Object * | makeTemplate (const std::string &name, TokenStream &is, Statement &stat) |
Make a line template. More... | |
virtual void | parse (Statement &stat) |
Parse the line object. More... | |
virtual void | print (std::ostream &stream) const |
Print the line. More... | |
![]() | |
virtual | ~BeamSequence () |
virtual const std::string | getCategory () const |
Return the object category as a string. More... | |
![]() | |
virtual | ~Element () |
virtual bool | canReplaceBy (Object *object) |
Test if replacement is allowed. 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... | |
ElementBase * | getElement () const |
Return the embedded CLASSIC element. More... | |
void | setElement (ElementBase *) |
Assign new CLASSIC element. More... | |
![]() | |
virtual | ~Object () |
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 * | makeInstance (const std::string &name, Statement &, const Parser *) |
Macro handler function. More... | |
virtual void | parseShortcut (Statement &) |
Parser for single-attribute commands. More... | |
virtual void | printValue (std::ostream &) const |
virtual void | printHelp (std::ostream &) const |
Print help. 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... | |
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... | |
bool | isShared () const |
Test for sharing. More... | |
Private Member Functions | |
Line (const Line &) | |
void | operator= (const Line &) |
Line (const std::string &name, Line *parent) | |
virtual FlaggedBeamline * | fetchLine () const |
Return the embedded CLASSIC beam line. More... | |
void | parseList (Statement &) |
virtual void | replace (Object *oldObject, Object *newObject) |
Replace references. More... | |
Friends | |
class | LineTemplate |
Additional Inherited Members | |
![]() | |
enum | ReferenceType { IS_ENTRY, IS_CENTRE, IS_EXIT } |
Reference for element positioning. More... | |
![]() | |
static BeamSequence * | find (const std::string &name) |
Find a BeamSequence by name. More... | |
![]() | |
static Element * | find (const std::string &name) |
Find named Element. More... | |
![]() | |
std::vector< Attribute > | itsAttr |
The object attributes (see Attribute.hh). More... | |
![]() | |
BeamSequence (int size, const char *name, const char *help) | |
Constructor for exemplars. More... | |
BeamSequence (const std::string &name, BeamSequence *parent) | |
Constructor for clones. More... | |
![]() | |
Element (int size, const char *name, const char *help) | |
Constructor for exemplars. More... | |
Element (const std::string &name, Element *parent) | |
Constructor for clones. More... | |
![]() | |
Object (int size, const char *name, const char *help) | |
Constructor for exemplars. More... | |
Object (const std::string &name, Object *parent) | |
Constructor for clones. More... | |
![]() | |
RCObject () | |
Default constructor. More... | |
RCObject (const RCObject &) | |
Copy constructor. More... | |
virtual | ~RCObject ()=0 |
RCObject & | operator= (const RCObject &right) |
![]() | |
bool | builtin |
Built-in flag. More... | |
bool | modified |
Dirty flag. More... | |
bool | flagged |
Object flag. More... | |
Line::Line | ( | ) |
Exemplar constructor.
Definition at line 67 of file Line.cpp.
References Object::itsAttr, Attributes::makeReal(), Attributes::makeRealArray(), Attributes::makeString(), Object::registerOwnership(), Element::setElement(), AttributeHandler::STATEMENT, Attrib::Distribution::TYPE, X, and Y.
Referenced by clone(), and copy().
|
private |
|
private |
Definition at line 108 of file Line.cpp.
References Element::setElement().
|
virtual |
|
virtual |
Make complete copy.
Implements BeamSequence.
Definition at line 124 of file Line.cpp.
References clone(), fetchLine(), and Line().
|
privatevirtual |
Return the embedded CLASSIC beam line.
Implements BeamSequence.
Definition at line 291 of file Line.cpp.
References Element::getElement(), and ElementBase::removeWrappers().
Referenced by copy(), parse(), parseList(), print(), and replace().
|
virtual |
Return line length.
Implements Element.
Definition at line 132 of file Line.cpp.
References Attributes::getReal(), and Object::itsAttr.
|
virtual |
Make a line template.
Reimplemented from Object.
Definition at line 138 of file Line.cpp.
References LineTemplate::parseTemplate().
|
private |
|
virtual |
Parse the line object.
Reimplemented from Object.
Definition at line 152 of file Line.cpp.
References OpalData::apply(), ElementBase::copyStructure(), cos(), Statement::delimiter(), fetchLine(), Element::find(), Object::findAttribute(), Element::getElement(), OpalData::getInstance(), ElementBase::getName(), Attributes::getReal(), Attributes::getRealArray(), Object::increment(), OwnPtr< Object >::isValid(), Object::itsAttr, Attribute::parse(), Expressions::parseDelimiter(), parseList(), Expressions::parseString(), Attribute::setDefault(), TBeamline< T >::setInitialDirection(), TBeamline< T >::setOrigin3D(), TBeamline< T >::setRelativeFlag(), sin(), X, and Y.
Referenced by LineTemplate::makeInstance().
|
private |
Definition at line 296 of file Line.cpp.
References Statement::delimiter(), fetchLine(), OpalData::find(), OpalData::getInstance(), Statement::integer(), Pointer< Object >::isValid(), Object::makeInstance(), Expressions::parseDelimiter(), parseList(), Expressions::parseString(), and FlaggedElmPtr::setReflectionFlag().
Referenced by parse(), and parseList().
|
virtual |
Print the line.
Reimplemented from Object.
Definition at line 269 of file Line.cpp.
References endl(), fetchLine(), Object::getOpalName(), and name.
Replace references.
Reimplemented from Object.
Definition at line 363 of file Line.cpp.
References DefaultVisitor::execute(), fetchLine(), Element::getElement(), and Object::getOpalName().
|
friend |