OPAL (Object Oriented Parallel Accelerator Library)
2.2.0
OPAL
|
Hold data for tracking. More...
#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, int nslices, 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... | |
EnvelopeBunch * | slbunch |
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, | ||
int | nslices, | ||
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 43 of file Track.cpp.
References Options::amr, bunch, OpalData::getInstance(), OpalData::getPartBunch(), OpalData::getSLPartBunch(), OpalData::setPartBunch(), OpalData::setSLPartBunch(), and slbunch.
|
private |
|
private |
|
private |
|
static |
Definition at line 102 of file Track.cpp.
References block, and stashedTrack.
Referenced by SampleCmd::popEnvironment(), and OptimizeCmd::popEnvironment().
|
static |
Definition at line 95 of file Track.cpp.
References block, PAssert_EQ, and stashedTrack.
Referenced by SampleCmd::stashEnvironment(), and OptimizeCmd::stashEnvironment().
|
static |
The block of track data.
Definition at line 63 of file Track.h.
Referenced by TrackCmd::execute(), TrackSave::execute(), TrackStart::execute(), TrackEnd::execute(), TrackRun::execute(), pop(), TrackRun::setDistributionParallelT(), TrackRun::setupCyclotronTracker(), TrackRun::setupFieldsolver(), TrackRun::setupSliceTracker(), TrackRun::setupThickTracker(), TrackRun::setupTTracker(), and stash().
PartBunchBase<double, 3>* Track::bunch |
The particle bunch to be tracked.
Definition at line 49 of file Track.h.
Referenced by TrackSave::execute(), TrackStart::execute(), TrackRun::execute(), TrackRun::setDistributionParallelT(), TrackRun::setupCyclotronTracker(), TrackRun::setupFieldsolver(), TrackRun::setupSliceTracker(), TrackRun::setupThickTracker(), TrackRun::setupTTracker(), and Track().
double Track::deltaTau |
Definition at line 72 of file Track.h.
Referenced by TrackRun::setupThickTracker(), and TrackRun::setupTTracker().
std::vector<double> Track::dT |
The initial timestep.
Definition at line 69 of file Track.h.
Referenced by TrackRun::setupCyclotronTracker(), TrackRun::setupSliceTracker(), TrackRun::setupThickTracker(), and TrackRun::setupTTracker().
double Track::dtScInit |
Definition at line 72 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 79 of file Track.h.
Referenced by TrackRun::setupCyclotronTracker(), TrackRun::setupThickTracker(), and TrackRun::setupTTracker().
TrackParser Track::parser |
The parser used during tracking.
Definition at line 60 of file Track.h.
Referenced by TrackCmd::execute(), and TrackEnd::execute().
PartData Track::reference |
The reference data.
Definition at line 54 of file Track.h.
Referenced by TrackRun::execute(), TrackRun::setupCyclotronTracker(), TrackRun::setupThickTracker(), and TrackRun::setupTTracker().
EnvelopeBunch* Track::slbunch |
Definition at line 51 of file Track.h.
Referenced by TrackRun::setupSliceTracker(), and Track().
|
staticprivate |
int Track::stepsPerTurn |
double Track::t0_m |
The ellapsed time of the beam can be used to propper start the beam when created in a cavity i.e. without emission
Definition at line 76 of file Track.h.
Referenced by TrackRun::setupThickTracker(), and TrackRun::setupTTracker().
int Track::timeIntegrator |
The ID of time integrator.
Definition at line 95 of file Track.h.
Referenced by TrackRun::setupCyclotronTracker().
int Track::truncOrder |
Trunction order for map tracking.
Definition at line 98 of file Track.h.
Referenced by TrackCmd::execute(), and TrackRun::setupThickTracker().
BeamSequence* Track::use |
The lattice to be tracked through.
Definition at line 57 of file Track.h.
Referenced by TrackRun::setupCyclotronTracker().
double Track::zstart |
The location at which the simulation starts.
Definition at line 85 of file Track.h.
Referenced by TrackRun::setupSliceTracker(), TrackRun::setupThickTracker(), and TrackRun::setupTTracker().
std::vector<double> Track::zstop |
The location at which the simulation stops.
Definition at line 88 of file Track.h.
Referenced by TrackRun::setupSliceTracker(), TrackRun::setupThickTracker(), and TrackRun::setupTTracker().