|
OPAL (Object Oriented Parallel Accelerator Library)
2.2.0
OPAL
|
Track using thick-lens algorithm. More...
#include <ThickTracker.h>


Public Types | |
| typedef Hamiltonian::series_t | series_t |
| typedef MapAnalyser::fMatrix_t | fMatrix_t |
| typedef MapAnalyser::cfMatrix_t | cfMatrix_t |
| typedef FVps< double, 6 > | map_t |
| typedef FVector< double, 6 > | particle_t |
| typedef std::tuple< series_t, std::size_t, double > | tuple_t |
| typedef std::list< tuple_t > | beamline_t |
Public Types inherited from AbstractTracker | |
| enum | { X, PX, Y, PY, T, PT } |
Public Member Functions | |
| ThickTracker (const Beamline &bl, const PartData &data, bool revBeam, bool revTrack) | |
| Constructor. More... | |
| ThickTracker (const Beamline &bl, PartBunchBase< double, 3 > *bunch, Beam &beam, DataSink &ds, const PartData &data, bool revBeam, bool revTrack, const std::vector< unsigned long long > &maxSTEPS, double zstart, const std::vector< double > &zstop, const std::vector< double > &dt, const int &truncOrder) | |
| Constructor. More... | |
| virtual | ~ThickTracker () |
| virtual void | visitAlignWrapper (const AlignWrapper &) |
| Apply the algorithm to an align wrapper. More... | |
| virtual void | visitBeamBeam (const BeamBeam &) |
| Apply the algorithm to a BeamBeam. More... | |
| virtual void | visitBeamStripping (const BeamStripping &) |
| Apply the algorithm to a BeamStripping. More... | |
| virtual void | visitCCollimator (const CCollimator &) |
| Apply the algorithm to a collimator. More... | |
| virtual void | visitCorrector (const Corrector &) |
| Apply the algorithm to a Corrector. More... | |
| virtual void | visitDegrader (const Degrader &) |
| Apply the algorithm to a Degrader. More... | |
| virtual void | visitDiagnostic (const Diagnostic &) |
| Apply the algorithm to a Diagnostic. More... | |
| virtual void | visitDrift (const Drift &) |
| Apply the algorithm to a Drift. More... | |
| virtual void | visitFlexibleCollimator (const FlexibleCollimator &) |
| Apply the algorithm to a flexible collimator. More... | |
| virtual void | visitLambertson (const Lambertson &) |
| Apply the algorithm to a Lambertson. More... | |
| virtual void | visitMarker (const Marker &) |
| Apply the algorithm to a Marker. More... | |
| virtual void | visitMonitor (const Monitor &) |
| Apply the algorithm to a Monitor. More... | |
| virtual void | visitMultipole (const Multipole &) |
| Apply the algorithm to a Multipole. More... | |
| virtual void | visitProbe (const Probe &) |
| Apply the algorithm to a Probe. More... | |
| virtual void | visitRBend (const RBend &) |
| Apply the algorithm to a RBend. More... | |
| virtual void | visitRFCavity (const RFCavity &) |
| Apply the algorithm to a RFCavity. More... | |
| virtual void | visitTravelingWave (const TravelingWave &) |
| Apply the algorithm to a RFCavity. More... | |
| virtual void | visitRFQuadrupole (const RFQuadrupole &) |
| Apply the algorithm to a RFQuadrupole. More... | |
| virtual void | visitSBend (const SBend &) |
| Apply the algorithm to a SBend. More... | |
| virtual void | visitSeparator (const Separator &) |
| Apply the algorithm to a Separator. More... | |
| virtual void | visitSeptum (const Septum &) |
| Apply the algorithm to a Septum. More... | |
| virtual void | visitSolenoid (const Solenoid &) |
| Apply the algorithm to a Solenoid. More... | |
| virtual void | visitParallelPlate (const ParallelPlate &) |
| Apply the algorithm to a ParallelPlate. More... | |
| virtual void | visitCyclotronValley (const CyclotronValley &) |
| Apply the algorithm to a CyclotronValley. More... | |
| virtual void | visitBeamline (const Beamline &) |
| Apply the algorithm to a beam line. More... | |
| virtual void | execute () |
| Apply the algorithm to the top-level beamline. More... | |
| void | prepareSections () |
Public Member Functions inherited from Tracker | |
| Tracker (const Beamline &, const PartData &, bool backBeam, bool backTrack) | |
| Constructor. More... | |
| Tracker (const Beamline &, PartBunchBase< double, 3 > *bunch, const PartData &, bool backBeam, bool backTrack) | |
| Constructor. More... | |
| virtual | ~Tracker () |
| const PartBunchBase< double, 3 > * | getBunch () const |
| Return the current bunch. More... | |
| void | addToBunch (const OpalParticle &) |
| Add particle to bunch. More... | |
| virtual void | visitComponent (const Component &) |
| Store the bunch. More... | |
| virtual void | visitPatch (const Patch &pat) |
| Apply the algorithm to a patch. More... | |
| virtual void | visitTrackIntegrator (const TrackIntegrator &) |
| Apply the algorithm to an integrator capable of tracking. More... | |
| virtual void | visitMapIntegrator (const MapIntegrator &) |
| Apply the algorithm to an integrator capable of mapping. More... | |
| virtual void | setNumBunch (int) |
| set total number of tracked bunches More... | |
| virtual int | getNumBunch () |
| get total number of tracked bunches More... | |
Public Member Functions inherited from AbstractTracker | |
| AbstractTracker (const Beamline &, const PartData &, bool backBeam, bool backTrack) | |
| Constructor. More... | |
| virtual | ~AbstractTracker () |
Public Member Functions inherited from DefaultVisitor | |
| DefaultVisitor (const Beamline &beamline, bool backBeam, bool backTrack) | |
| Constructor. More... | |
| virtual | ~DefaultVisitor ()=0 |
| virtual void | visitCyclotron (const Cyclotron &) |
| Apply the algorithm to an cyclotron. More... | |
| virtual void | visitRing (const Ring &) |
| Apply the algorithm to an opal ring.. More... | |
| virtual void | visitMultipoleT (const MultipoleT &) |
| Apply the algorithm to a multipoleT. More... | |
| virtual void | visitMultipoleTStraight (const MultipoleTStraight &) |
| Apply the algorithm to a multipoleTStraight. More... | |
| virtual void | visitMultipoleTCurvedConstRadius (const MultipoleTCurvedConstRadius &) |
| Apply the algorithm to a multipoleTCurvedConstRadius. More... | |
| virtual void | visitMultipoleTCurvedVarRadius (const MultipoleTCurvedVarRadius &) |
| Apply the algorithm to a multipoleTCurvedVarRadius. More... | |
| virtual void | visitOffset (const Offset &) |
| Apply the algorithm to an Offset. More... | |
| virtual void | visitRBend3D (const RBend3D &) |
| Apply the algorithm to a rectangular bend. More... | |
| virtual void | visitVariableRFCavity (const VariableRFCavity &vcav) |
| Apply the algorithm to a RF cavity. More... | |
| virtual void | visitVariableRFCavityFringeField (const VariableRFCavityFringeField &vcav) |
| Apply the algorithm to a RF cavity. More... | |
| virtual void | visitSBend3D (const SBend3D &) |
| Apply the algorithm to a sector bend. More... | |
| virtual void | visitScalingFFAMagnet (const ScalingFFAMagnet &) |
| Apply the algorithm to a scaling FFA magnet. More... | |
| virtual void | visitVerticalFFAMagnet (const VerticalFFAMagnet &) |
| Apply the algorithm to a RF cavity. More... | |
| virtual void | visitSource (const Source &) |
| Apply the algorithm to a source. More... | |
| virtual void | visitStripper (const Stripper &) |
| Apply the algorithm to a charge stripper. More... | |
| virtual void | visitFlaggedElmPtr (const FlaggedElmPtr &) |
| Apply the algorithm to a FlaggedElmPtr. More... | |
| virtual void | visitCorrectorWrapper (const CorrectorWrapper &) |
| Apply the algorithm to an corrector wrapper.. More... | |
| virtual void | visitCyclotronWrapper (const CyclotronWrapper &) |
| Apply the algorithm to an cyclotron wrapper.. More... | |
| virtual void | visitMultipoleWrapper (const MultipoleWrapper &) |
| Apply the algorithm to an multipole wrapper.. More... | |
| virtual void | visitRBendWrapper (const RBendWrapper &) |
| Apply the algorithm to an RBend wrapper.. More... | |
| virtual void | visitSBendWrapper (const SBendWrapper &) |
| Apply the algorithm to an SBend wrapper.. More... | |
| virtual void | visitIntegrator (const Integrator &) |
| Apply the algorithm to a generic integrator. More... | |
Public Member Functions inherited from BeamlineVisitor | |
| BeamlineVisitor () | |
| virtual | ~BeamlineVisitor () |
Private Member Functions | |
| ThickTracker ()=delete | |
| ThickTracker (const ThickTracker &)=delete | |
| void | operator= (const ThickTracker &)=delete |
| void | throwElementError_m (std::string element) |
| void | checkElementOrder_m () |
| void | fillGaps_m () |
| Fills undefined beam path with a Drift Space. More... | |
| void | track_m () |
| particle_t | particleToVector_m (const Vector_t &R, const Vector_t &P) const |
| void | vectorToParticle_m (const particle_t &particle, Vector_t &R, Vector_t &P) const |
| void | advanceParticles_m (const map_t &map) |
| void | updateParticle_m (particle_t &particle, const map_t &map) |
| void | dump_m () |
| void | update_m (const double &spos, const std::size_t &step) |
| void | write_m (const map_t &map) |
| void | concatenateMaps_m (const map_t &x, map_t &y) |
| void | advanceDispersion_m (fMatrix_t tempMatrix, FMatrix< double, 1, 4 > initialVal, double pos) |
| Writes Dispersion in X and Y plane. More... | |
| void | applyEntranceFringe (double edge, double curve, const BMultipoleField &field, double scale) |
| void | applyExitFringe (double edge, double curve, const BMultipoleField &field, double scale) |
Private Attributes | |
| Hamiltonian | hamiltonian_m |
| MapAnalyser | mapAnalyser_m |
| Vector_t | RefPartR_m |
| Vector_t | RefPartP_m |
| DataSink * | itsDataSink_m |
| OpalBeamline | itsOpalBeamline_m |
| double | zstart_m |
| Start of beam line. More... | |
| double | zstop_m |
| End of beam line. More... | |
| double | threshold_m |
| Threshold for element overlaps and gaps. More... | |
| beamline_t | elements_m |
| elements in beam line More... | |
| CoordinateSystemTrafo | referenceToLabCSTrafo_m |
| int | truncOrder_m |
| truncation order of map tracking More... | |
| IpplTimings::TimerRef | mapCreation_m |
| creation of elements_m More... | |
| IpplTimings::TimerRef | mapCombination_m |
| map accumulation along elements_m -> Transfermap More... | |
| IpplTimings::TimerRef | mapTracking_m |
| track particles trough maps of elements_m More... | |
Additional Inherited Members | |
Public Attributes inherited from Tracker | |
| FieldList | cavities_m |
| set multipacting flag More... | |
| const Beamline & | itsBeamline_m |
Protected Member Functions inherited from Tracker | |
| void | applyDrift (double length) |
| Apply a drift length. More... | |
| void | applyThinMultipole (const BMultipoleField &field, double factor) |
| void | applyThinSBend (const BMultipoleField &field, double scale, double h) |
| void | applyTransform (const Euclid3D &, double refLength=0.0) |
| Apply a geometric transformation. More... | |
| FTps< double, 2 > | buildMultipoleVectorPotential2D (const BMultipoleField &) |
| Construct vector potential for a Multipole. More... | |
| FTps< double, 6 > | buildMultipoleVectorPotential (const BMultipoleField &) |
| Construct vector potential for a Multipole. More... | |
| FTps< double, 2 > | buildSBendVectorPotential2D (const BMultipoleField &, double h) |
| Construct vector potential for a SBend. More... | |
| FTps< double, 6 > | buildSBendVectorPotential (const BMultipoleField &, double h) |
| Construct vector potential for a SBend. More... | |
Protected Attributes inherited from Tracker | |
| PartBunchBase< double, 3 > * | itsBunch_m |
| The bunch of particles to be tracked. More... | |
Protected Attributes inherited from AbstractTracker | |
| const PartData | itsReference |
| The reference information. More... | |
Protected Attributes inherited from DefaultVisitor | |
| const Beamline & | itsLine |
| bool | back_beam |
| bool | back_track |
| bool | back_path |
| double | flip_B |
| double | flip_s |
Track using thick-lens algorithm.
Definition at line 104 of file ThickTracker.h.
| typedef std::list<tuple_t> ThickTracker::beamline_t |
Definition at line 113 of file ThickTracker.h.
Definition at line 109 of file ThickTracker.h.
Definition at line 108 of file ThickTracker.h.
| typedef FVps<double, 6> ThickTracker::map_t |
Definition at line 110 of file ThickTracker.h.
| typedef FVector<double, 6> ThickTracker::particle_t |
Definition at line 111 of file ThickTracker.h.
Definition at line 107 of file ThickTracker.h.
| typedef std::tuple<series_t, std::size_t, double> ThickTracker::tuple_t |
Definition at line 112 of file ThickTracker.h.
|
explicit |
Constructor.
Definition at line 38 of file ThickTracker.cpp.
References Beamline::getInitialDirection(), Beamline::getOrigin3D(), CoordinateSystemTrafo::inverted(), and referenceToLabCSTrafo_m.

