1 #ifndef CLASSIC_Tracker_HH
2 #define CLASSIC_Tracker_HH
95 bool backBeam,
bool backTrack);
104 const PartData &,
bool backBeam,
bool backTrack);
185 #endif // CLASSIC_Tracker_HH
FieldList cavities_m
set multipacting flag
virtual void setNumBunch(int)
set total number of tracked bunches
Track particles or bunches.
void addToBunch(const OpalParticle &)
Add particle to bunch.
const Beamline & itsBeamline_m
std::list< ClassicField > FieldList
Define the position of a misaligned element.
FTps< double, 2 > buildSBendVectorPotential2D(const BMultipoleField &, double h)
Construct vector potential for a SBend.
void applyDrift(double length)
Apply a drift length.
virtual void visitPatch(const Patch &pat)
Apply the algorithm to a patch.
void operator=(const Tracker &)
FTps< double, 6 > buildMultipoleVectorPotential(const BMultipoleField &)
Construct vector potential for a Multipole.
FTps< double, 2 > buildMultipoleVectorPotential2D(const BMultipoleField &)
Construct vector potential for a Multipole.
virtual void visitAlignWrapper(const AlignWrapper &)
Apply the algorithm to an align wrapper.
Displacement and rotation in space.
virtual void visitMapIntegrator(const MapIntegrator &)
Apply the algorithm to an integrator capable of mapping.
An abstract sequence of beam line components.
virtual void visitComponent(const Component &)
Store the bunch.
virtual void visitTrackIntegrator(const TrackIntegrator &)
Apply the algorithm to an integrator capable of tracking.
The magnetic field of a multipole.
const PartBunchBase< double, 3 > * getBunch() const
Return the current bunch.
FTps< double, 6 > buildSBendVectorPotential(const BMultipoleField &, double h)
Construct vector potential for a SBend.
Truncated power series in N variables of type T.
Interface for a geometric patch.
virtual int getNumBunch()
get total number of tracked bunches
Interface for a single beam element.
void applyThinSBend(const BMultipoleField &field, double scale, double h)
PartBunchBase< double, 3 > * itsBunch_m
The bunch of particles to be tracked.
void applyThinMultipole(const BMultipoleField &field, double factor)
void applyTransform(const Euclid3D &, double refLength=0.0)
Apply a geometric transformation.
Track particles or bunches.