class
Tracker
: public AbstractTracker
(Return to index)
Track particles or bunches.
An abstract base class for all visitors capable of tracking particles
through a beam element.
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 AbstractTracker |
Include file: |
./Algorithms/Tracker.hh |
Inheritance
Synopsis (including inherited members):
- Public members:
- Protected Members:
-
void applyDrift
(double)
;
-
void applyThinMultipole
(const BMultipoleField&,double)
;
-
void applyThinSBend
(const BMultipoleField&,double,double)
;
-
void applyTransform
(const Euclid3D&,double)
;
-
FTps<double,2> buildMultipoleVectorPotential
(const BMultipoleField&)
;
-
FTps<double,2> buildSBendVectorPotential
(const BMultipoleField&,double)
;
-
PartBunch itsBunch
;
-
const PartData itsReference
;
-
const Beamline& itsLine
;
-
bool back_beam
;
-
bool back_track
;
-
bool local_flip
;
-
double flip_B
;
-
double flip_s
;
Documentation:
- Public members:
-
Tracker
(const Beamline&,const PartData&,bool,bool)
;
- Constructor.
The beam line to be tracked is bl.
The particle reference data are taken from data.
The particle bunch is initially empty.
If revBeam is true, the beam runs from s = C to s = 0.
If revTrack is true, we track against the beam.
-
Tracker
(const Beamline&,const PartBunch&,const PartData&,bool,bool)
;
- Constructor.
The beam line to be tracked is bl.
The particle reference data are taken from data.
The particle bunch is taken from bunch.
If revBeam is true, the beam runs from s = C to s = 0.
If revTrack is true, we track against the beam.
-
void addToBunch
(const Particle&)
;
- Add particle to bunch.
-
const PartBunch& getBunch
()const
;
- Return the current bunch.
-
void setBunch
(const PartBunch&)
;
- Store the bunch.
-
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 bunch.
-
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.
-
virtual void visitTrackIntegrator
(const TrackIntegrator&)
;
- Apply the algorithm to an integrator capable of tracking.
- Protected members:
-
void applyDrift
(double)
;
- Apply a drift length.
-
void applyTransform
(const Euclid3D&,double)
;
- Apply a geometric transformation.
-
FTps<double,2> buildMultipoleVectorPotential
(const BMultipoleField&)
;
- Construct vector potential for a Multipole.
-
FTps<double,2> buildSBendVectorPotential
(const BMultipoleField&,double)
;
- Construct vector potential for a SBend.
-
PartBunch itsBunch
;
- The bunch of particles to be tracked.
Documentation generated by fci on Mon Feb 7 11:41:56 2000