26 "The \"DEGRADER\" element defines a degrader."),
27 parmatint_m(nullptr) {
29 (
"XSIZE",
"Horizontal axis of the transverse elliptical shape [m]", 1E6);
32 (
"YSIZE",
"Vertical axis of the transverse elliptical shape [m]", 1E6);
42 parmatint_m(nullptr) {
Attribute makeReal(const std::string &name, const std::string &help)
Make real attribute.
std::string getString(const Attribute &attr)
Get string value.
virtual void setParticleMatterInteraction(ParticleMatterInteractionHandler *spys)
static ParticleMatterInteraction * find(const std::string &name)
Find named PARTICLEMATTERINTERACTION.
virtual void update()
Update the embedded CLASSIC collimator.
OpalDegrader()
Exemplar constructor.
virtual OpalDegrader * clone(const std::string &name)
Make clone.
void setElement(ElementBase *)
Assign new CLASSIC element.
void initParticleMatterInteractionHandler(ElementBase &element)
ElementBase * getElement() const
Return the embedded CLASSIC element.
std::vector< Attribute > itsAttr
The object attributes.
T deg(T x)
Convert radians to degrees.
double getReal(const Attribute &attr)
Return real value.
ParticleMatterInteractionHandler * handler_m
virtual ParticleMatterInteraction * clone(const std::string &name)
Make clone.
virtual void setElementLength(double length)
Set design length.
virtual void updateUnknown(ElementBase *)
Transmit the ``unknown'' (not known to OPAL) attributes to CLASSIC.
ParticleMatterInteraction * parmatint_m
void setDimensions(double xsize, double ysize)
virtual void update()
Update the embedded CLASSIC element.
void registerOwnership() const