37 #ifndef CLASSIC_SingleMultipole_HH
38 #define CLASSIC_SingleMultipole_HH
136 geometry(multipole.geometry),
137 field(multipole.field)
154 template <
int order>
inline
156 return field.getComponent();
159 template <
int order>
inline
161 field.setComponent(value);
179 template <
int order>
inline
184 template <
int order>
inline
190 template <
int order>
inline
196 template <
int order>
inline
198 for(
const Entry *entry = entries; entry->
name != 0; ++entry) {
199 if(aKey == entry->name) {
201 (*
this, entry->get, entry->set);
virtual Channel * getChannel(const std::string &aKey, bool create=false)
Construct a read/write channel.
Interface for general multipole.
virtual ~SingleMultipole()
static const std::string type
virtual double getComponent() const
Get component.
static const Entry entries[]
virtual void setComponent(double Bn)
Set component.
BMultipoleField tempField
virtual Channel * getChannel(const std::string &aKey, bool=false)
Construct a read/write channel.
StraightGeometry geometry
Multipole geometry.
BSingleMultipoleField< order > field
The single multipole component.
virtual BMultipoleField & getField()
Get field.
virtual ElementBase * clone() const
Return clone.
virtual StraightGeometry & getGeometry()
Get geometry.
void operator=(const SingleMultipole &)
void(SingleMultipole< order >::* set)(double)
double(SingleMultipole< order >::* get)() const
A geometry representing a straight line.
Abstract interface for read/write access to variable.
Access to a [b]double[/b] data member.
The magnetic field of a multipole.
Representation for a single magnetic multipole field.