OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
Public Member Functions | Private Member Functions | Private Attributes | List of all members
ParallelTTracker Class Reference

#include <ParallelTTracker.h>

Inheritance diagram for ParallelTTracker:
Inheritance graph
[legend]
Collaboration diagram for ParallelTTracker:
Collaboration graph
[legend]

Public Member Functions

 ParallelTTracker (const Beamline &bl, const PartData &data, bool revBeam, bool revTrack)
 Constructor. More...
 
 ParallelTTracker (const Beamline &bl, PartBunchBase< double, 3 > *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)
 Constructor. More...
 
virtual ~ParallelTTracker ()
 
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 visitMultipoleT (const MultipoleT &)
 Apply the algorithm to a MultipoleT. 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 visitRBend3D (const RBend3D &)
 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 visitSource (const Source &)
 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...
 
- 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 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 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...
 
- Public Member Functions inherited from BeamlineVisitor
 BeamlineVisitor ()
 
virtual ~BeamlineVisitor ()
 

Private Member Functions

 ParallelTTracker ()
 
 ParallelTTracker (const ParallelTTracker &)
 
void operator= (const ParallelTTracker &)
 
void kickParticles (const BorisPusher &pusher)
 
void pushParticles (const BorisPusher &pusher)
 
void updateReferenceParticle (const BorisPusher &pusher)
 
void writePhaseSpace (const long long step, bool psDump, bool statDump)
 
void updateRFElement (std::string elName, double maxPhi)
 
void printRFPhases ()
 
void saveCavityPhases ()
 
void restoreCavityPhases ()
 
void prepareSections ()
 
void timeIntegration1 (BorisPusher &pusher)
 
void timeIntegration2 (BorisPusher &pusher)
 
void selectDT (bool backTrack=false)
 
void changeDT (bool backTrack=false)
 
void emitParticles (long long step)
 
void computeExternalFields (OrbitThreader &oth)
 
void computeWakefield (IndexMap::value_t &elements)
 
void computeParticleMatterInteraction (IndexMap::value_t elements, OrbitThreader &oth)
 
void computeSpaceChargeFields (unsigned long long step)
 
void dumpStats (long long step, bool psDump, bool statDump)
 
void setOptionalVariables ()
 
bool hasEndOfLineReached ()
 
void handleRestartRun ()
 
void prepareEmission ()
 
void setTime ()
 
void doBinaryRepartition ()
 
void transformBunch (const CoordinateSystemTrafo &trafo)
 
void updateReference (const BorisPusher &pusher)
 
void updateRefToLabCSTrafo ()
 
void applyFractionalStep (const BorisPusher &pusher, double tau)
 
void findStartPosition (const BorisPusher &pusher)
 
void autophaseCavities (const BorisPusher &pusher)
 
void evenlyDistributeParticles ()
 

Private Attributes

DataSinkitsDataSink_m
 
OpalBeamline itsOpalBeamline_m
 
bool globalEOL_m
 
bool wakeStatus_m
 
bool deletedParticles_m
 
WakeFunctionwakeFunction_m
 
double pathLength_m
 
double zstart_m
 where to start More...
 
StepSizeConfig stepSizes_m
 
double dtCurrentTrack_m
 
int minStepforReBin_m
 
size_t minBinEmitted_m
 
unsigned int repartFreq_m
 
unsigned int emissionSteps_m
 
size_t numParticlesInSimulation_m
 
IpplTimings::TimerRef timeIntegrationTimer1_m
 
IpplTimings::TimerRef timeIntegrationTimer2_m
 
IpplTimings::TimerRef fieldEvaluationTimer_m
 
IpplTimings::TimerRef BinRepartTimer_m
 
IpplTimings::TimerRef WakeFieldTimer_m
 
std::set
< ParticleMatterInteractionHandler * > 
activeParticleMatterInteractionHandlers_m
 
bool particleMatterStatus_m
 
unsigned long totalParticlesInSimulation_m
 

Additional Inherited Members

- Public Types inherited from AbstractTracker
enum  {
  X, PX, Y, PY,
  T, PT
}
 