|
explicit |
Constructor.
Definition at line 61 of file ThickTracker.cpp.
References Beamline::getInitialDirection(), Beamline::getOrigin3D(), CoordinateSystemTrafo::inverted(), and referenceToLabCSTrafo_m.

|
virtual |
Definition at line 97 of file ThickTracker.cpp.
|
privatedelete |
|
privatedelete |
|
private |
Writes Dispersion in X and Y plane.
Tracks Dispersion along beam line writes it in .dispersion file.
\[ \begin{pmatrix} \eta_{x} \\ \eta_{p_x} \end{pmatrix}_{s_1} = \begin{pmatrix} R_{11} & R_{12} \\ R_{21} & R_{22} \end{pmatrix} \cdot \begin{pmatrix} \eta_{x} \\ \eta_{p_x} \end{pmatrix}_{s_0} + \begin{pmatrix} R_{16} \\ R_{26} \end{pmatrix} \]
| tempMatrix | accumulated Transfer map \(R\) at pos |
| initialVal | initial Dispersion { \(\eta_{x0},\, \eta_{p_x0},\, \eta_{y0},\, \eta_{p_y0} \)} |
| pos | position of tracking |
used formula:
\[\begin{pmatrix}\eta_{x} \\ \eta_{p_x}\end{pmatrix}_{s_1} = \begin{pmatrix} R_{11} & R_{12} \\ R_{21} & R_{22} \end{pmatrix} \cdot \begin{pmatrix} \eta_{x} \\ \eta_{p_x} \end{pmatrix}_{s_0} + \begin{pmatrix} R_{16} \\ R_{26} \end{pmatrix}\]
Definition at line 499 of file ThickTracker.cpp.
References endl(), PartBunchBase< T, Dim >::getInitialBeta(), OpalData::getInputBasename(), OpalData::getInstance(), Tracker::itsBunch_m, and IpplInfo::myNode().
Referenced by track_m().

