62#ifndef CLASSIC_Tracker_HH
63#define CLASSIC_Tracker_HH
87 bool backBeam,
bool backTrack);
96 const PartData &,
bool backBeam,
bool backTrack);
std::list< ClassicField > FieldList
Interface for a single beam element.
Track particles or bunches.
void operator=(const Tracker &)
virtual void setNumBunch(short)
set total number of tracked bunches
void applyThinMultipole(const BMultipoleField &field, double factor)
void applyTransform(const Euclid3D &, double refLength=0.0)
Apply a geometric transformation.
FTps< double, 2 > buildSBendVectorPotential2D(const BMultipoleField &, double h)
Construct vector potential for a SBend.
FTps< double, 6 > buildSBendVectorPotential(const BMultipoleField &, double h)
Construct vector potential for a SBend.
void applyThinSBend(const BMultipoleField &field, double scale, double h)
FTps< double, 6 > buildMultipoleVectorPotential(const BMultipoleField &)
Construct vector potential for a Multipole.
virtual short getNumBunch()
get total number of tracked bunches
const Beamline & itsBeamline_m
virtual void visitComponent(const Component &)
Store the bunch.
void addToBunch(const OpalParticle &)
Add particle to bunch.
void applyDrift(double length)
Apply a drift length.
PartBunchBase< double, 3 > * itsBunch_m
The bunch of particles to be tracked.
const PartBunchBase< double, 3 > * getBunch() const
Return the current bunch.
FTps< double, 2 > buildMultipoleVectorPotential2D(const BMultipoleField &)
Construct vector potential for a Multipole.
Displacement and rotation in space.
An abstract sequence of beam line components.
The magnetic field of a multipole.
Truncated power series in N variables of type T.