29 double(MultipoleRep::*get)()
const;
30 void (MultipoleRep::*set)(double);
75 if(aKey[0] ==
'A' || aKey[0] ==
'B') {
78 for(std::string::size_type k = 1; k < aKey.length(); k++) {
79 if(isdigit(aKey[k])) {
80 n = 10 * n + aKey[k] -
'0';
96 for(
const Entry *entry =
entries; entry->name != 0; ++entry) {
97 if(aKey == entry->name) {
99 (*
this, entry->get, entry->set);
const SingleMultipole< 4 >::Entry SingleMultipole< 4 >::entries[]
virtual Channel * getChannel(const std::string &aKey, bool create=false)
Construct a read/write channel.
virtual double getElementLength() const
Get design length.
virtual void setElementLength(double length)
Set design length.
ElementBase(const std::string &name)
Constructor with given name.
void setNormalComponent(int, double)
Set normal component.
Multipole(const std::string &name)
Constructor with given name.
double getSkewComponent(int n) const
Get skew component.
void setSkewComponent(int, double)
Set skew component.
double getNormalComponent(int n) const
Get normal component.
virtual ElementBase * clone() const
Return clone.
virtual Channel * getChannel(const std::string &aKey, bool=false)
Construct a read/write channel.
StraightGeometry geometry
Multipole geometry.
virtual BMultipoleField & getField()
Get field.
BMultipoleField field
Multipole field.
virtual void setField(const BMultipoleField &field)
Set mulitpole field.
virtual StraightGeometry & getGeometry()
Get geometry.
MultipoleRep(const std::string &name)
Constructor with given name.
A geometry representing a straight line.
Abstract interface for read/write access to variable.
Access to an indexed [b]double[/b] data member.
Access to a [b]double[/b] data member.
The magnetic field of a multipole.