|
private |
Advances itsBunch_m trough map
| map | Map of slice |
Definition at line 423 of file ThickTracker.cpp.
References PartBunchBase< T, Dim >::getLocalNum(), Tracker::itsBunch_m, PartBunchBase< T, Dim >::P, particleToVector_m(), PartBunchBase< T, Dim >::R, RefPartP_m, RefPartR_m, updateParticle_m(), and vectorToParticle_m().
Referenced by track_m().

|
private |
:TODO: Fringe fields for entrance of SBEND.
| edge | |
| curve | |
| field | |
| scale |
|
private |
:TODO: Fringe fields for exit of SBEND.
| edge | |
| curve | |
| field | |
| scale |
|
private |
Tests the order of the elements in the beam line according to their position
Definition at line 234 of file ThickTracker.cpp.
References ElementBase::ANY, elements_m, OpalBeamline::getElementByType(), itsOpalBeamline_m, threshold_m, and zstart_m.
Referenced by execute().

Concatenate map x and y
\[ y = x \circ y \]
| x | |
| y | is result |
Definition at line 482 of file ThickTracker.cpp.
References mapCombination_m, IpplTimings::startTimer(), IpplTimings::stopTimer(), FVps< T, N >::truncate(), and truncOrder_m.
Referenced by track_m().