- Public Attributes inherited from Tracker
FieldList cavities_m
 set multipacting flag More...
 
const BeamlineitsBeamline_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 BeamlineitsLine
 
bool back_beam
 
bool back_track
 
bool back_path
 
double flip_B
 
double flip_s
 

Detailed Description

Definition at line 70 of file ParallelTTracker.h.

Constructor & Destructor Documentation

ParallelTTracker::ParallelTTracker ( const Beamline bl,
const PartData data,
bool  revBeam,
bool  revTrack 
)
explicit

Constructor.

Definition at line 55 of file ParallelTTracker.cpp.

References IpplInfo::DKSEnabled.

ParallelTTracker::ParallelTTracker ( const Beamline bl,
PartBunchBase< double, 3 > *  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 
)
explicit

Constructor.

Definition at line 88 of file ParallelTTracker.cpp.

References IpplInfo::DKSEnabled, StepSizeConfig::push_back(), StepSizeConfig::resetIterator(), StepSizeConfig::sortAscendingZStop(), and stepSizes_m.

Here is the call graph for this function:

ParallelTTracker::~ParallelTTracker ( )
virtual

Definition at line 133 of file ParallelTTracker.cpp.

References IpplInfo::DKSEnabled.

ParallelTTracker::ParallelTTracker ( )
private
ParallelTTracker::ParallelTTracker ( const ParallelTTracker )
private

Member Function Documentation

void ParallelTTracker::applyFractionalStep ( const BorisPusher pusher,
double  tau 
)
private
void ParallelTTracker::autophaseCavities ( const BorisPusher pusher)
private
void ParallelTTracker::changeDT ( bool  backTrack = false)
private

Definition at line 478 of file ParallelTTracker.cpp.

References PartBunchBase< T, Dim >::dt, PartBunchBase< T, Dim >::getdT(), PartBunchBase< T, Dim >::getLocalNum(), Tracker::itsBunch_m, and selectDT().

Referenced by execute(), and findStartPosition().

Here is the call graph for this function:

void ParallelTTracker::computeExternalFields ( OrbitThreader oth)
private
void ParallelTTracker::computeParticleMatterInteraction ( IndexMap::value_t  elements,
OrbitThreader oth 
)
private
void ParallelTTracker::computeSpaceChargeFields ( unsigned long long  step)
private
void ParallelTTracker::computeWakefield ( IndexMap::value_t elements)
private
void ParallelTTracker::doBinaryRepartition ( )
private
void ParallelTTracker::dumpStats ( long long  step,
bool  psDump,
bool  statDump 
)
private
void ParallelTTracker::emitParticles ( long long  step)
private
void ParallelTTracker::evenlyDistributeParticles ( )
private
void ParallelTTracker::execute ( )
virtual

Apply the algorithm to the top-level beamline.

Reimplemented from DefaultVisitor.

Definition at line 191 of file ParallelTTracker.cpp.

