27 "The \"CCOLLIMATOR\" element defines a rectangular-shape cyclotron collimator"),
28 parmatint_m(nullptr) {
30 (
"XSTART",
" Start of x coordinate [mm]");
32 (
"XEND",
" End of x coordinate, [mm]");
34 (
"YSTART",
"Start of y coordinate, [mm]");
36 (
"YEND",
"End of y coordinate, [mm]");
38 (
"ZSTART",
"Start of vertical coordinate, [mm], default value: -100",-100.0);
40 (
"ZEND",
"End of vertical coordinate, [mm], default value: 100", 100.0);
42 (
"WIDTH",
"Width of the collimator [mm]");
52 parmatint_m(nullptr) {
85 coll->
setDimensions(xstart, xend, ystart, yend, zstart, zend, width);
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.
std::vector< Attribute > itsAttr
The object attributes.
void setDimensions(double xstart, double xend, double ystart, double yend, double zstart, double zend, double width)
Set dimensions and consistency checks.
virtual void setElementLength(double length)
Set design length.
void setOutputFN(std::string fn)
Set output filename.
virtual void setParticleMatterInteraction(ParticleMatterInteractionHandler *spys)
virtual void update()
Update the embedded CLASSIC collimator.
OpalCCollimator()
Exemplar constructor.
virtual OpalCCollimator * clone(const std::string &name)
Make clone.
virtual ~OpalCCollimator()
ParticleMatterInteraction * parmatint_m
@ 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)