|
private |
Dumps bunch in .stat or .h5 files
Definition at line 548 of file ThickTracker.cpp.
References DataSink::dumpH5(), DataSink::dumpSDDS(), Physics::e, endl(), PartBunchBase< T, Dim >::get_bounds(), PartBunchBase< T, Dim >::getdT(), OpalBeamline::getFieldAt(), PartBunchBase< T, Dim >::getGlobalTrackStep(), PartBunchBase< T, Dim >::getT(), PartBunchBase< T, Dim >::getTotalNum(), gmsg, Tracker::itsBunch_m, itsDataSink_m, itsOpalBeamline_m, Options::psDumpFreq, referenceToLabCSTrafo_m, RefPartP_m, RefPartR_m, CoordinateSystemTrafo::rotateFrom(), CoordinateSystemTrafo::rotateTo(), Options::statDumpFreq, and CoordinateSystemTrafo::transformTo().
Referenced by track_m().

|
virtual |
Apply the algorithm to the top-level beamline.
Algorithm for Thick Map-Tracking.
Reimplemented from DefaultVisitor.
Definition at line 188 of file ThickTracker.cpp.
References OpalData::APPEND, checkElementOrder_m(), endl(), euclidean_norm(), fillGaps_m(), PartBunchBase< T, Dim >::get_pmean_Distribution(), OpalData::getInstance(), gmsg, Tracker::itsBunch_m, prepareSections(), RefPartP_m, RefPartR_m, PartBunchBase< T, Dim >::set_sPos(), OpalData::setGlobalPhaseShift(), OpalData::setInPrepState(), OpalData::setOpenMode(), track_m(), truncOrder_m, and zstart_m.

