28 "The \"BEAMSTRIPPING\" element defines a beam stripping interaction"),
31 (
"PRESSURE",
" Pressure in the accelerator, [mbar]");
33 (
"TEMPERATURE",
" Temperature of the accelerator, [K]");
35 (
"PMAPFN",
"Filename for the Pressure fieldmap");
37 (
"PSCALE",
"Scale factor for the P-field", 1.0);
39 (
"GAS",
"The composition of residual gas");
41 (
"STOP",
"Option Whether stop tracking after beam stripping. Default: true",
true);
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.
virtual ~OpalBeamStripping()
virtual ElementBase * removeWrappers()
Return the design element.
ParticleMatterInteraction * parmatint_m
std::vector< Attribute > itsAttr
The object attributes (see Attribute.hh).
virtual void fillRegisteredAttributes(const ElementBase &, ValueFlag)
Fill in all registered attributes.
Representation for a beam stripping.
static ParticleMatterInteraction * find(const std::string &name)
Find named PARTICLEMATTERINTERACTION.
bool getBool(const Attribute &attr)
Return logical value.
virtual void update()
Update the embedded CLASSIC beam stripping.
ParticleMatterInteractionHandler * handler_m
const std::string & getOpalName() const
Return object name.
constexpr double pi
The value of .
void initParticleMatterInteractionHandler(ElementBase &element)
void setPScale(double ps)
void setStop(bool stopflag)
Base class for all beam line elements.
void setTemperature(double temperature)
void setPressureMapFN(std::string pmapfn)
OpalBeamStripping()
Exemplar constructor.
void setElement(ElementBase *)
Assign new CLASSIC element.
void registerOwnership() const
virtual void update()
Update the embedded CLASSIC element.
void setPressure(double pressure)
virtual void updateUnknown(ElementBase *)
Transmit the ``unknown'' (not known to OPAL) attributes to CLASSIC.
virtual OpalBeamStripping * clone(const std::string &name)
Make clone.
virtual void setParticleMatterInteraction(ParticleMatterInteractionHandler *spys)
ElementBase * getElement() const
Return the embedded CLASSIC element.
The BEAMSTRIPPING element.
void setResidualGas(std::string gas)
Attribute makeBool(const std::string &name, const std::string &help)
Make logical attribute.
double getReal(const Attribute &attr)
Return real value.
Attribute makeString(const std::string &name, const std::string &help)
Make string attribute.
Attribute makeReal(const std::string &name, const std::string &help)
Make real attribute.
static AttCell * registerRealAttribute(const std::string &name)
Register a ``real'' element attribute.
std::string getString(const Attribute &attr)
Get string value.