38 static const Entry entries[] = {
87 geometry(rhs.geometry),
114 if(aKey[0] ==
'a' || aKey[0] ==
'b') {
117 for(std::string::size_type k = 1; k < aKey.length(); k++) {
118 if(isdigit(aKey[k])) {
119 n = 10 * n + aKey[k] -
'0';
135 for(
const Entry *table = entries; table->name != 0; ++table) {
136 if(aKey == table->name) {
167 for(
const Entry *table = entries; table->name != 0; ++table) {
168 image->
setAttribute(table->name, (this->*(table->get))());
181 std::string
name(
" ");
182 while(p > buffer) name += *--p;
Interface for basic beam line object.
virtual double getEntryFaceRotation() const
Get pole entry face rotation.
virtual double getSlices() const
Get number of slices.
virtual BMultipoleField & getField()
Get field.
virtual ElementImage * getImage() const
Construct an image.
void setNormalComponent(int n, double Bn)
Set component.
virtual ElementBase * clone() const
Return clone.
virtual void setExitFaceCurvature(double h2)
Set exit pole face curvature.
A simple arc in the XZ plane.
virtual void setName(const std::string &name)
Set element name.
virtual void setElementLength(double length)
Set design length.
virtual Channel * getChannel(const std::string &aKey, bool create=false)
Construct a read/write channel.
BMultipoleField field
The multipole expansion.
double getSkewComponent(int n) const
Get component.
virtual const std::string & getName() const
Get element name.
void setNormalComponent(int, double)
Set normal component.
virtual double getStepsize() const
Get stepsize.
Access to an indexed [b]double[/b] data member.
virtual void setField(const BMultipoleField &field)
Set field.
virtual double getExitFaceCurvature() const
Get exit pole face curvature.
virtual Channel * getChannel(const std::string &aKey, bool=false)
Construct a read/write channel.
virtual PlanarArcGeometry & getGeometry()
Get geometry.
void setSkewComponent(int, double)
Set skew component.
virtual void setSlices(double sl)
Set number of slices.
virtual double getElementLength() const
Get design length.
double getNormalComponent(int n) const
Get component.
virtual ElementImage * getImage() const
Construct an image.
void setAttribute(const std::string &aKey, double val)
Set value of an attribute.
virtual void setEntryFaceCurvature(double h1)
Set entry pole face curvature.
virtual ElementBase * makeFieldWrapper()
Allow field errors.
Representation of a perturbed sector bend.
Abstract interface for read/write access to variable.
virtual double getExitFaceRotation() const
Get exit pole face rotation.
The magnetic field of a multipole.
virtual void setStepsize(double ds)
Set stepsize.
virtual double getEntryFaceCurvature() const
Get entry pole face curvature.
virtual void setExitFaceRotation(double e2)
Set exit pole face rotation.
double getNormalComponent(int) const
Get normal component.
PlanarArcGeometry geometry
The bend geometry.
virtual void setB(double By)
Set vertical component.
virtual double getB() const
Get field.
int order() const
Return order.
virtual void setEntryFaceRotation(double e1)
Set pole entry face rotation.
Access to a [b]double[/b] data member.
Representation for a sector bend magnet.
double getSkewComponent(int) const
Get skew component.