References abs(), OpalBeamline::activateElements(), StepSizeConfig::advanceToPos(), OpalData::APPEND, DefaultVisitor::back_track, PartData::beta, PartBunchBase< T, Dim >::Bf, Physics::c, changeDT(), computeExternalFields(), computeSpaceChargeFields(), OpalBeamline::containsSource(), deletedParticles_m, IpplInfo::DKSEnabled, dtCurrentTrack_m, dumpStats(), PartBunchBase< T, Dim >::Ef, emitParticles(), endl(), euclidean_norm(), evenlyDistributeParticles(), OrbitThreader::execute(), findStartPosition(), PartBunchBase< T, Dim >::get_bounds(), PartBunchBase< T, Dim >::get_pmean_Distribution(), PartBunchBase< T, Dim >::get_sPos(), OpalBeamline::getCSTrafoLab2Local(), StepSizeConfig::getdT(), PartBunchBase< T, Dim >::getdT(), StepSizeConfig::getFinalZStop(), Util::getGamma(), OpalData::getGlobalPhaseShift(), PartBunchBase< T, Dim >::getGlobalTrackStep(), OpalData::getInstance(), Util::getLengthString(), PartBunchBase< T, Dim >::getM(), StepSizeConfig::getMaxSteps(), StepSizeConfig::getMinTimeStep(), StepSizeConfig::getNumSteps(), StepSizeConfig::getNumStepsFinestResolution(), PartData::getP(), PartBunchBase< T, Dim >::getT(), Util::getTimeString(), PartBunchBase< T, Dim >::getTotalNum(), StepSizeConfig::getZStop(), globalEOL_m, gmsg, hasEndOfLineReached(), PartBunchBase< T, Dim >::incrementT(), PartBunchBase< T, Dim >::incTrackSteps(), CoordinateSystemTrafo::inverted(), Tracker::itsBunch_m, itsOpalBeamline_m, AbstractTracker::itsReference, level1(), level2(), minBinEmitted_m, numParticlesInSimulation_m, pathLength_m, prepareEmission(), prepareSections(), Options::psDumpFreq, StepSizeConfig::reachedEnd(), PartBunchBase< T, Dim >::RefPartP_m, PartBunchBase< T, Dim >::RefPartR_m, restoreCavityPhases(), StepSizeConfig::reverseDirection(), saveCavityPhases(), selectDT(), PartBunchBase< T, Dim >::set_sPos(), PartBunchBase< T, Dim >::setdT(), OpalData::setGlobalPhaseShift(), OpalData::setInPrepState(), OpalData::setOpenMode(), setOptionalVariables(), OpalData::setPriorTrack(), PartBunchBase< T, Dim >::setT(), setTime(), Options::statDumpFreq, stepSizes_m, OpalBeamline::switchElementsOff(), OPALTimer::Timer::time(), timeIntegration1(), timeIntegration2(), PartBunchBase< T, Dim >::toLabTrafo_m, totalParticlesInSimulation_m, updateReference(), wakeStatus_m, PartBunchBase< T, Dim >::weHaveEnergyBins(), writePhaseSpace(), Monitor::writeStatistics(), and zstart_m.

void ParallelTTracker::findStartPosition ( const BorisPusher pusher)
private
void ParallelTTracker::handleRestartRun ( )
private
bool ParallelTTracker::hasEndOfLineReached ( )
private

Definition at line 973 of file ParallelTTracker.cpp.

References globalEOL_m, and reduce().

Referenced by execute().

Here is the call graph for this function:

void ParallelTTracker::kickParticles ( const BorisPusher pusher)
inlineprivate
void ParallelTTracker::operator= ( const ParallelTTracker )
private
void ParallelTTracker::prepareEmission ( )
private
void ParallelTTracker::prepareSections ( )
private
void ParallelTTracker::printRFPhases ( )
private
void ParallelTTracker::pushParticles ( const BorisPusher pusher)
inlineprivate
void ParallelTTracker::restoreCavityPhases ( )
private

Definition at line 178 of file ParallelTTracker.cpp.

References OpalData::getFirstMaxPhases(), OpalData::getInstance(), OpalData::getLastMaxPhases(), and updateRFElement().

Referenced by execute().

Here is the call graph for this function:

void ParallelTTracker::saveCavityPhases ( )
private

Definition at line 174 of file ParallelTTracker.cpp.

References itsDataSink_m, and DataSink::storeCavityInformation().

Referenced by execute().

Here is the call graph for this function:

void ParallelTTracker::selectDT ( bool  backTrack = false)
private
void ParallelTTracker::setOptionalVariables ( )
private
void ParallelTTracker::setTime ( )
private

Definition at line 978 of file ParallelTTracker.cpp.

References PartBunchBase< T, Dim >::dt, PartBunchBase< T, Dim >::getdT(), PartBunchBase< T, Dim >::getLocalNum(), and Tracker::itsBunch_m.

Referenced by execute().

Here is the call graph for this function:

void ParallelTTracker::timeIntegration1 ( BorisPusher pusher)
private

Definition at line 405 of file ParallelTTracker.cpp.

