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