37 const Entry entries[] = {
52 Monitor(), field(), geometry(), active(true)
57 Monitor(right), field(), geometry(right.geometry), active(true)
62 Monitor(name), field(), geometry(), active(true)
76 for(
const Entry *entry = entries; entry->name != 0; ++entry) {
77 if(aKey == entry->name) {
107 for(
const Entry *entry = entries; entry->name != 0; ++entry) {
108 image->
setAttribute(entry->name, (this->*(entry->get))());
Interface for basic beam line object.
NullField field
The zero magnetic field.
virtual Channel * getChannel(const std::string &aKey, bool=false)
Construct a read/write channel.
Interface for beam position monitors.
virtual Plane getPlane() const
Get planes.
virtual void setElementLength(double length)
Set design length.
virtual NullField & getField()
Get field.
virtual Channel * getChannel(const std::string &aKey, bool create=false)
Construct a read/write channel.
StraightGeometry geometry
The monitor geometry.
Monitor acts on both planes.
virtual StraightGeometry & getGeometry()
Get geometry.
A zero electromagnetic field.
Monitor is off (inactive).
virtual ElementImage * getImage() const
Construct an image.
virtual double getElementLength() const
Get design length.
virtual ElementImage * getImage() const
Construct an image.
void setAttribute(const std::string &aKey, double val)
Set value of an attribute.
A geometry representing a straight line.
Abstract interface for read/write access to variable.
Representation for an orbit position monitor.
virtual ElementBase * clone() const
Return clone.
bool active
The active/inactive flag.
virtual void setActive(bool=true)
Set active flag.
Access to a [b]double[/b] data member.