References IpplInfo::DKSEnabled, pushParticles(), IpplTimings::startTimer(), IpplTimings::stopTimer(), and timeIntegrationTimer1_m.

Referenced by execute().

Here is the call graph for this function:

void ParallelTTracker::timeIntegration2 ( BorisPusher pusher)
private
void ParallelTTracker::transformBunch ( const CoordinateSystemTrafo trafo)
private
void ParallelTTracker::updateReference ( const BorisPusher pusher)
private

Definition at line 1107 of file ParallelTTracker.cpp.

References updateReferenceParticle(), and updateRefToLabCSTrafo().

Referenced by computeParticleMatterInteraction(), and execute().

Here is the call graph for this function:

void ParallelTTracker::updateReferenceParticle ( const BorisPusher pusher)
private
void ParallelTTracker::updateRefToLabCSTrafo ( )
private
void ParallelTTracker::updateRFElement ( std::string  elName,
double  maxPhi 
)
private
void ParallelTTracker::visitAlignWrapper ( const AlignWrapper wrap)
inlinevirtual

Apply the algorithm to an align wrapper.

Reimplemented from Tracker.

Definition at line 324 of file ParallelTTracker.h.

References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().

Here is the call graph for this function:

void ParallelTTracker::visitBeamBeam ( const BeamBeam bb)
inlinevirtual

Apply the algorithm to a BeamBeam.

Reimplemented from DefaultVisitor.

Definition at line 328 of file ParallelTTracker.h.

References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().

Here is the call graph for this function:

void ParallelTTracker::visitBeamline ( const Beamline bl)
virtual
void ParallelTTracker::visitBeamStripping ( const BeamStripping bstp)
inlinevirtual

Apply the algorithm to a BeamStripping.

Reimplemented from DefaultVisitor.

Definition at line 332 of file ParallelTTracker.h.

References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().

Here is the call graph for this function:

void ParallelTTracker::visitCCollimator ( const CCollimator coll)
inlinevirtual

Apply the algorithm to a collimator.

Reimplemented from DefaultVisitor.

Definition at line 336 of file ParallelTTracker.h.

References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().

Here is the call graph for this function:

void ParallelTTracker::visitCorrector ( const Corrector corr)
inlinevirtual

Apply the algorithm to a Corrector.

Reimplemented from DefaultVisitor.

Definition at line 341 of file ParallelTTracker.h.

References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().

Here is the call graph for this function:

void ParallelTTracker::visitCyclotronValley ( const CyclotronValley cv)
inlinevirtual

Apply the algorithm to a CyclotronValley.

Reimplemented from DefaultVisitor.

Definition at line 443 of file ParallelTTracker.h.

References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().

Here is the call graph for this function:

void ParallelTTracker::visitDegrader ( const Degrader deg)
inlinevirtual

Apply the algorithm to a Degrader.

Reimplemented from DefaultVisitor.

Definition at line 346 of file ParallelTTracker.h.

References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().

Here is the call graph for this function:

void ParallelTTracker::visitDiagnostic ( const Diagnostic diag)
inlinevirtual

Apply the algorithm to a Diagnostic.

Reimplemented from DefaultVisitor.

Definition at line 351 of file ParallelTTracker.h.

References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().

Here is the call graph for this function:

void ParallelTTracker::visitDrift ( const Drift drift)
inlinevirtual

Apply the algorithm to a Drift.

Reimplemented from DefaultVisitor.

Definition at line 356 of file ParallelTTracker.h.

References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().

Here is the call graph for this function:

void ParallelTTracker::visitFlexibleCollimator ( const FlexibleCollimator coll)
inlinevirtual

Apply the algorithm to a flexible collimator.

Reimplemented from DefaultVisitor.

Definition at line 361 of file ParallelTTracker.h.

References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().

Here is the call graph for this function:

void ParallelTTracker::visitLambertson ( const Lambertson lamb)
inlinevirtual

Apply the algorithm to a Lambertson.

Reimplemented from DefaultVisitor.

Definition at line 366 of file ParallelTTracker.h.

