class
Mapper
: public AbstractMapper
(Return to index)
Build transfer map.
An abstract visitor class implementing the default behaviour for all
visitors capable of tracking a transfer map through a beam line.
It implements some default behaviour for such visitors.
Phase space coordinates (in this order):
- x:
-
horizontal displacement (metres).
- p_x/p_r:
-
horizontal canonical momentum (no dimension).
- y:
-
vertical displacement (metres).
- p_y/p_r:
-
vertical canonical momentum (no dimension).
- delta_p/p_r:
-
relative momentum error (no dimension).
- v*delta_t:
-
time difference delta_t w.r.t. the reference frame which moves with
uniform velocity
v_r = c*beta_r = p_r/m
along the design orbit, multiplied by the instantaneous velocity v of
the particle (metres).
Where
- p_r:
-
is the constant reference momentum defining the reference frame velocity.
- m:
-
is the rest mass of the particles.
Other units used:
- reference momentum:
-
electron-volts.
- accelerating voltage:
-
volts.
- separator voltage:
-
volts.
- frequencies:
-
hertz.
- phase lags:
-
multiples of (2*pi).
Type: |
Abstract |
Superclasses: |
public AbstractMapper |
Include file: |
./Algorithms/Mapper.hh |
Inheritance
Synopsis (including inherited members):
- Public members:
- Protected Members:
Documentation:
- Public members:
-
Mapper
(const Beamline&,const PartData&,bool,bool)
;
- Constructor.
The beam line to be tracked is bl.
The particle reference data are taken from data.
If revBeam is true, the beam runs from s = C to s = 0.
If revTrack is true, we track against the beam.
-
virtual void getMap
(LinearMap<double,6>&)const
;
- Return the linear part of the accumulated map.
-
virtual void getMap
(TransportMap<double,6>&)const
;
- Return the second-order part of the accumulated map.
-
virtual void getMap
(FVps<double,6>&)const
;
- Return the full map accumulated so far.
-
virtual void setMap
(const LinearMap<double,6>&)
;
- Reset the linear part of the accumulated map for restart.
-
virtual void setMap
(const TransportMap<double,6>&)
;
- Reset the second-order part of the accumulated map for restart.
-
virtual void setMap
(const FVps<double,6>&)
;
- Reset the full map for restart.
-
virtual void visitAlignWrapper
(const AlignWrapper&)
;
- Apply the algorithm to an align wrapper.
-
virtual void visitComponent
(const Component&)
;
- Apply the algorithm to an arbitrary component.
This override calls the component to track the map.
-
virtual void visitMapIntegrator
(const MapIntegrator&)
;
- Apply the algorithm to an integrator capable of mapping.
-
virtual void visitPatch
(const Patch&)
;
- Apply the algorithm to a patch.
- Protected members:
-
void applyDrift
(double)
;
- Apply drift length.
Propagate current map through a drift.
-
void applyThinMultipole
(const BMultipoleField&,double)
;
- Thin multipole kick.
Apply a thin multipole kick (integrated over length) to current map.
-
void applyThinSBend
(const BMultipoleField&,double,double)
;
- Thin SBend kick.
Special kick routine for thin SBend.
-
void applyTransform
(const Euclid3D&,double)
;
- Apply transform.
Propagate current map through a geometric transformation.
-
FVps<double,6> itsMap
;
- The transfer map being built.
Documentation generated by fci on Mon Feb 7 11:41:44 2000