OPAL (Object Oriented Parallel Accelerator Library)
2021.1.99
OPAL
|
#include <Track.h>
Public Member Functions | |
Track (BeamSequence *, const PartData &, const std::vector< double > &dt, const std::vector< unsigned long long > &maxtsteps, int stepsperturn, double zStart, const std::vector< double > &zStop, int timeintegrator, double t0, double dtScInit, double deltaTau) | |
~Track () | |
Static Public Member Functions | |
static void | stash () |
static Track * | pop () |
Public Attributes | |
PartBunchBase< double, 3 > * | bunch |
The particle bunch to be tracked. More... | |
PartData | reference |
The reference data. More... | |
BeamSequence * | use |
The lattice to be tracked through. More... | |
TrackParser | parser |
The parser used during tracking. More... | |
std::vector< double > | dT |
The initial timestep. More... | |
double | dtScInit |
double | deltaTau |
double | t0_m |
std::vector< unsigned long long > | localTimeSteps |
Maximal number of timesteps. More... | |
int | stepsPerTurn |
The timsteps per revolution period. ONLY available for OPAL-cycl. More... | |
double | zstart |
The location at which the simulation starts. More... | |
std::vector< double > | zstop |
The location at which the simulation stops. More... | |
int | timeIntegrator |
The ID of time integrator. More... | |
int | truncOrder |
Trunction order for map tracking. More... | |
Static Public Attributes | |
static Track * | block = 0 |
The block of track data. More... | |
Private Member Functions | |
Track () | |
Track (const Track &) | |
void | operator= (const Track &) |
Static Private Attributes | |
static std::stack< Track * > | stashedTrack |
Track::Track | ( | BeamSequence * | u, |
const PartData & | ref, | ||
const std::vector< double > & | dt, | ||
const std::vector< unsigned long long > & | maxtsteps, | ||
int | stepsperturn, | ||
double | zStart, | ||
const std::vector< double > & | zStop, | ||
int | timeintegrator, | ||
double | t0, | ||
double | dtScInit, | ||
double | deltaTau | ||
) |
Track is asking the dictionary if already a particle bunch was allocated. If that is the case Track is using the already allocated bunch, otherwise a new bunch is allocated in the dictionary.
Definition at line 40 of file Track.cpp.
References Options::amr, bunch, OpalData::getInstance(), OpalData::getPartBunch(), Hypervolume::ref, and OpalData::setPartBunch().
|
private |
|
private |
|
private |
|
static |
Definition at line 82 of file Track.cpp.
References block, and stashedTrack.
Referenced by OptimizeCmd::popEnvironment(), and SampleCmd::popEnvironment().
|
static |
Definition at line 75 of file Track.cpp.
References block, PAssert_EQ, and stashedTrack.
Referenced by OptimizeCmd::stashEnvironment(), and SampleCmd::stashEnvironment().
|
static |
The block of track data.
Definition at line 56 of file Track.h.
Referenced by MGPoissonSolver::computePotential(), TrackCmd::execute(), TrackEnd::execute(), pop(), TrackRun::setDistributionParallelT(), TrackRun::setupCyclotronTracker(), TrackRun::setupFieldsolver(), TrackRun::setupThickTracker(), TrackRun::setupTTracker(), and stash().
PartBunchBase<double, 3>* Track::bunch |
The particle bunch to be tracked.
Definition at line 44 of file Track.h.
Referenced by TrackRun::setDistributionParallelT(), TrackRun::setupCyclotronTracker(), TrackRun::setupFieldsolver(), TrackRun::setupThickTracker(), TrackRun::setupTTracker(), and Track().
double Track::deltaTau |
Definition at line 65 of file Track.h.
Referenced by TrackRun::setupThickTracker(), and TrackRun::setupTTracker().
std::vector<double> Track::dT |
The initial timestep.
Definition at line 62 of file Track.h.
Referenced by TrackRun::setupCyclotronTracker(), TrackRun::setupThickTracker(), and TrackRun::setupTTracker().
double Track::dtScInit |
Definition at line 65 of file Track.h.
Referenced by TrackRun::setupThickTracker(), and TrackRun::setupTTracker().
std::vector<unsigned long long> Track::localTimeSteps |
Maximal number of timesteps.
Definition at line 72 of file Track.h.
Referenced by MGPoissonSolver::computePotential(), TrackRun::setupCyclotronTracker(), TrackRun::setupThickTracker(), and TrackRun::setupTTracker().
TrackParser Track::parser |
The parser used during tracking.
Definition at line 53 of file Track.h.
Referenced by TrackCmd::execute(), and TrackEnd::execute().
PartData Track::reference |
The reference data.
Definition at line 47 of file Track.h.
Referenced by TrackRun::setupCyclotronTracker(), TrackRun::setupThickTracker(), and TrackRun::setupTTracker().
|
staticprivate |
int Track::stepsPerTurn |
The timsteps per revolution period. ONLY available for OPAL-cycl.
Definition at line 75 of file Track.h.
Referenced by TrackRun::setupCyclotronTracker().
double Track::t0_m |
int Track::timeIntegrator |
The ID of time integrator.
Definition at line 88 of file Track.h.
Referenced by TrackRun::setupCyclotronTracker().
int Track::truncOrder |
Trunction order for map tracking.
Definition at line 91 of file Track.h.
Referenced by TrackCmd::execute(), and TrackRun::setupThickTracker().
BeamSequence* Track::use |
The lattice to be tracked through.
Definition at line 50 of file Track.h.
Referenced by TrackRun::setupCyclotronTracker().
double Track::zstart |
The location at which the simulation starts.
Definition at line 78 of file Track.h.
Referenced by TrackRun::setupThickTracker(), and TrackRun::setupTTracker().
std::vector<double> Track::zstop |
The location at which the simulation stops.
Definition at line 81 of file Track.h.
Referenced by TrackRun::setupThickTracker(), and TrackRun::setupTTracker().