32 "The \"CCOLLIMATOR\" element defines a rectangular-shape cyclotron collimator"),
35 (
"XSTART",
" Start of x coordinate [mm]");
37 (
"XEND",
" End of x coordinate, [mm]");
39 (
"YSTART",
"Start of y coordinate, [mm]");
41 (
"YEND",
"End of y coordinate, [mm]");
43 (
"ZSTART",
"Start of vertical coordinate, [mm], default value: -100",-100.0);
45 (
"ZEND",
"End of vertical coordinate, [mm], default value: 100", 100.0);
47 (
"WIDTH",
"Width of the collimator [mm]");
49 (
"OUTFN",
"Output filename");
103 coll->
setDimensions(xstart, xend, ystart, yend, zstart, zend, width);
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.
Representation for a collimator.
virtual ElementBase * removeWrappers()
Return the design element.
virtual void setElementLength(double length)
Set design length.
virtual ~OpalCCollimator()
std::vector< Attribute > itsAttr
The object attributes (see Attribute.hh).
static ParticleMatterInteraction * find(const std::string &name)
Find named PARTICLEMATTERINTERACTION.
ParticleMatterInteractionHandler * handler_m
virtual void fillRegisteredAttributes(const ElementBase &, ValueFlag)
Fill in all registered attributes.
const std::string & getOpalName() const
Return object name.
constexpr double pi
The value of .
void initParticleMatterInteractionHandler(ElementBase &element)
virtual void update()
Update the embedded CLASSIC collimator.
Base class for all beam line elements.
void setElement(ElementBase *)
Assign new CLASSIC element.
void registerOwnership() const
virtual void update()
Update the embedded CLASSIC element.
OpalCCollimator()
Exemplar constructor.
virtual void updateUnknown(ElementBase *)
Transmit the ``unknown'' (not known to OPAL) attributes to CLASSIC.
virtual void setParticleMatterInteraction(ParticleMatterInteractionHandler *spys)
ElementBase * getElement() const
Return the embedded CLASSIC element.
void setDimensions(double xstart, double xend, double ystart, double yend, double zstart, double zend, double width)
Set dimensions and consistency checks.
virtual OpalCCollimator * clone(const std::string &name)
Make clone.
double getReal(const Attribute &attr)
Return real value.
void setOutputFN(std::string fn)
Set output filename.
ParticleMatterInteraction * parmatint_m
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.