23#include <boost/regex.hpp>
28 "The \"SLIT\" element defines a slit."),
29 parmatint_m(nullptr) {
31 (
"XSIZE",
"Horizontal half-aperture in m");
33 (
"YSIZE",
"Vertical half-aperture in m");
43 parmatint_m(nullptr) {
71 std::stringstream description;
72 description <<
"rectangle(" << width <<
"," << height <<
")";
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.
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 setAperture(const ApertureType &type, const std::vector< double > &args)
virtual void setElementLength(double length)
Set design length.
void setOutputFN(std::string fn)
Set output filename.
virtual void setParticleMatterInteraction(ParticleMatterInteractionHandler *spys)
void setDescription(const std::string &desc)
@ 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
virtual OpalSlit * clone(const std::string &name)
Make clone.
OpalSlit()
Exemplar constructor.
ParticleMatterInteraction * parmatint_m
virtual void update()
Update the embedded CLASSIC collimator.
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)