|
private |
Fills undefined beam path with a Drift Space.
Inserts Drift maps in undefined beam line sections
\[H_{Drift}= \frac{\delta}{\beta_0} - \sqrt{\left(\frac{1}{\beta_0} + \delta \right)^2 -p_x^2 -p_y^2 - \frac{1}{\left(\beta_0 \gamma_0\right)^2 } } \]
Definition at line 264 of file ThickTracker.cpp.
References abs(), ElementBase::ANY, Hamiltonian::drift(), elements_m, OpalBeamline::getElementByType(), PartData::getGamma(), hamiltonian_m, itsOpalBeamline_m, AbstractTracker::itsReference, threshold_m, zstart_m, and zstop_m.
Referenced by execute().

|
privatedelete |
|
private |
Definition at line 374 of file ThickTracker.cpp.
References Attrib::Distribution::R.
Referenced by advanceParticles_m().
| void ThickTracker::prepareSections | ( | ) |
Definition at line 120 of file ThickTracker.cpp.
References ElementBase::accept(), Tracker::itsBeamline_m, itsOpalBeamline_m, and OpalBeamline::prepareSections().
Referenced by execute().

|
inlineprivate |
Definition at line 241 of file ThickTracker.h.
Referenced by visitAlignWrapper(), visitBeamBeam(), visitCCollimator(), visitCorrector(), visitCyclotronValley(), visitDegrader(), visitDiagnostic(), visitFlexibleCollimator(), visitLambertson(), visitMonitor(), visitParallelPlate(), visitProbe(), visitRBend(), visitRFCavity(), visitRFQuadrupole(), visitSeparator(), visitSeptum(), visitSolenoid(), and visitTravelingWave().
|
private |
Tracks itsBunch_m trough beam line
Definition at line 300 of file ThickTracker.cpp.
References advanceDispersion_m(), advanceParticles_m(), concatenateMaps_m(), dump_m(), elements_m, ExpMap(), PartBunchBase< T, Dim >::getSigmaMatrix(), Tracker::itsBunch_m, FVps< T, N >::linearTerms(), mapTracking_m, IpplTimings::startTimer(), IpplTimings::stopTimer(), FVps< T, N >::truncate(), truncOrder_m, update_m(), write_m(), and zstart_m.
Referenced by execute().

|
private |
Updates itsBunch_m
| spos | position of tracking |
| step | stepsize of applied map |
Definition at line 598 of file ThickTracker.cpp.
References Physics::c, PartBunchBase< T, Dim >::calcBeamParameters(), PartBunchBase< T, Dim >::calcEMean(), PartBunchBase< T, Dim >::dt, PartBunchBase< T, Dim >::get_gamma(), PartBunchBase< T, Dim >::get_sPos(), PartBunchBase< T, Dim >::getLocalNum(), PartBunchBase< T, Dim >::getT(), Tracker::itsBunch_m, PartBunchBase< T, Dim >::set_sPos(), PartBunchBase< T, Dim >::setdT(), PartBunchBase< T, Dim >::setGlobalTrackStep(), PartBunchBase< T, Dim >::setT(), and sqrt().
Referenced by track_m().

