28 "The \"DRIFT\" element defines a drift space."),
39 (
"GEOMETRY",
"BoundaryGeometry for Drifts");
42 (
"NSLICES",
"The number of slices/ steps for this element in Map Tracking", 1);
double getReal(const Attribute &attr)
Return real value.
Attribute makeReal(const std::string &name, const std::string &help)
Make real attribute.
std::string getString(const Attribute &attr)
Get string value.
Attribute makeString(const std::string &name, const std::string &help)
Make string attribute.
ElementBase * getElement() const
Return the embedded CLASSIC element.
void setElement(ElementBase *)
Assign new CLASSIC element.
const std::string & getOpalName() const
Return object name.
std::vector< Attribute > itsAttr
The object attributes.
void setNSlices(const std::size_t &nSlices)
virtual void setBoundaryGeometry(BoundaryGeometry *geo)
virtual void setElementLength(double length)
Set design length.
virtual void setParticleMatterInteraction(ParticleMatterInteractionHandler *spys)
virtual void setWake(WakeFunction *wf)
attach a wake field to the element
virtual bool isDrift() const
Test for drift.
virtual void update()
Update the embedded CLASSIC drift.
ParticleMatterInteraction * parmatint_m
BoundaryGeometry * obgeo_m
OpalDrift()
Exemplar constructor.
virtual OpalDrift * clone(const std::string &name)
Make clone.
@ PARTICLEMATTERINTERACTION
virtual void updateUnknown(ElementBase *)
Transmit the `‘unknown’' (not known to OPAL) attributes to CLASSIC.
virtual void update()
Update the embedded CLASSIC element.
void registerOwnership() const
static BoundaryGeometry * find(const std::string &name)
static OpalWake * find(const std::string &name)
Find named WAKE.
void initWakefunction(const ElementBase &element)
virtual ParticleMatterInteraction * clone(const std::string &name)
Make clone.
static ParticleMatterInteraction * find(const std::string &name)
Find named PARTICLEMATTERINTERACTION.
ParticleMatterInteractionHandler * handler_m
void initParticleMatterInteractionHandler(ElementBase &element)