OPAL (Object Oriented Parallel Accelerator Library)
2.2.0
OPAL
|
#include <ParallelSliceTracker.h>
Public Member Functions | |
ParallelSliceTracker (const Beamline &bl, const PartData &data, bool revBeam, bool revTrack) | |
ParallelSliceTracker (const Beamline &bl, EnvelopeBunch &bunch, 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) | |
virtual | ~ParallelSliceTracker () |
virtual void | visitAlignWrapper (const AlignWrapper &) |
Apply the algorithm to an align wrapper. More... | |
virtual void | visitBeamBeam (const BeamBeam &) |
Apply the algorithm to a beam-beam. 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 drift. 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 rectangular bend. More... | |
virtual void | visitRFCavity (const RFCavity &) |
Apply the algorithm to a RF cavity. More... | |
virtual void | visitTravelingWave (const TravelingWave &) |
Apply the algorithm to a RF cavity. More... | |
virtual void | visitRFQuadrupole (const RFQuadrupole &) |
Apply the algorithm to a RF quadrupole. More... | |
virtual void | visitSBend (const SBend &) |
Apply the algorithm to a sector bend. 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 | visitSource (const Source &) |
Apply the algorithm to a source. 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 | execute () |
Apply the algorithm to the top-level beamline. More... | |
virtual void | visitBeamline (const Beamline &) |
Apply the algorithm to a beam line. More... | |
![]() | |
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... | |
![]() | |
AbstractTracker (const Beamline &, const PartData &, bool backBeam, bool backTrack) | |
Constructor. More... | |
virtual | ~AbstractTracker () |
![]() | |
DefaultVisitor (const Beamline &beamline, bool backBeam, bool backTrack) | |
Constructor. More... | |
virtual | ~DefaultVisitor ()=0 |
virtual void | visitBeamStripping (const BeamStripping &) |
Apply the algorithm to a beam stripping. More... | |
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 | 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... | |
![]() | |
BeamlineVisitor () | |
virtual | ~BeamlineVisitor () |
Private Member Functions | |
ParallelSliceTracker () | |
ParallelSliceTracker (const ParallelSliceTracker &) | |
void | operator= (const ParallelSliceTracker &) |
void | saveCavityPhases () |
void | restoreCavityPhases () |
void | updateRFElement (std::string elName, double maxPhi) |
void | printRFPhases () |
void | findStartPosition (const BorisPusher &pusher) |
void | autophaseCavities (const BorisPusher &pusher) |
void | applyEntranceFringe (double edge, double curve, const BMultipoleField &field, double scale) |
void | applyExitFringe (double edge, double curve, const BMultipoleField &field, double scale) |
void | FieldsOutput (double z, double Ex, double Ey, double Ez, double Bx, double By, double Bz) |
void | kickParticles () |
void | updateReferenceParticle (const BorisPusher &pusher) |
void | updateSpaceOrientation (const bool &move=false) |
void | kickReferenceParticle (const Vector_t &externalE, const Vector_t &externalB) |
void | writePhaseSpace (const long long step, const double &sposRef) |
void | writeLastStepPhaseSpace (const long long step, const double &sposRef) |
void | prepareSections () |
void | handleAutoPhasing () |
void | timeIntegration () |
void | computeExternalFields (OrbitThreader &oth) |
void | switchElements (double scaleMargin=3.0) |
void | computeSpaceChargeFields () |
void | dumpStats (long long step) |
bool | hasEndOfLineReached () |
void | handleRestartRun () |
void | setTime () |
void | setLastStep () |
unsigned long long | getMaxSteps (std::queue< unsigned long long > numSteps) |
void | selectDT () |
void | changeDT () |
Private Attributes | |
double | currentSimulationTime_m |
bool | globalEOL_m |
OpalBeamline | itsOpalBeamline_m |
EnvelopeBunch * | itsBunch_m |
DataSink * | itsDataSink_m |
Vector_t | RefPartR_m |
Vector_t | RefPartP_m |
double | pathLength_m |
double | zstart_m |
where to start More... | |
std::queue< double > | zStop_m |
where to stop More... | |
double | dtCurrentTrack_m |
std::queue< double > | dtAllTracks_m |
std::queue< unsigned long long > | localTrackSteps_m |
The maximal number of steps the system is integrated per TRACK. More... | |
CoordinateSystemTrafo | referenceToLabCSTrafo_m |
IpplTimings::TimerRef | timeIntegrationTimer1_m |
IpplTimings::TimerRef | timeIntegrationTimer2_m |
IpplTimings::TimerRef | timeFieldEvaluation_m |
IpplTimings::TimerRef | BinRepartTimer_m |
IpplTimings::TimerRef | WakeFieldTimer_m |
Additional Inherited Members | |
![]() | |
enum | { X, PX, Y, PY, T, PT } |
![]() | |
FieldList | cavities_m |
set multipacting flag More... | |
const Beamline & | itsBeamline_m |
![]() | |
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... | |
![]() | |
PartBunchBase< double, 3 > * | itsBunch_m |
The bunch of particles to be tracked. More... | |
![]() | |
const PartData | itsReference |
The reference information. More... | |
![]() | |
const Beamline & | itsLine |
bool | back_beam |
bool | back_track |
bool | back_path |
double | flip_B |
double | flip_s |
Definition at line 46 of file ParallelSliceTracker.h.
|
explicit |
Definition at line 20 of file ParallelSliceTracker.cpp.
References Beamline::getInitialDirection(), Beamline::getOrigin3D(), CoordinateSystemTrafo::inverted(), and referenceToLabCSTrafo_m.
|
explicit |
Definition at line 31 of file ParallelSliceTracker.cpp.
References BinRepartTimer_m, Tracker::cavities_m, dtAllTracks_m, OpalBeamline::getElementByType(), Beamline::getInitialDirection(), Beamline::getOrigin3D(), IpplTimings::getTimer(), CoordinateSystemTrafo::inverted(), itsBunch_m, itsDataSink_m, itsOpalBeamline_m, localTrackSteps_m, referenceToLabCSTrafo_m, ElementBase::RFCAVITY, ClassicField::SortAsc(), timeFieldEvaluation_m, timeIntegrationTimer1_m, timeIntegrationTimer2_m, ElementBase::TRAVELINGWAVE, WakeFieldTimer_m, and zStop_m.
|
virtual |
Definition at line 74 of file ParallelSliceTracker.cpp.
|
private |
|
private |
|
private |
Definition at line 173 of file ParallelSliceTracker.cpp.
|
private |
Definition at line 178 of file ParallelSliceTracker.cpp.
|
private |
Definition at line 621 of file ParallelSliceTracker.cpp.
References Physics::c, RFCavity::getAutophaseVeto(), PartBunchBase< T, Dim >::getdT(), OpalBeamline::getElements(), CavityAutophaser::getPhaseAtMaxEnergy(), EnvelopeBunch::getT(), itsBunch_m, itsOpalBeamline_m, AbstractTracker::itsReference, BorisPusher::push(), referenceToLabCSTrafo_m, RefPartP_m, RefPartR_m, ElementBase::RFCAVITY, CoordinateSystemTrafo::rotateFrom(), CoordinateSystemTrafo::rotateTo(), OpalBeamline::rotateToLocalCS(), CoordinateSystemTrafo::transformFrom(), CoordinateSystemTrafo::transformTo(), OpalBeamline::transformToLocalCS(), and ElementBase::TRAVELINGWAVE.
Referenced by findStartPosition().
|
private |
Definition at line 670 of file ParallelSliceTracker.cpp.
References PartBunchBase< T, Dim >::dt, PartBunchBase< T, Dim >::getdT(), EnvelopeBunch::getLocalNum(), itsBunch_m, and selectDT().
|
private |
Definition at line 385 of file ParallelSliceTracker.cpp.
References PartBunchBase< T, Dim >::Bin, Physics::e, EnvelopeBunch::get_bounds(), OpalBeamline::getCSTrafoLab2Local(), PartBunchBase< T, Dim >::getdT(), EnvelopeBunch::getLocalNum(), OpalBeamline::getMisalignment(), EnvelopeBunch::getP(), EnvelopeBunch::getR(), EnvelopeBunch::getT(), globalEOL_m, CoordinateSystemTrafo::inverted(), itsBunch_m, itsOpalBeamline_m, pathLength_m, OrbitThreader::query(), CoordinateSystemTrafo::rotateTo(), EnvelopeBunch::setExternalFields(), EnvelopeBunch::setP(), EnvelopeBunch::setR(), IpplTimings::startTimer(), IpplTimings::stopTimer(), timeFieldEvaluation_m, and CoordinateSystemTrafo::transformTo().
Referenced by execute().
|
private |
Definition at line 462 of file ParallelSliceTracker.cpp.
References EnvelopeBunch::computeSpaceCharge(), and itsBunch_m.
Referenced by execute().
|
private |
Definition at line 468 of file ParallelSliceTracker.cpp.
References EnvelopeBunch::get_sPos(), itsBunch_m, Options::psDumpFreq, Options::statDumpFreq, and writePhaseSpace().
Referenced by execute().
|
virtual |
Apply the algorithm to the top-level beamline.
Reimplemented from DefaultVisitor.
Definition at line 183 of file ParallelSliceTracker.cpp.
References abs(), OpalBeamline::activateElements(), PartData::beta, Physics::c, ceil(), computeExternalFields(), computeSpaceChargeFields(), OpalBeamline::containsSource(), currentSimulationTime_m, PartBunchBase< T, Dim >::doEmission(), dtAllTracks_m, dtCurrentTrack_m, dumpStats(), Physics::e, EnvelopeBunch::Eavg(), endl(), euclidean_norm(), OrbitThreader::execute(), findStartPosition(), PartData::gamma, EnvelopeBunch::get_bounds(), PartBunchBase< T, Dim >::get_pmean_Distribution(), EnvelopeBunch::get_sPos(), IpplInfo::getComm(), PartBunchBase< T, Dim >::getdT(), OpalData::getGlobalPhaseShift(), PartBunchBase< T, Dim >::getGlobalTrackStep(), OpalData::getInstance(), Util::getLengthString(), PartData::getM(), PartBunchBase< T, Dim >::getM(), getMaxSteps(), PartData::getP(), PartData::getQ(), EnvelopeBunch::getT(), Util::getTimeString(), EnvelopeBunch::getTotalNum(), globalEOL_m, gmsg, handleAutoPhasing(), hasEndOfLineReached(), itsBunch_m, itsOpalBeamline_m, AbstractTracker::itsReference, level1(), level2(), level3(), localTrackSteps_m, Physics::m_e, pathLength_m, prepareSections(), referenceToLabCSTrafo_m, RefPartP_m, PartBunchBase< T, Dim >::RefPartP_m, RefPartR_m, PartBunchBase< T, Dim >::RefPartR_m, restoreCavityPhases(), CoordinateSystemTrafo::rotateFrom(), CoordinateSystemTrafo::rotateTo(), saveCavityPhases(), selectDT(), PartBunchBase< T, Dim >::set_sPos(), setLastStep(), OpalData::setLastStep(), PartBunchBase< T, Dim >::setT(), setTime(), sqrt(), switchElements(), OpalBeamline::switchElementsOff(), OPALTimer::Timer::time(), timeIntegration(), PartBunchBase< T, Dim >::toLabTrafo_m, CoordinateSystemTrafo::transformFrom(), CoordinateSystemTrafo::transformTo(), writeLastStepPhaseSpace(), EnvelopeBunch::zAvg(), zstart_m, and zStop_m.
|
private |
|
private |
Definition at line 520 of file ParallelSliceTracker.cpp.
References abs(), autophaseCavities(), Physics::c, dot(), dtAllTracks_m, dtCurrentTrack_m, Physics::e, euclidean_norm(), PartData::gamma, PartBunchBase< T, Dim >::getdT(), Util::getEnergy(), PartBunchBase< T, Dim >::getM(), getQuaternion(), CoordinateSystemTrafo::inverted(), itsBunch_m, localTrackSteps_m, pathLength_m, pow(), BorisPusher::push(), referenceToLabCSTrafo_m, RefPartP_m, RefPartR_m, CoordinateSystemTrafo::rotateTo(), selectDT(), PartBunchBase< T, Dim >::setT(), sqrt(), CoordinateSystemTrafo::transformTo(), updateReferenceParticle(), zstart_m, and zStop_m.
Referenced by execute().
|
inlineprivate |
Definition at line 368 of file ParallelSliceTracker.h.
Referenced by execute().
|
private |
Definition at line 357 of file ParallelSliceTracker.cpp.
References Options::autoPhase, OpalData::getFirstMaxPhases(), OpalData::getInstance(), OpalData::getLastMaxPhases(), itsDataSink_m, printRFPhases(), DataSink::storeCavityInformation(), and updateRFElement().
Referenced by execute().
|
private |
|
private |
Definition at line 515 of file ParallelSliceTracker.cpp.
References globalEOL_m, and reduce().
Referenced by execute().
|
inlineprivate |
Definition at line 293 of file ParallelSliceTracker.h.
|
inlineprivate |
Definition at line 300 of file ParallelSliceTracker.h.
|
private |
|
private |
Definition at line 374 of file ParallelSliceTracker.cpp.
References ElementBase::accept(), OpalBeamline::compute3DLattice(), Tracker::itsBeamline_m, itsOpalBeamline_m, OpalBeamline::prepareSections(), OpalBeamline::save3DInput(), and OpalBeamline::save3DLattice().
Referenced by execute().
|
private |
Definition at line 139 of file ParallelSliceTracker.cpp.
References Tracker::cavities_m, endl(), OpalData::getGlobalPhaseShift(), OpalData::getInstance(), name, Physics::pi, and ElementBase::TRAVELINGWAVE.
Referenced by handleAutoPhasing().
|
private |
Definition at line 98 of file ParallelSliceTracker.cpp.
References OpalData::getFirstMaxPhases(), OpalData::getInstance(), OpalData::getLastMaxPhases(), and updateRFElement().
Referenced by execute().
|
private |
Definition at line 94 of file ParallelSliceTracker.cpp.
References itsDataSink_m, and DataSink::storeCavityInformation().
Referenced by execute().
|
private |
Definition at line 659 of file ParallelSliceTracker.cpp.
References dtCurrentTrack_m, PartBunchBase< T, Dim >::getEmissionDeltaT(), PartBunchBase< T, Dim >::getIfBeamEmitting(), itsBunch_m, and PartBunchBase< T, Dim >::setdT().
Referenced by changeDT(), execute(), and findStartPosition().
|
private |
Definition at line 487 of file ParallelSliceTracker.cpp.
Referenced by execute().
|
private |
Definition at line 506 of file ParallelSliceTracker.cpp.
References currentSimulationTime_m, OpalData::getInstance(), EnvelopeBunch::getT(), and itsBunch_m.
Referenced by execute().
|
private |
Definition at line 476 of file ParallelSliceTracker.cpp.
References currentSimulationTime_m, Physics::e, EnvelopeBunch::Eavg(), EnvelopeBunch::getT(), itsBunch_m, itsOpalBeamline_m, OpalBeamline::switchElements(), EnvelopeBunch::zHead(), and EnvelopeBunch::zTail().
Referenced by execute().
|
private |
Definition at line 349 of file ParallelSliceTracker.cpp.
References PartBunchBase< T, Dim >::getdT(), itsBunch_m, IpplTimings::startTimer(), IpplTimings::stopTimer(), timeIntegrationTimer1_m, and EnvelopeBunch::timeStep().
Referenced by execute().
|
private |
Definition at line 578 of file ParallelSliceTracker.cpp.
References Physics::c, endl(), OpalBeamline::getCSTrafoLab2Local(), PartBunchBase< T, Dim >::getdT(), OpalBeamline::getElements(), EnvelopeBunch::getT(), globalEOL_m, gmsg, itsBunch_m, itsOpalBeamline_m, BorisPusher::kick(), level1(), min(), BorisPusher::push(), referenceToLabCSTrafo_m, RefPartP_m, RefPartR_m, CoordinateSystemTrafo::rotateFrom(), CoordinateSystemTrafo::rotateTo(), and CoordinateSystemTrafo::transformTo().
Referenced by findStartPosition().
|
private |
Definition at line 116 of file ParallelSliceTracker.cpp.
References Tracker::cavities_m, and ElementBase::TRAVELINGWAVE.
Referenced by handleAutoPhasing(), and restoreCavityPhases().
|
inlineprivate |
Definition at line 296 of file ParallelSliceTracker.h.
References EnvelopeBunch::calcBeamParameters(), and itsBunch_m.
|
inlinevirtual |
Apply the algorithm to an align wrapper.
Reimplemented from Tracker.
Definition at line 185 of file ParallelSliceTracker.h.
References itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().
|
inlinevirtual |
Apply the algorithm to a beam-beam.
Reimplemented from DefaultVisitor.
Definition at line 189 of file ParallelSliceTracker.h.
References itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().
|
virtual |
Apply the algorithm to a beam line.
Reimplemented from DefaultVisitor.
Definition at line 78 of file ParallelSliceTracker.cpp.
References OpalBeamline::compute3DLattice(), TBeamline< T >::getInitialDirection(), TBeamline< T >::getOrigin3D(), TBeamline< T >::getRelativeFlag(), TBeamline< T >::iterate(), itsOpalBeamline_m, OpalBeamline::prepareSections(), and OpalBeamline::swap().
|
inlinevirtual |
Apply the algorithm to a collimator.
Reimplemented from DefaultVisitor.
Definition at line 193 of file ParallelSliceTracker.h.
|
inlinevirtual |
Apply the algorithm to a corrector.
Reimplemented from DefaultVisitor.
Definition at line 201 of file ParallelSliceTracker.h.
References itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().
|
inlinevirtual |
Apply the algorithm to a CyclotronValley.
Reimplemented from DefaultVisitor.
Definition at line 289 of file ParallelSliceTracker.h.
|
inlinevirtual |
Apply the algorithm to a drift.
Reimplemented from DefaultVisitor.
Definition at line 205 of file ParallelSliceTracker.h.
References itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().
|
inlinevirtual |
Apply the algorithm to a diagnostic.
Reimplemented from DefaultVisitor.
Definition at line 209 of file ParallelSliceTracker.h.
References itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().
|
inlinevirtual |
Apply the algorithm to a drift.
Reimplemented from DefaultVisitor.
Definition at line 214 of file ParallelSliceTracker.h.
References itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().
|
inlinevirtual |
Apply the algorithm to a flexible collimator.
Reimplemented from DefaultVisitor.
Definition at line 197 of file ParallelSliceTracker.h.
|
inlinevirtual |
Apply the algorithm to a Lambertson.
Reimplemented from DefaultVisitor.
Definition at line 219 of file ParallelSliceTracker.h.
References itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().
|
inlinevirtual |
Apply the algorithm to a marker.
Reimplemented from DefaultVisitor.
Definition at line 224 of file ParallelSliceTracker.h.
References itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().
|
inlinevirtual |
Apply the algorithm to a monitor.
Reimplemented from DefaultVisitor.
Definition at line 229 of file ParallelSliceTracker.h.
References itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().
|
inlinevirtual |
Apply the algorithm to a multipole.
Reimplemented from DefaultVisitor.
Definition at line 234 of file ParallelSliceTracker.h.
References itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().
|
inlinevirtual |
Apply the algorithm to a ParallelPlate.
Reimplemented from DefaultVisitor.
Definition at line 285 of file ParallelSliceTracker.h.
|
inlinevirtual |
Apply the algorithm to a probe.
Reimplemented from DefaultVisitor.
Definition at line 239 of file ParallelSliceTracker.h.
References itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().
|
inlinevirtual |
Apply the algorithm to a rectangular bend.
Reimplemented from DefaultVisitor.
Definition at line 244 of file ParallelSliceTracker.h.
|
inlinevirtual |
Apply the algorithm to a RF cavity.
Reimplemented from DefaultVisitor.
Definition at line 249 of file ParallelSliceTracker.h.
References itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().
|
inlinevirtual |
Apply the algorithm to a RF quadrupole.
Reimplemented from DefaultVisitor.
Definition at line 258 of file ParallelSliceTracker.h.
References itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().
|
inlinevirtual |
Apply the algorithm to a sector bend.
Reimplemented from DefaultVisitor.
Definition at line 262 of file ParallelSliceTracker.h.
|
inlinevirtual |
Apply the algorithm to a separator.
Reimplemented from DefaultVisitor.
Definition at line 267 of file ParallelSliceTracker.h.
References itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().
|
inlinevirtual |
Apply the algorithm to a septum.
Reimplemented from DefaultVisitor.
Definition at line 272 of file ParallelSliceTracker.h.
References itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().
|
inlinevirtual |
Apply the algorithm to a solenoid.
Reimplemented from DefaultVisitor.
Definition at line 277 of file ParallelSliceTracker.h.
References itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().
|
inlinevirtual |
Apply the algorithm to a source.
Reimplemented from DefaultVisitor.
Definition at line 281 of file ParallelSliceTracker.h.
References itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().
|
inlinevirtual |
Apply the algorithm to a RF cavity.
Reimplemented from DefaultVisitor.
Definition at line 253 of file ParallelSliceTracker.h.
References itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().
|
inlineprivate |
Definition at line 343 of file ParallelSliceTracker.h.
References DataSink::dumpSDDS(), Physics::e, endl(), EnvelopeBunch::get_bounds(), INFOMSG, EnvelopeBunch::isValid_m, itsBunch_m, and itsDataSink_m.
Referenced by execute().
|
inlineprivate |
Definition at line 303 of file ParallelSliceTracker.h.
References DataSink::dumpH5(), DataSink::dumpSDDS(), Physics::e, endl(), EnvelopeBunch::get_bounds(), PartBunchBase< T, Dim >::get_rmean(), PartBunchBase< T, Dim >::getdT(), OpalBeamline::getFieldAt(), EnvelopeBunch::getT(), itsBunch_m, itsDataSink_m, itsOpalBeamline_m, Options::psDumpFreq, and Options::statDumpFreq.
Referenced by dumpStats().
|
private |
Definition at line 181 of file ParallelSliceTracker.h.
Referenced by ParallelSliceTracker().
|
private |
Definition at line 117 of file ParallelSliceTracker.h.
Referenced by execute(), setTime(), and switchElements().
|
private |
Definition at line 138 of file ParallelSliceTracker.h.
Referenced by execute(), findStartPosition(), and ParallelSliceTracker().
|
private |
Definition at line 137 of file ParallelSliceTracker.h.
Referenced by execute(), findStartPosition(), and selectDT().
|
private |
Definition at line 118 of file ParallelSliceTracker.h.
Referenced by computeExternalFields(), execute(), hasEndOfLineReached(), and updateReferenceParticle().
|
private |
Definition at line 122 of file ParallelSliceTracker.h.
Referenced by autophaseCavities(), changeDT(), computeExternalFields(), computeSpaceChargeFields(), dumpStats(), execute(), findStartPosition(), ParallelSliceTracker(), selectDT(), setTime(), switchElements(), timeIntegration(), updateReferenceParticle(), updateSpaceOrientation(), visitAlignWrapper(), visitBeamBeam(), visitCorrector(), visitDegrader(), visitDiagnostic(), visitDrift(), visitLambertson(), visitMarker(), visitMonitor(), visitMultipole(), visitProbe(), visitRFCavity(), visitRFQuadrupole(), visitSeparator(), visitSeptum(), visitSolenoid(), visitSource(), visitTravelingWave(), writeLastStepPhaseSpace(), and writePhaseSpace().
|
private |
Definition at line 124 of file ParallelSliceTracker.h.
Referenced by handleAutoPhasing(), ParallelSliceTracker(), saveCavityPhases(), writeLastStepPhaseSpace(), and writePhaseSpace().
|
private |
Definition at line 120 of file ParallelSliceTracker.h.
Referenced by autophaseCavities(), computeExternalFields(), execute(), ParallelSliceTracker(), prepareSections(), switchElements(), updateReferenceParticle(), visitAlignWrapper(), visitBeamBeam(), visitBeamline(), visitCorrector(), visitDegrader(), visitDiagnostic(), visitDrift(), visitLambertson(), visitMarker(), visitMonitor(), visitMultipole(), visitProbe(), visitRFCavity(), visitRFQuadrupole(), visitSeparator(), visitSeptum(), visitSolenoid(), visitSource(), visitTravelingWave(), and writePhaseSpace().
|
private |
The maximal number of steps the system is integrated per TRACK.
Definition at line 141 of file ParallelSliceTracker.h.
Referenced by execute(), findStartPosition(), and ParallelSliceTracker().
|
private |
Definition at line 129 of file ParallelSliceTracker.h.
Referenced by computeExternalFields(), execute(), and findStartPosition().
|
private |
Definition at line 143 of file ParallelSliceTracker.h.
Referenced by autophaseCavities(), execute(), findStartPosition(), ParallelSliceTracker(), and updateReferenceParticle().
|
private |
Definition at line 127 of file ParallelSliceTracker.h.
Referenced by autophaseCavities(), execute(), findStartPosition(), and updateReferenceParticle().
|
private |
Definition at line 126 of file ParallelSliceTracker.h.
Referenced by autophaseCavities(), execute(), findStartPosition(), and updateReferenceParticle().
|
private |
Definition at line 180 of file ParallelSliceTracker.h.
Referenced by computeExternalFields(), and ParallelSliceTracker().
|
private |
Definition at line 178 of file ParallelSliceTracker.h.
Referenced by ParallelSliceTracker(), and timeIntegration().
|
private |
Definition at line 179 of file ParallelSliceTracker.h.
Referenced by ParallelSliceTracker().
|
private |
Definition at line 182 of file ParallelSliceTracker.h.
Referenced by ParallelSliceTracker().
|
private |
where to start
Definition at line 132 of file ParallelSliceTracker.h.
Referenced by execute(), and findStartPosition().
|
private |
where to stop
Definition at line 135 of file ParallelSliceTracker.h.
Referenced by execute(), findStartPosition(), and ParallelSliceTracker().