References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().

Here is the call graph for this function:

void ParallelTTracker::visitMarker ( const Marker marker)
inlinevirtual

Apply the algorithm to a Marker.

Reimplemented from DefaultVisitor.

Definition at line 371 of file ParallelTTracker.h.

References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().

Here is the call graph for this function:

void ParallelTTracker::visitMonitor ( const Monitor mon)
inlinevirtual

Apply the algorithm to a Monitor.

Reimplemented from DefaultVisitor.

Definition at line 376 of file ParallelTTracker.h.

References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().

Here is the call graph for this function:

void ParallelTTracker::visitMultipole ( const Multipole mult)
inlinevirtual

Apply the algorithm to a Multipole.

Reimplemented from DefaultVisitor.

Definition at line 381 of file ParallelTTracker.h.

References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().

Here is the call graph for this function:

void ParallelTTracker::visitMultipoleT ( const MultipoleT mult)
inlinevirtual

Apply the algorithm to a MultipoleT.

Reimplemented from DefaultVisitor.

Definition at line 385 of file ParallelTTracker.h.

References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().

Here is the call graph for this function:

void ParallelTTracker::visitParallelPlate ( const ParallelPlate pplate)
inlinevirtual

Apply the algorithm to a ParallelPlate.

Reimplemented from DefaultVisitor.

Definition at line 439 of file ParallelTTracker.h.

References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().

Here is the call graph for this function:

void ParallelTTracker::visitProbe ( const Probe prob)
inlinevirtual

Apply the algorithm to a Probe.

Reimplemented from DefaultVisitor.

Definition at line 389 of file ParallelTTracker.h.

References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().

Here is the call graph for this function:

void ParallelTTracker::visitRBend ( const RBend bend)
inlinevirtual

Apply the algorithm to a RBend.

Reimplemented from DefaultVisitor.

Definition at line 394 of file ParallelTTracker.h.

References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().

Here is the call graph for this function:

void ParallelTTracker::visitRBend3D ( const RBend3D bend)
inlinevirtual

Apply the algorithm to a RBend.

Reimplemented from DefaultVisitor.

Definition at line 398 of file ParallelTTracker.h.

References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().

Here is the call graph for this function:

void ParallelTTracker::visitRFCavity ( const RFCavity as)
inlinevirtual

Apply the algorithm to a RFCavity.

Reimplemented from DefaultVisitor.

Definition at line 403 of file ParallelTTracker.h.

References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().

Here is the call graph for this function:

void ParallelTTracker::visitRFQuadrupole ( const RFQuadrupole rfq)
inlinevirtual

Apply the algorithm to a RFQuadrupole.

Reimplemented from DefaultVisitor.

Definition at line 412 of file ParallelTTracker.h.

References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().

Here is the call graph for this function:

void ParallelTTracker::visitSBend ( const SBend bend)
inlinevirtual

Apply the algorithm to a SBend.

Reimplemented from DefaultVisitor.

Definition at line 416 of file ParallelTTracker.h.

References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().

Here is the call graph for this function:

void ParallelTTracker::visitSeparator ( const Separator sep)
inlinevirtual

Apply the algorithm to a Separator.

Reimplemented from DefaultVisitor.

Definition at line 421 of file ParallelTTracker.h.

References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().

Here is the call graph for this function:

void ParallelTTracker::visitSeptum ( const Septum sept)
inlinevirtual

Apply the algorithm to a Septum.

Reimplemented from DefaultVisitor.

Definition at line 426 of file ParallelTTracker.h.

References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().

Here is the call graph for this function:

void ParallelTTracker::visitSolenoid ( const Solenoid solenoid)
inlinevirtual

Apply the algorithm to a Solenoid.

Reimplemented from DefaultVisitor.

Definition at line 431 of file ParallelTTracker.h.

References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().

Here is the call graph for this function:

void ParallelTTracker::visitSource ( const Source source)
inlinevirtual

Apply the algorithm to a Solenoid.

Reimplemented from DefaultVisitor.

Definition at line 435 of file ParallelTTracker.h.

