class
Multipole
: public Component
(Return to index)
Interface for general multipole.
Class Multipole defines the abstract interface for magnetic multipoles.
The order n of multipole components runs from 1 to N and is dynamically
adjusted. It is connected with the number of poles by the table
1 | dipole |
2 | quadrupole |
3 | sextupole |
4 | octupole |
5 | decapole |
n | multipole with 2*n poles |
Units for multipole strengths are Teslas / m**(n-1).
Type: |
Abstract |
Superclasses: |
public Component |
Include file: |
./AbsBeamline/Multipole.hh |
Inheritance
Synopsis (including inherited members):
- Public members:
-
Multipole
(const string&)
;
-
Multipole
()
;
-
Multipole
(const Multipole&)
;
-
virtual ~Multipole
()
;
-
virtual void accept
(BeamlineVisitor&)const
;
-
virtual BMultipoleField& getField
()
= 0
;
-
virtual const BMultipoleField& getField
()const
= 0
;
-
double getNormalComponent
(int)const
;
-
double getSkewComponent
(int)const
;
-
void setNormalComponent
(int,double)
;
-
void setSkewComponent
(int,double)
;
-
virtual StraightGeometry& getGeometry
()
= 0
;
-
virtual const StraightGeometry& getGeometry
()const
= 0
;
-
EVector Efield
(const Point3D&)const
;
-
BVector Bfield
(const Point3D&)const
;
-
EVector Efield
(const Point3D&,double)const
;
-
BVector Bfield
(const Point3D&,double)const
;
-
EBVectors EBfield
(const Point3D&)const
;
-
EBVectors EBfield
(const Point3D&,double)const
;
-
virtual const ElementBase& getDesign
()const
;
-
virtual void trackBunch
(PartBunch&,const PartData&,bool,bool)const
;
-
virtual void trackMap
(FVps<double,6>&,const PartData&,bool,bool)const
;
-
virtual const string& getName
()const
;
-
virtual void setName
(const string&)
;
-
virtual const string& getType
()const
= 0
;
-
virtual double getArcLength
()const
;
-
virtual double getElementLength
()const
;
-
virtual void setElementLength
(double)
;
-
virtual double getOrigin
()const
;
-
virtual double getEntrance
()const
;
-
virtual double getExit
()const
;
-
virtual Euclid3D getTransform
(double,double)const
;
-
virtual Euclid3D getTransform
(double)const
;
-
virtual Euclid3D getTotalTransform
()const
;
-
virtual Euclid3D getEntranceFrame
()const
;
-
virtual Euclid3D getExitFrame
()const
;
-
virtual Euclid3D getEntrancePatch
()const
;
-
virtual Euclid3D getExitPatch
()const
;
-
virtual double getAttribute
(const string&)const
;
-
virtual bool hasAttribute
(const string&)const
;
-
virtual void removeAttribute
(const string&)
;
-
virtual void setAttribute
(const string&,double)
;
-
virtual Channel* getChannel
(const string&)
;
-
virtual const ConstChannel* getConstChannel
(const string&)const
;
-
virtual ElementImage* getImage
()const
;
-
virtual ElementBase* clone
()const
= 0
;
-
virtual ElementBase* copyStructure
()
;
-
bool isSharable
()const
;
-
virtual void makeSharable
()
;
-
virtual ElementBase* makeAlignWrapper
()
;
-
virtual ElementBase* makeFieldWrapper
()
;
-
virtual ElementBase* makeWrappers
()
;
-
virtual ElementBase* removeAlignWrapper
()
;
-
virtual const ElementBase* removeAlignWrapper
()const
;
-
virtual ElementBase* removeFieldWrapper
()
;
-
virtual const ElementBase* removeFieldWrapper
()const
;
-
virtual ElementBase* removeWrappers
()
;
-
virtual const ElementBase* removeWrappers
()const
;
-
bool update
(const AttributeSet&)
;
-
int addReference
()const
;
-
int removeReference
()const
;
-
bool isShared
()const
;
Documentation:
- Public members:
-
Multipole
(const string&)
;
- Constructor with given name.
-
virtual void accept
(BeamlineVisitor&)const
;
- Apply visitor to Multipole.
-
virtual BMultipoleField& getField
()
= 0
;
- Get multipole field.
-
virtual const BMultipoleField& getField
()const
= 0
;
- Get multipole field. Version for const object.
-
virtual StraightGeometry& getGeometry
()
= 0
;
- Get geometry.
-
virtual const StraightGeometry& getGeometry
()const
= 0
;
- Get geometry.
-
double getNormalComponent
(int)const
;
- Get normal component.
Return the normal component of order n in T/m**(n-1).
If n is larger than the maximum order, the return value is zero.
-
double getSkewComponent
(int)const
;
- Get skew component.
Return the skew component of order n in T/m**(n-1).
If n is larger than the maximum order, the return value is zero.
-
void setNormalComponent
(int,double)
;
- Set normal component.
Set the normal component of order n in T/m**(n-1).
If n is larger than the maximum order, the component is created.
-
void setSkewComponent
(int,double)
;
- Set skew component.
Set the skew component of order n in T/m**(n-1).
If n is larger than the maximum order, the component is created.
Documentation generated by fci on Mon Feb 7 11:41:45 2000