26 "The \"DEGRADER\" element defines a degrader."),
27 parmatint_m(nullptr) {
29 (
"XSIZE",
"not used",0.0);
31 (
"YSIZE",
"not used",0.0);
41 parmatint_m(nullptr) {
64 deg->setElementLength(length);
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.
T deg(T x)
Convert radians to degrees.
ElementBase * getElement() const
Return the embedded CLASSIC element.
void setElement(ElementBase *)
Assign new CLASSIC element.
std::vector< Attribute > itsAttr
The object attributes.
OpalDegrader()
Exemplar constructor.
virtual OpalDegrader * clone(const std::string &name)
Make clone.
ParticleMatterInteraction * parmatint_m
virtual void update()
Update the embedded CLASSIC collimator.
@ 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 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)