class
Component
: public ElementBase
(Return to index)
Interface for a single beam element.
Class Component defines the abstract interface for an arbitrary single
component in a beam line. A component is the basic element in the
accelerator model, like a dipole, a quadrupole, etc. It is normally
associated with an electro-magnetic field, which may be null.
Type: |
Abstract |
Superclasses: |
public ElementBase |
Include file: |
./AbsBeamline/Component.hh |
Inheritance
Synopsis (including inherited members):
- Public members:
-
Component
(const string&)
;
-
Component
()
;
-
Component
(const Component&)
;
-
virtual ~Component
()
;
-
virtual EMField& getField
()
= 0
;
-
virtual const EMField& getField
()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 Geometry& getGeometry
()
= 0
;
-
virtual const Geometry& getGeometry
()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 void accept
(BeamlineVisitor&)const
= 0
;
-
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:
-
BVector Bfield
(const Point3D&)const
;
- Return the field in a point.
Return the value of the time-independent part of the magnetic
field at point P.
-
BVector Bfield
(const Point3D&,double)const
;
- Return the field in a point.
Return the value of the time-dependent part of the magnetic
field at point P for time t.
-
Component
(const string&)
;
- Constructor with given name.
-
EBVectors EBfield
(const Point3D&)const
;
- Return the field in a point.
Return the value of the time-independent part of both electric
and magnetic fields at point P.
-
EBVectors EBfield
(const Point3D&,double)const
;
- Return the field in a point.
Return the value of the time-dependent part of both electric
and magnetic fields at point P for time t.
-
EVector Efield
(const Point3D&)const
;
- Return the field in a point.
Return the value of the time-independent part of the electric
field at point P.
-
EVector Efield
(const Point3D&,double)const
;
- Return the field in a point.
Return the value of the time-dependent part of the electric
field at point P for time t.
-
virtual const ElementBase& getDesign
()const
;
- Return design element.
If a component is a wrapper, this method returns a pointer to
its underlying design element, otherwise a pointer to this component.
The default version returns ``this''.
-
virtual EMField& getField
()
= 0
;
- Return field.
The representation of the electro-magnetic field of the component
(version for non-constant object).
-
virtual const EMField& getField
()const
= 0
;
- Return field.
The representation of the electro-magnetic field of the component
(version for constant object).
-
virtual void trackBunch
(PartBunch&,const PartData&,bool,bool)const
;
- Track particle bunch.
This catch-all method implements a hook for tracking a particle
bunch through a non-standard component.
The default version throws a LogicalError.
-
virtual void trackMap
(FVps<double,6>&,const PartData&,bool,bool)const
;
- Track a map.
This catch-all method implements a hook for tracking a transfer
map through a non-standard component.
The default version throws a LogicalError.
Documentation generated by fci on Mon Feb 7 11:41:34 2000