|
private |
Applies map on particle
| particle | tracked particle |
| map | Map of slice |
Definition at line 448 of file ThickTracker.cpp.
References PartBunchBase< T, Dim >::getInitialBeta(), PartBunchBase< T, Dim >::getInitialGamma(), Tracker::itsBunch_m, and sqrt().
Referenced by advanceParticles_m().

|
private |
Definition at line 386 of file ThickTracker.cpp.
References Attrib::Distribution::R.
Referenced by advanceParticles_m().
|
inlinevirtual |
Apply the algorithm to an align wrapper.
Reimplemented from Tracker.
Definition at line 387 of file ThickTracker.h.
References throwElementError_m().

|
inlinevirtual |
Apply the algorithm to a BeamBeam.
Reimplemented from DefaultVisitor.
Definition at line 392 of file ThickTracker.h.
References throwElementError_m().

|
virtual |
Apply the algorithm to a beam line.
Reimplemented from DefaultVisitor.
Definition at line 102 of file ThickTracker.cpp.
References OpalBeamline::compute3DLattice(), endl(), TBeamline< T >::getInitialDirection(), TBeamline< T >::getOrigin3D(), TBeamline< T >::getRelativeFlag(), gmsg, TBeamline< T >::iterate(), itsOpalBeamline_m, OpalBeamline::prepareSections(), and OpalBeamline::swap().

|
inlinevirtual |
Apply the algorithm to a BeamStripping.
Reimplemented from DefaultVisitor.
Definition at line 397 of file ThickTracker.h.
References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().

|
inlinevirtual |
Apply the algorithm to a collimator.
Reimplemented from DefaultVisitor.
Definition at line 401 of file ThickTracker.h.
References throwElementError_m().

|
inlinevirtual |
Apply the algorithm to a Corrector.
Reimplemented from DefaultVisitor.
Definition at line 407 of file ThickTracker.h.
References throwElementError_m().

|
inlinevirtual |
Apply the algorithm to a CyclotronValley.
Reimplemented from DefaultVisitor.
Definition at line 586 of file ThickTracker.h.
References throwElementError_m().

|
inlinevirtual |
Apply the algorithm to a Degrader.
Reimplemented from DefaultVisitor.
Definition at line 413 of file ThickTracker.h.
References throwElementError_m().

|
inlinevirtual |
Apply the algorithm to a Diagnostic.
Reimplemented from DefaultVisitor.
Definition at line 419 of file ThickTracker.h.
References throwElementError_m().

|
inlinevirtual |
Apply the algorithm to a Drift.
Reimplemented from DefaultVisitor.
Definition at line 425 of file ThickTracker.h.
References Hamiltonian::drift(), elements_m, ElementBase::getElementLength(), PartData::getGamma(), Drift::getNSlices(), hamiltonian_m, Tracker::itsBunch_m, itsOpalBeamline_m, AbstractTracker::itsReference, and OpalBeamline::visit().

|
inlinevirtual |
Apply the algorithm to a flexible collimator.
Reimplemented from DefaultVisitor.
Definition at line 439 of file ThickTracker.h.
References throwElementError_m().

|
inlinevirtual |
Apply the algorithm to a Lambertson.
Reimplemented from DefaultVisitor.
Definition at line 445 of file ThickTracker.h.
References throwElementError_m().

|
inlinevirtual |
Apply the algorithm to a Marker.
Reimplemented from DefaultVisitor.
Definition at line 451 of file ThickTracker.h.
|
inlinevirtual |
Apply the algorithm to a Monitor.
Reimplemented from DefaultVisitor.
Definition at line 457 of file ThickTracker.h.
References throwElementError_m().

|
inlinevirtual |
Apply the algorithm to a Multipole.
Reimplemented from DefaultVisitor.
Definition at line 463 of file ThickTracker.h.
References Physics::c, Physics::e, elements_m, ElementBase::getElementLength(), Multipole::getField(), PartData::getGamma(), BMultipoleField::getNormalComponent(), Multipole::getNSlices(), PartData::getP(), PartData::getQ(), hamiltonian_m, Tracker::itsBunch_m, itsOpalBeamline_m, AbstractTracker::itsReference, Hamiltonian::quadrupole(), and OpalBeamline::visit().

|
inlinevirtual |
Apply the algorithm to a ParallelPlate.
Reimplemented from DefaultVisitor.
Definition at line 581 of file ThickTracker.h.
References throwElementError_m().