References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().

Here is the call graph for this function:

void ParallelTTracker::visitTravelingWave ( const TravelingWave as)
inlinevirtual

Apply the algorithm to a RFCavity.

Reimplemented from DefaultVisitor.

Definition at line 407 of file ParallelTTracker.h.

References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().

Here is the call graph for this function:

void ParallelTTracker::writePhaseSpace ( const long long  step,
bool  psDump,
bool  statDump 
)
private

Member Data Documentation

std::set<ParticleMatterInteractionHandler*> ParallelTTracker::activeParticleMatterInteractionHandlers_m
private

Definition at line 250 of file ParallelTTracker.h.

Referenced by computeParticleMatterInteraction().

IpplTimings::TimerRef ParallelTTracker::BinRepartTimer_m
private

Definition at line 247 of file ParallelTTracker.h.

Referenced by doBinaryRepartition().

bool ParallelTTracker::deletedParticles_m
private

Definition at line 211 of file ParallelTTracker.h.

Referenced by computeExternalFields(), and execute().

double ParallelTTracker::dtCurrentTrack_m
private

Definition at line 226 of file ParallelTTracker.h.

Referenced by execute(), findStartPosition(), and selectDT().

unsigned int ParallelTTracker::emissionSteps_m
private

Definition at line 240 of file ParallelTTracker.h.

Referenced by prepareEmission().

IpplTimings::TimerRef ParallelTTracker::fieldEvaluationTimer_m
private

Definition at line 246 of file ParallelTTracker.h.

Referenced by computeExternalFields().

bool ParallelTTracker::globalEOL_m
private
DataSink* ParallelTTracker::itsDataSink_m
private

Definition at line 203 of file ParallelTTracker.h.

Referenced by saveCavityPhases(), and writePhaseSpace().

OpalBeamline ParallelTTracker::itsOpalBeamline_m
private
size_t ParallelTTracker::minBinEmitted_m
private
int ParallelTTracker::minStepforReBin_m
private

Definition at line 230 of file ParallelTTracker.h.

Referenced by emitParticles(), and setOptionalVariables().

size_t ParallelTTracker::numParticlesInSimulation_m
private
bool ParallelTTracker::particleMatterStatus_m
private

Definition at line 251 of file ParallelTTracker.h.

Referenced by computeParticleMatterInteraction().

double ParallelTTracker::pathLength_m
private
unsigned int ParallelTTracker::repartFreq_m
private

Definition at line 238 of file ParallelTTracker.h.

Referenced by computeSpaceChargeFields(), and setOptionalVariables().

StepSizeConfig ParallelTTracker::stepSizes_m
private

stores informations where to change the time step and where to stop the simulation, the time step sizes and the number of time steps with each configuration

Definition at line 224 of file ParallelTTracker.h.

Referenced by execute(), findStartPosition(), ParallelTTracker(), and writePhaseSpace().

IpplTimings::TimerRef ParallelTTracker::timeIntegrationTimer1_m
private

Definition at line 244 of file ParallelTTracker.h.

Referenced by timeIntegration1().

IpplTimings::TimerRef ParallelTTracker::timeIntegrationTimer2_m
private

Definition at line 245 of file ParallelTTracker.h.

Referenced by timeIntegration2().

unsigned long ParallelTTracker::totalParticlesInSimulation_m
private
IpplTimings::TimerRef ParallelTTracker::WakeFieldTimer_m
private

Definition at line 248 of file ParallelTTracker.h.

Referenced by computeWakefield().

WakeFunction* ParallelTTracker::wakeFunction_m
private

Definition at line 213 of file ParallelTTracker.h.

Referenced by computeWakefield().

bool ParallelTTracker::wakeStatus_m
private

Definition at line 209 of file ParallelTTracker.h.

Referenced by computeWakefield(), and execute().

double ParallelTTracker::zstart_m
private

where to start

Definition at line 218 of file ParallelTTracker.h.

Referenced by applyFractionalStep(), execute(), and findStartPosition().


The documentation for this class was generated from the following files: