37#ifndef CLASSIC_SingleMultipole_HH
38#define CLASSIC_SingleMultipole_HH
154template <
int order>
inline
156 return field.getComponent();
159template <
int order>
inline
161 field.setComponent(value);
179template <
int order>
inline
184template <
int order>
inline
190template <
int order>
inline
196template <
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.
ElementBase(const std::string &name)
Constructor with given name.
Multipole(const std::string &name)
Constructor with given name.
virtual ~SingleMultipole()
static const std::string type
virtual double getComponent() const
Get component.
static const Entry entries[]
virtual void setComponent(double Bn)
Set component.
virtual const BMultipoleField & getField() const
Get field.
void(SingleMultipole< order >::* set)(double)
BMultipoleField tempField
virtual Channel * getChannel(const std::string &aKey, bool=false)
Construct a read/write channel.
StraightGeometry geometry
double(SingleMultipole< order >::* get)() const
BSingleMultipoleField< order > field
virtual const StraightGeometry & getGeometry() const
Get geometry.
SingleMultipole(const std::string &name)
Constructor with given name.
virtual BMultipoleField & getField()
Get field.
virtual ElementBase * clone() const
Return clone.
virtual StraightGeometry & getGeometry()
Get geometry.
SingleMultipole(const SingleMultipole &)
void operator=(const SingleMultipole &)
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.