1 #ifndef OPAL_OpalElement_HH
2 #define OPAL_OpalElement_HH
94 std::pair<ElementBase::ApertureType, std::vector<double> >
getApert()
const;
117 virtual void print(std::ostream &)
const;
145 const std::string &sName,
146 const std::string &tName,
153 const std::string &
name,
154 const std::string &image,
159 const std::string &
name,
185 #endif // OPAL_OpalElement_HH
const std::string getWakeConductivity() const
const std::string getTypeName() const
Return the element's type name.
static AttCell * registerStringAttribute(const std::string &name)
Register a ``string'' element attribute.
Interface for basic beam line object.
virtual void fillRegisteredAttributes(const ElementBase &, ValueFlag)
Fill in all registered attributes.
ValueFlag
Switch for value desired on ATTLIST command.
The abstract base class for attribute cells.
virtual double getLength() const
Return element length.
const std::string getWakeGeom() const
const std::string getWMaterial() const
static void setRegisteredAttribute(const std::string &, double)
Store a registered real attribute.
std::pair< ElementBase::ApertureType, std::vector< double > > getApert() const
virtual void parse(Statement &)
Parse the element.
static std::map< std::string, OwnPtr< AttCell > > attributeRegistry
The registry for named attributes.
The base class for all OPAL elements.
A representation of an Object attribute.
const std::string getWakeF() const
Return the element's type name.
Interface for statements.
void operator=(const OpalElement &)
Base class for all beam line elements.
const std::string getParticleMatterInteraction() const
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).
void registerOwnership() const
virtual void update()
Update the embedded CLASSIC element.
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.
virtual void updateUnknown(ElementBase *)
Transmit the ``unknown'' (not known to OPAL) attributes to CLASSIC.
std::vector< double > getWakeParam() const
static AttCell * findRegisteredAttribute(const std::string &name)
Find a registered attribute.
static AttCell * registerRealAttribute(const std::string &name)
Register a ``real'' element attribute.
virtual void print(std::ostream &) const
Print the object.