|
inlinevirtual |
Apply the algorithm to a Probe.
Reimplemented from DefaultVisitor.
Definition at line 482 of file ThickTracker.h.
References throwElementError_m().

|
inlinevirtual |
Apply the algorithm to a RBend.
Reimplemented from DefaultVisitor.
Definition at line 488 of file ThickTracker.h.
References throwElementError_m().

|
inlinevirtual |
Apply the algorithm to a RFCavity.
Reimplemented from DefaultVisitor.
Definition at line 494 of file ThickTracker.h.
References throwElementError_m().

|
inlinevirtual |
Apply the algorithm to a RFQuadrupole.
Reimplemented from DefaultVisitor.
Definition at line 505 of file ThickTracker.h.
References throwElementError_m().

|
inlinevirtual |
Apply the algorithm to a SBend.
Reimplemented from DefaultVisitor.
Definition at line 510 of file ThickTracker.h.
References abs(), asin(), Physics::c, Physics::e, elements_m, Hamiltonian::fringeField(), SBend::getB(), BendBase::getDesignEnergy(), ElementBase::getElementLength(), BendBase::getEntranceAngle(), Bend2D::getExitAngle(), PartData::getM(), Bend2D::getNSlices(), PartData::getQ(), hamiltonian_m, Tracker::itsBunch_m, itsOpalBeamline_m, AbstractTracker::itsReference, Hamiltonian::sbend(), sqrt(), and OpalBeamline::visit().

|
inlinevirtual |
Apply the algorithm to a Separator.
Reimplemented from DefaultVisitor.
Definition at line 563 of file ThickTracker.h.
References throwElementError_m().

|
inlinevirtual |
Apply the algorithm to a Septum.
Reimplemented from DefaultVisitor.
Definition at line 569 of file ThickTracker.h.
References throwElementError_m().

|
inlinevirtual |
Apply the algorithm to a Solenoid.
Reimplemented from DefaultVisitor.
Definition at line 575 of file ThickTracker.h.
References throwElementError_m().

|
inlinevirtual |
Apply the algorithm to a RFCavity.
Reimplemented from DefaultVisitor.
Definition at line 499 of file ThickTracker.h.
References throwElementError_m().

|
private |
Writes map (Transfermap) in .map file text for .map file
Definition at line 397 of file ThickTracker.cpp.
References endl(), OpalData::getInputBasename(), OpalData::getInstance(), and IpplInfo::myNode().
Referenced by track_m().

|
private |
elements in beam line
Definition at line 375 of file ThickTracker.h.
Referenced by checkElementOrder_m(), fillGaps_m(), track_m(), visitDrift(), visitMultipole(), and visitSBend().
|
private |
Definition at line 361 of file ThickTracker.h.
Referenced by fillGaps_m(), visitDrift(), visitMultipole(), and visitSBend().
|
private |
Definition at line 368 of file ThickTracker.h.
Referenced by dump_m().
|
private |
Definition at line 370 of file ThickTracker.h.
Referenced by checkElementOrder_m(), dump_m(), fillGaps_m(), prepareSections(), visitBeamline(), visitBeamStripping(), visitDrift(), visitMultipole(), and visitSBend().
|
private |
Definition at line 362 of file ThickTracker.h.
|
private |
map accumulation along elements_m -> Transfermap
Definition at line 383 of file ThickTracker.h.
Referenced by concatenateMaps_m().
|
private |
creation of elements_m
Definition at line 382 of file ThickTracker.h.
|
private |
track particles trough maps of elements_m
Definition at line 384 of file ThickTracker.h.
Referenced by track_m().
|
private |
Definition at line 377 of file ThickTracker.h.
Referenced by dump_m(), and ThickTracker().
|
private |
Definition at line 366 of file ThickTracker.h.
Referenced by advanceParticles_m(), dump_m(), and execute().
|
private |
Definition at line 365 of file ThickTracker.h.
Referenced by advanceParticles_m(), dump_m(), and execute().
|
private |
Threshold for element overlaps and gaps.
Definition at line 374 of file ThickTracker.h.
Referenced by checkElementOrder_m(), and fillGaps_m().
|
private |
truncation order of map tracking
Definition at line 380 of file ThickTracker.h.
Referenced by concatenateMaps_m(), execute(), and track_m().
|
private |
Start of beam line.
Definition at line 372 of file ThickTracker.h.
Referenced by checkElementOrder_m(), execute(), fillGaps_m(), and track_m().
|
private |
1.8.5