OPAL (Object Oriented Parallel Accelerator Library)
2.2.0
OPAL
|
Base class for all beam line elements. More...
#include <OpalElement.h>
Inherits Element.
Inherited by OpalBeamStripping, OpalBend, OpalCavity, OpalCCollimator, OpalCyclotron, OpalCyclotronValley, OpalDegrader, OpalDrift, OpalECollimator, OpalFlexibleCollimator, OpalHKicker, OpalHMonitor, OpalInstrument, OpalKicker, OpalMarker, OpalMonitor, OpalMultipole, OpalMultipoleT, OpalMultipoleTCurvedConstRadius, OpalMultipoleTCurvedVarRadius, OpalMultipoleTStraight, OpalOctupole, OpalOffset::OpalGlobalCartesianOffset, OpalOffset::OpalGlobalCylindricalOffset, OpalOffset::OpalLocalCartesianOffset, OpalOffset::OpalLocalCylindricalOffset, OpalParallelPlate, OpalPatch, OpalPepperPot, OpalPolynomialTimeDependence, OpalProbe, OpalQuadrupole, OpalRBend3D, OpalRCollimator, OpalRingDefinition, OpalSBend3D, OpalScalingFFAMagnet, OpalSeparator, OpalSeptum, OpalSextupole, OpalSlit, OpalSolenoid, OpalSource, OpalSplineTimeDependence, OpalSRot, OpalStripper, OpalTravelingWave, OpalVariableRFCavity, OpalVariableRFCavityFringeField, OpalVerticalFFAMagnet, OpalVKicker, OpalVMonitor, OpalWire, and OpalYRot.
Public Types | |
enum | { TYPE, APERT, LENGTH, ELEMEDGE, WAKEF, PARTICLEMATTERINTERACTION, ORIGIN, ORIENTATION, X, Y, Z, THETA, PHI, PSI, DX, DY, DZ, DTHETA, DPHI, DPSI, COMMON } |
The common attributes for all elements. More... | |
enum | ValueFlag { ACTUAL_FLAG, IDEAL_FLAG, ERROR_FLAG } |
Switch for value desired on ATTLIST command. More... | |
![]() | |
enum | ReferenceType { IS_ENTRY, IS_CENTRE, IS_EXIT } |
Reference for element positioning. More... | |
Public Member Functions | |
virtual | ~OpalElement () |
virtual void | fillRegisteredAttributes (const ElementBase &, ValueFlag) |
Fill in all registered attributes. More... | |
virtual double | getLength () const |
Return element length. More... | |
const std::string | getTypeName () const |
Return the element's type name. More... | |
std::pair < ElementBase::ApertureType, std::vector< double > > | getApert () const |
const std::string | getWakeF () const |
Return the element's type name. More... | |
const std::string | getParticleMatterInteraction () const |
const std::string | getWMaterial () const |
const std::string | getWakeGeom () const |
std::vector< double > | getWakeParam () const |
const std::string | getWakeConductivity () const |
virtual void | parse (Statement &) |
Parse the element. More... | |
virtual void | print (std::ostream &) const |
Print the object. More... | |
virtual void | update () |
Update the embedded CLASSIC element. More... | |
virtual void | updateUnknown (ElementBase *) |
Transmit the ``unknown'' (not known to OPAL) attributes to CLASSIC. More... | |
![]() | |
virtual | ~Element () |
virtual bool | canReplaceBy (Object *object) |
Test if replacement is allowed. 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 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 () |
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 | 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 | replace (Object *oldObject, Object *newObject) |
Replace references. 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... | |
Static Public Member Functions | |
static AttCell * | findRegisteredAttribute (const std::string &name) |
Find a registered attribute. More... | |
static void | setRegisteredAttribute (const std::string &, double) |
Store a registered real attribute. More... | |
static void | setRegisteredAttribute (const std::string &, const std::string &) |
Store a registered string attribute. More... | |
![]() | |
static Element * | find (const std::string &name) |
Find named Element. More... | |
Protected Member Functions | |
OpalElement (int size, const char *name, const char *help) | |
Exemplar constructor. More... | |
OpalElement (const std::string &name, OpalElement *parent) | |
Clone constructor. More... | |
void | registerOwnership () const |
![]() | |
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) |
Static Protected Member Functions | |
static void | printMultipoleStrength (std::ostream &os, int order, int &len, const std::string &sName, const std::string &tName, const Attribute &length, const Attribute &vNorm, const Attribute &vSkew) |
Print multipole components in OPAL-8 format. More... | |
static void | printAttribute (std::ostream &os, const std::string &name, const std::string &image, int &len) |
Print an attribute with a OPAL-8 name (as an expression). More... | |
static void | printAttribute (std::ostream &os, const std::string &name, double value, int &len) |
Print an attribute with a OPAL-8 name (as a constant). More... | |
static AttCell * | registerRealAttribute (const std::string &name) |
Register a ``real'' element attribute. More... | |
static AttCell * | registerStringAttribute (const std::string &name) |
Register a ``string'' element attribute. More... | |
Static Protected Attributes | |
static std::map< std::string, OwnPtr< AttCell > > | attributeRegistry |
The registry for named attributes. More... | |
Private Member Functions | |
OpalElement () | |
void | operator= (const OpalElement &) |
Private Attributes | |
int | itsSize |
Additional Inherited Members | |
![]() | |
std::vector< Attribute > | itsAttr |
The object attributes (see Attribute.hh). More... | |
![]() | |
bool | builtin |
Built-in flag. More... | |
bool | modified |
Dirty flag. More... | |
bool | flagged |
Object flag. More... | |
Base class for all beam line elements.
Definition at line 41 of file OpalElement.h.
anonymous enum |
The common attributes for all elements.
Enumerator | |
---|---|
TYPE | |
APERT | |
LENGTH | |
ELEMEDGE | |
WAKEF | |
PARTICLEMATTERINTERACTION | |
ORIGIN | |
ORIENTATION | |
X | |
Y | |
Z | |
THETA | |
PHI | |
PSI | |
DX | |
DY | |
DZ | |
DTHETA | |
DPHI | |
DPSI | |
COMMON |
Definition at line 46 of file OpalElement.h.
Switch for value desired on ATTLIST command.
Enumerator | |
---|---|
ACTUAL_FLAG | |
IDEAL_FLAG | |
ERROR_FLAG |
Definition at line 71 of file OpalElement.h.
|
virtual |
Definition at line 138 of file OpalElement.cpp.
|
protected |
Exemplar constructor.
Definition at line 49 of file OpalElement.cpp.
References AttributeHandler::addAttributeOwner(), APERT, COMMON, DPHI, DPSI, DTHETA, DX, DY, DZ, ELEMEDGE, AttributeHandler::ELEMENT, Object::itsAttr, LENGTH, Attributes::makeReal(), Attributes::makeRealArray(), Attributes::makeString(), ORIENTATION, ORIGIN, PARTICLEMATTERINTERACTION, PHI, PSI, registerRealAttribute(), registerStringAttribute(), THETA, TYPE, WAKEF, X, Y, and Z.
|
protected |
Clone constructor.
Definition at line 133 of file OpalElement.cpp.
|
private |
|
virtual |
Fill in all registered attributes.
Reimplemented in OpalCyclotron, OpalVariableRFCavityFringeField, OpalMultipoleT, OpalMultipoleTCurvedConstRadius, OpalMultipoleTCurvedVarRadius, OpalCavity, OpalVariableRFCavity, OpalMultipoleTStraight, OpalRingDefinition, OpalScalingFFAMagnet, OpalOffset::OpalLocalCartesianOffset, OpalOffset::OpalGlobalCartesianOffset, OpalOffset::OpalLocalCylindricalOffset, OpalTravelingWave, OpalKicker, OpalOffset::OpalGlobalCylindricalOffset, OpalSBend3D, OpalPolynomialTimeDependence, OpalSplineTimeDependence, OpalVKicker, OpalQuadrupole, OpalRBend3D, OpalStripper, OpalCCollimator, OpalMultipole, OpalOctupole, OpalParallelPlate, OpalPepperPot, OpalProbe, OpalSextupole, OpalSeptum, OpalFlexibleCollimator, OpalHKicker, OpalWire, OpalDegrader, OpalECollimator, OpalRCollimator, OpalSlit, OpalSolenoid, OpalCyclotronValley, OpalSeparator, OpalSRot, OpalYRot, OpalVerticalFFAMagnet, OpalBeamStripping, OpalRBend, OpalSBend, and OpalSource.
Definition at line 143 of file OpalElement.cpp.
References attributeRegistry, AttributeSet::begin(), Quaternion::conjugate(), AttributeSet::end(), Euclid3D::getAll(), Object::getBaseObject(), ElementBase::getCSTrafoGlobal2Local(), ElementBase::getElementLength(), ElementBase::getMisalignment(), Object::getOpalName(), CoordinateSystemTrafo::getOrigin(), Object::getParent(), CoordinateSystemTrafo::getRotation(), Util::getTaitBryantAngles(), getTypeName(), and AlignWrapper::offset().
Referenced by OpalSource::fillRegisteredAttributes(), OpalSBend::fillRegisteredAttributes(), OpalBeamStripping::fillRegisteredAttributes(), OpalRBend::fillRegisteredAttributes(), OpalVerticalFFAMagnet::fillRegisteredAttributes(), OpalSRot::fillRegisteredAttributes(), OpalYRot::fillRegisteredAttributes(), OpalSeparator::fillRegisteredAttributes(), OpalCyclotronValley::fillRegisteredAttributes(), OpalSolenoid::fillRegisteredAttributes(), OpalSlit::fillRegisteredAttributes(), OpalDegrader::fillRegisteredAttributes(), OpalRCollimator::fillRegisteredAttributes(), OpalECollimator::fillRegisteredAttributes(), OpalFlexibleCollimator::fillRegisteredAttributes(), OpalHKicker::fillRegisteredAttributes(), OpalWire::fillRegisteredAttributes(), OpalSeptum::fillRegisteredAttributes(), OpalOctupole::fillRegisteredAttributes(), OpalSextupole::fillRegisteredAttributes(), OpalMultipole::fillRegisteredAttributes(), OpalParallelPlate::fillRegisteredAttributes(), OpalPepperPot::fillRegisteredAttributes(), OpalProbe::fillRegisteredAttributes(), OpalCCollimator::fillRegisteredAttributes(), OpalStripper::fillRegisteredAttributes(), OpalRBend3D::fillRegisteredAttributes(), OpalQuadrupole::fillRegisteredAttributes(), OpalSplineTimeDependence::fillRegisteredAttributes(), OpalVKicker::fillRegisteredAttributes(), OpalPolynomialTimeDependence::fillRegisteredAttributes(), OpalOffset::OpalGlobalCylindricalOffset::fillRegisteredAttributes(), OpalSBend3D::fillRegisteredAttributes(), OpalKicker::fillRegisteredAttributes(), OpalTravelingWave::fillRegisteredAttributes(), OpalOffset::OpalLocalCylindricalOffset::fillRegisteredAttributes(), OpalOffset::OpalGlobalCartesianOffset::fillRegisteredAttributes(), OpalOffset::OpalLocalCartesianOffset::fillRegisteredAttributes(), OpalScalingFFAMagnet::fillRegisteredAttributes(), OpalRingDefinition::fillRegisteredAttributes(), OpalMultipoleTStraight::fillRegisteredAttributes(), OpalVariableRFCavity::fillRegisteredAttributes(), OpalCavity::fillRegisteredAttributes(), OpalMultipoleTCurvedConstRadius::fillRegisteredAttributes(), OpalMultipoleT::fillRegisteredAttributes(), OpalMultipoleTCurvedVarRadius::fillRegisteredAttributes(), OpalVariableRFCavityFringeField::fillRegisteredAttributes(), OpalCyclotron::fillRegisteredAttributes(), and AttWriter::visitFlaggedElmPtr().
|
static |
Find a registered attribute.
Definition at line 195 of file OpalElement.cpp.
References attributeRegistry, and name.
Referenced by AttList::writeTable().
std::pair< ElementBase::ApertureType, std::vector< double > > OpalElement::getApert | ( | ) | const |
Definition at line 219 of file OpalElement.cpp.
References APERT, ElementBase::CONIC_ELLIPTICAL, ElementBase::CONIC_RECTANGULAR, ElementBase::ELLIPTICAL, Attributes::getString(), Object::itsAttr, and ElementBase::RECTANGULAR.
Referenced by Aperture::calcul(), Aperture::run(), and update().
|
virtual |
Return element length.
Implements Element.
Definition at line 372 of file OpalElement.cpp.
References Attributes::getReal(), Object::itsAttr, and LENGTH.
Referenced by OpalSBend::fillRegisteredAttributes(), OpalRBend::fillRegisteredAttributes(), OpalOctupole::fillRegisteredAttributes(), OpalMultipole::fillRegisteredAttributes(), OpalSextupole::fillRegisteredAttributes(), OpalQuadrupole::fillRegisteredAttributes(), and OpalMultipole::update().
const std::string OpalElement::getParticleMatterInteraction | ( | ) | const |
Definition at line 391 of file OpalElement.cpp.
References Object::findAttribute(), and Attributes::getString().
const std::string OpalElement::getTypeName | ( | ) | const |
Return the element's type name.
Definition at line 377 of file OpalElement.cpp.
References Object::findAttribute(), and Attributes::getString().
Referenced by fillRegisteredAttributes(), and Selector::handleElement().
const std::string OpalElement::getWakeConductivity | ( | ) | const |
const std::string OpalElement::getWakeF | ( | ) | const |
Return the element's type name.
Functions to get the wake field parametes
Definition at line 386 of file OpalElement.cpp.
References Object::findAttribute(), and Attributes::getString().
const std::string OpalElement::getWakeGeom | ( | ) | const |
std::vector<double> OpalElement::getWakeParam | ( | ) | const |
const std::string OpalElement::getWMaterial | ( | ) | const |
|
private |
|
virtual |
Parse the element.
Reimplemented from Object.
Definition at line 396 of file OpalElement.cpp.
References Statement::delimiter(), Object::findAttribute(), name, Attribute::parse(), Attribute::parseComponent(), Expressions::parseDelimiter(), Expressions::parseRealConst(), Expressions::parseString(), Round(), and Attribute::setDefault().
|
virtual |
Print the object.
Reimplemented from Object.
Reimplemented in OpalMultipoleT, OpalMultipoleTCurvedConstRadius, OpalMultipoleTCurvedVarRadius, OpalRingDefinition, OpalMultipoleTStraight, OpalOffset::OpalLocalCartesianOffset, OpalOffset::OpalGlobalCartesianOffset, OpalOffset::OpalLocalCylindricalOffset, OpalOffset::OpalGlobalCylindricalOffset, OpalPolynomialTimeDependence, OpalSplineTimeDependence, OpalBend, OpalRBend3D, OpalQuadrupole, OpalMultipole, OpalOctupole, OpalSextupole, and OpalMarker.
Definition at line 431 of file OpalElement.cpp.
References endl(), Object::getOpalName(), and Object::getParent().
Referenced by OpalMarker::print(), OpalOctupole::print(), OpalSextupole::print(), OpalMultipole::print(), OpalQuadrupole::print(), OpalRBend3D::print(), OpalBend::print(), OpalSplineTimeDependence::print(), OpalPolynomialTimeDependence::print(), OpalOffset::OpalGlobalCylindricalOffset::print(), OpalOffset::OpalLocalCylindricalOffset::print(), OpalOffset::OpalGlobalCartesianOffset::print(), OpalOffset::OpalLocalCartesianOffset::print(), OpalMultipoleTStraight::print(), OpalRingDefinition::print(), OpalMultipoleTCurvedConstRadius::print(), OpalMultipoleTCurvedVarRadius::print(), and OpalMultipoleT::print().
|
staticprotected |
Print an attribute with a OPAL-8 name (as an expression).
Definition at line 665 of file OpalElement.cpp.
|
staticprotected |
Print an attribute with a OPAL-8 name (as a constant).
Definition at line 677 of file OpalElement.cpp.
|
staticprotected |
Print multipole components in OPAL-8 format.
Definition at line 459 of file OpalElement.cpp.
References atan2(), Attribute::getBase(), Attribute::getImage(), Attributes::getReal(), AttributeBase::isExpression(), Physics::pi, and sqrt().
|
protected |
Definition at line 701 of file OpalElement.cpp.
References AttributeHandler::addAttributeOwner(), COMMON, AttributeHandler::ELEMENT, Object::getOpalName(), Object::getParent(), Object::itsAttr, and itsSize.
Referenced by OpalBeamStripping::OpalBeamStripping(), OpalCavity::OpalCavity(), OpalCCollimator::OpalCCollimator(), OpalCyclotron::OpalCyclotron(), OpalCyclotronValley::OpalCyclotronValley(), OpalDegrader::OpalDegrader(), OpalDrift::OpalDrift(), OpalECollimator::OpalECollimator(), OpalFlexibleCollimator::OpalFlexibleCollimator(), OpalOffset::OpalGlobalCartesianOffset::OpalGlobalCartesianOffset(), OpalOffset::OpalGlobalCylindricalOffset::OpalGlobalCylindricalOffset(), OpalHKicker::OpalHKicker(), OpalKicker::OpalKicker(), OpalOffset::OpalLocalCartesianOffset::OpalLocalCartesianOffset(), OpalOffset::OpalLocalCylindricalOffset::OpalLocalCylindricalOffset(), OpalMonitor::OpalMonitor(), OpalMultipole::OpalMultipole(), OpalMultipoleT::OpalMultipoleT(), OpalMultipoleTCurvedConstRadius::OpalMultipoleTCurvedConstRadius(), OpalMultipoleTCurvedVarRadius::OpalMultipoleTCurvedVarRadius(), OpalMultipoleTStraight::OpalMultipoleTStraight(), OpalOctupole::OpalOctupole(), OpalParallelPlate::OpalParallelPlate(), OpalPatch::OpalPatch(), OpalPepperPot::OpalPepperPot(), OpalPolynomialTimeDependence::OpalPolynomialTimeDependence(), OpalProbe::OpalProbe(), OpalQuadrupole::OpalQuadrupole(), OpalRBend::OpalRBend(), OpalRBend3D::OpalRBend3D(), OpalRCollimator::OpalRCollimator(), OpalRingDefinition::OpalRingDefinition(), OpalSBend::OpalSBend(), OpalSBend3D::OpalSBend3D(), OpalScalingFFAMagnet::OpalScalingFFAMagnet(), OpalSeparator::OpalSeparator(), OpalSeptum::OpalSeptum(), OpalSextupole::OpalSextupole(), OpalSlit::OpalSlit(), OpalSolenoid::OpalSolenoid(), OpalSource::OpalSource(), OpalSplineTimeDependence::OpalSplineTimeDependence(), OpalSRot::OpalSRot(), OpalStripper::OpalStripper(), OpalTravelingWave::OpalTravelingWave(), OpalVariableRFCavity::OpalVariableRFCavity(), OpalVariableRFCavityFringeField::OpalVariableRFCavityFringeField(), OpalVerticalFFAMagnet::OpalVerticalFFAMagnet(), OpalVKicker::OpalVKicker(), OpalWire::OpalWire(), and OpalYRot::OpalYRot().
|
staticprotected |
Register a ``real'' element attribute.
Definition at line 684 of file OpalElement.cpp.
References attributeRegistry, OwnPtr< Object >::isValid(), and name.
Referenced by OpalMultipole::fillRegisteredAttributes(), OpalOctupole::fillRegisteredAttributes(), OpalSextupole::fillRegisteredAttributes(), OpalQuadrupole::fillRegisteredAttributes(), OpalMultipoleTStraight::fillRegisteredAttributes(), OpalMultipoleT::fillRegisteredAttributes(), OpalMultipoleTCurvedConstRadius::fillRegisteredAttributes(), OpalMultipoleTCurvedVarRadius::fillRegisteredAttributes(), OpalBeamStripping::OpalBeamStripping(), OpalBend::OpalBend(), OpalCavity::OpalCavity(), OpalCCollimator::OpalCCollimator(), OpalCyclotron::OpalCyclotron(), OpalCyclotronValley::OpalCyclotronValley(), OpalDrift::OpalDrift(), OpalECollimator::OpalECollimator(), OpalElement(), OpalOffset::OpalGlobalCartesianOffset::OpalGlobalCartesianOffset(), OpalOffset::OpalGlobalCylindricalOffset::OpalGlobalCylindricalOffset(), OpalHKicker::OpalHKicker(), OpalKicker::OpalKicker(), OpalOffset::OpalLocalCartesianOffset::OpalLocalCartesianOffset(), OpalOffset::OpalLocalCylindricalOffset::OpalLocalCylindricalOffset(), OpalParallelPlate::OpalParallelPlate(), OpalPepperPot::OpalPepperPot(), OpalPolynomialTimeDependence::OpalPolynomialTimeDependence(), OpalProbe::OpalProbe(), OpalQuadrupole::OpalQuadrupole(), OpalRBend3D::OpalRBend3D(), OpalRCollimator::OpalRCollimator(), OpalRingDefinition::OpalRingDefinition(), OpalSBend3D::OpalSBend3D(), OpalScalingFFAMagnet::OpalScalingFFAMagnet(), OpalSeparator::OpalSeparator(), OpalSeptum::OpalSeptum(), OpalSlit::OpalSlit(), OpalSolenoid::OpalSolenoid(), OpalSplineTimeDependence::OpalSplineTimeDependence(), OpalSRot::OpalSRot(), OpalStripper::OpalStripper(), OpalTravelingWave::OpalTravelingWave(), OpalVariableRFCavity::OpalVariableRFCavity(), OpalVariableRFCavityFringeField::OpalVariableRFCavityFringeField(), OpalVerticalFFAMagnet::OpalVerticalFFAMagnet(), OpalVKicker::OpalVKicker(), OpalWire::OpalWire(), and OpalYRot::OpalYRot().
|
staticprotected |
Register a ``string'' element attribute.
Definition at line 693 of file OpalElement.cpp.
References attributeRegistry, OwnPtr< Object >::isValid(), and name.
Referenced by OpalBeamStripping::OpalBeamStripping(), OpalBend::OpalBend(), OpalCavity::OpalCavity(), OpalCCollimator::OpalCCollimator(), OpalCyclotron::OpalCyclotron(), OpalCyclotronValley::OpalCyclotronValley(), OpalDegrader::OpalDegrader(), OpalDrift::OpalDrift(), OpalECollimator::OpalECollimator(), OpalElement(), OpalFlexibleCollimator::OpalFlexibleCollimator(), OpalMonitor::OpalMonitor(), OpalParallelPlate::OpalParallelPlate(), OpalPepperPot::OpalPepperPot(), OpalProbe::OpalProbe(), OpalRBend3D::OpalRBend3D(), OpalRCollimator::OpalRCollimator(), OpalRingDefinition::OpalRingDefinition(), OpalSBend3D::OpalSBend3D(), OpalSeptum::OpalSeptum(), OpalSlit::OpalSlit(), OpalSolenoid::OpalSolenoid(), OpalSource::OpalSource(), OpalStripper::OpalStripper(), OpalTravelingWave::OpalTravelingWave(), OpalVariableRFCavity::OpalVariableRFCavity(), OpalVariableRFCavityFringeField::OpalVariableRFCavityFringeField(), and OpalWire::OpalWire().
|
static |
Store a registered real attribute.
Definition at line 447 of file OpalElement.cpp.
References name.
Referenced by AttWriter::visitFlaggedElmPtr().
|
static |
Store a registered string attribute.
Definition at line 453 of file OpalElement.cpp.
References name.
|
virtual |
Update the embedded CLASSIC element.
Reimplemented from Object.
Reimplemented in OpalCyclotron, OpalVariableRFCavityFringeField, OpalMultipoleT, OpalMultipoleTCurvedConstRadius, OpalMultipoleTCurvedVarRadius, OpalCavity, OpalVariableRFCavity, OpalMultipoleTStraight, OpalRingDefinition, OpalScalingFFAMagnet, OpalOffset::OpalLocalCartesianOffset, OpalOffset::OpalGlobalCartesianOffset, OpalOffset::OpalLocalCylindricalOffset, OpalTravelingWave, OpalOffset::OpalGlobalCylindricalOffset, OpalKicker, OpalPolynomialTimeDependence, OpalSBend3D, OpalSplineTimeDependence, OpalVKicker, OpalQuadrupole, OpalRBend3D, OpalStripper, OpalCCollimator, OpalMultipole, OpalOctupole, OpalParallelPlate, OpalPepperPot, OpalProbe, OpalSextupole, OpalPatch, OpalSeptum, OpalDrift, OpalFlexibleCollimator, OpalHKicker, OpalWire, OpalDegrader, OpalECollimator, OpalRCollimator, OpalSlit, OpalSolenoid, OpalCyclotronValley, OpalSeparator, OpalSRot, OpalYRot, OpalVerticalFFAMagnet, OpalBeamStripping, OpalRBend, OpalMonitor, OpalSBend, OpalMarker, OpalHMonitor, OpalInstrument, OpalVMonitor, and OpalSource.
Definition at line 564 of file OpalElement.cpp.
References Quaternion::conjugate(), cos(), DPHI, DPSI, DTHETA, DX, DY, DZ, ELEMEDGE, ElementBase::fixPosition(), getApert(), Element::getElement(), Attributes::getReal(), Attributes::getRealArray(), Object::itsAttr, ORIENTATION, ORIGIN, PHI, PSI, ElementBase::removeWrappers(), ElementBase::setAperture(), ElementBase::setCSTrafoGlobal2Local(), ElementBase::setElementPosition(), ElementBase::setMisalignment(), ElementBase::setRotationAboutZ(), sin(), THETA, X, Y, and Z.
Referenced by OpalSource::update(), OpalHMonitor::update(), OpalVMonitor::update(), OpalMonitor::update(), OpalSBend::update(), OpalBeamStripping::update(), OpalRBend::update(), OpalSeparator::update(), OpalCyclotronValley::update(), OpalSolenoid::update(), OpalDegrader::update(), OpalECollimator::update(), OpalRCollimator::update(), OpalSlit::update(), OpalFlexibleCollimator::update(), OpalHKicker::update(), OpalWire::update(), OpalDrift::update(), OpalSeptum::update(), OpalPatch::update(), OpalParallelPlate::update(), OpalOctupole::update(), OpalPepperPot::update(), OpalProbe::update(), OpalCCollimator::update(), OpalMultipole::update(), OpalSextupole::update(), OpalStripper::update(), OpalRBend3D::update(), OpalQuadrupole::update(), OpalVKicker::update(), OpalKicker::update(), OpalTravelingWave::update(), OpalMultipoleTStraight::update(), OpalVariableRFCavity::update(), OpalCavity::update(), OpalMultipoleTCurvedVarRadius::update(), OpalMultipoleT::update(), OpalMultipoleTCurvedConstRadius::update(), and OpalVariableRFCavityFringeField::update().
|
virtual |
Transmit the ``unknown'' (not known to OPAL) attributes to CLASSIC.
Definition at line 654 of file OpalElement.cpp.
References Attribute::getName(), Attributes::getReal(), Object::itsAttr, itsSize, and ElementBase::setAttribute().
Referenced by OpalSource::update(), OpalHMonitor::update(), OpalVMonitor::update(), OpalInstrument::update(), OpalMarker::update(), OpalMonitor::update(), OpalSBend::update(), OpalBeamStripping::update(), OpalRBend::update(), OpalSRot::update(), OpalYRot::update(), OpalSeparator::update(), OpalCyclotronValley::update(), OpalSlit::update(), OpalSolenoid::update(), OpalECollimator::update(), OpalDegrader::update(), OpalRCollimator::update(), OpalFlexibleCollimator::update(), OpalWire::update(), OpalHKicker::update(), OpalDrift::update(), OpalSeptum::update(), OpalPatch::update(), OpalPepperPot::update(), OpalMultipole::update(), OpalParallelPlate::update(), OpalOctupole::update(), OpalProbe::update(), OpalSextupole::update(), OpalCCollimator::update(), OpalStripper::update(), OpalRBend3D::update(), OpalQuadrupole::update(), OpalVKicker::update(), OpalKicker::update(), OpalTravelingWave::update(), OpalMultipoleTStraight::update(), OpalCavity::update(), OpalMultipoleTCurvedVarRadius::update(), OpalMultipoleT::update(), OpalMultipoleTCurvedConstRadius::update(), and OpalCyclotron::update().
The registry for named attributes.
Definition at line 172 of file OpalElement.h.
Referenced by OpalSBend::fillRegisteredAttributes(), OpalRBend::fillRegisteredAttributes(), OpalSRot::fillRegisteredAttributes(), OpalYRot::fillRegisteredAttributes(), OpalSeparator::fillRegisteredAttributes(), OpalCyclotronValley::fillRegisteredAttributes(), OpalSlit::fillRegisteredAttributes(), OpalSolenoid::fillRegisteredAttributes(), OpalECollimator::fillRegisteredAttributes(), OpalRCollimator::fillRegisteredAttributes(), OpalFlexibleCollimator::fillRegisteredAttributes(), OpalHKicker::fillRegisteredAttributes(), OpalWire::fillRegisteredAttributes(), OpalParallelPlate::fillRegisteredAttributes(), OpalVKicker::fillRegisteredAttributes(), OpalKicker::fillRegisteredAttributes(), OpalTravelingWave::fillRegisteredAttributes(), OpalVariableRFCavity::fillRegisteredAttributes(), OpalCavity::fillRegisteredAttributes(), OpalVariableRFCavityFringeField::fillRegisteredAttributes(), fillRegisteredAttributes(), findRegisteredAttribute(), registerRealAttribute(), and registerStringAttribute().
|
private |
Definition at line 182 of file OpalElement.h.
Referenced by registerOwnership(), and updateUnknown().