OPALX (Object Oriented Parallel Accelerator Library for Exascal) MINIorX
OPALX
Track Class Reference

#include <Track.h>

Collaboration diagram for Track:

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, Steppers::TimeIntegrator timeintegrator, double t0, double dtScInit, double deltaTau)
 ~Track ()

Public Attributes

PartBunch_tbunch
 The particle bunch to be tracked.
PartData reference
 The reference data.
BeamSequenceuse
 The lattice to be tracked through.
TrackParser parser
 The parser used during tracking.
std::vector< double > dT
 The initial timestep.
double dtScInit
double deltaTau
double t0_m
std::vector< unsigned long long > localTimeSteps
 Maximal number of timesteps.
int stepsPerTurn
 The timsteps per revolution period. ONLY available for OPAL-cycl.
double zstart
 The location at which the simulation starts.
std::vector< double > zstop
 The location at which the simulation stops.
Steppers::TimeIntegrator timeIntegrator
 The ID of time integrator.
int truncOrder
 Trunction order for map tracking.

Static Public Attributes

static Trackblock = 0
 The block of track data.

Private Member Functions

 Track ()
 Track (const Track &)
void operator= (const Track &)

Static Private Attributes

static std::stack< Track * > stashedTrack

Detailed Description

Definition at line 33 of file Track.h.

Constructor & Destructor Documentation

◆ Track() [1/3]

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,
Steppers::TimeIntegrator 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.

Todo
can we do this anymore OpalData::getInstance()->setPartBunch(new PartBunch(&ref));

Definition at line 35 of file Track.cpp.

References bunch, deltaTau, dT, dtScInit, OpalData::getInstance(), localTimeSteps, parser, reference, stepsPerTurn, t0_m, timeIntegrator, truncOrder, use, zstart, and zstop.

Referenced by operator=(), and Track().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ~Track()

Track::~Track ( )

Definition at line 62 of file Track.cpp.

◆ Track() [2/3]

Track::Track ( )
private

◆ Track() [3/3]

Track::Track ( const Track & )
private

References Track().

Here is the call graph for this function:

Member Function Documentation

◆ operator=()

void Track::operator= ( const Track & )
private

References Track().

Here is the call graph for this function:

Member Data Documentation

◆ block

Track * Track::block = 0
static

The block of track data.

Definition at line 55 of file Track.h.

Referenced by TrackCmd::execute(), TrackEnd::execute(), TrackRun::execute(), and TrackRun::print().

◆ bunch

PartBunch_t* Track::bunch

The particle bunch to be tracked.

Definition at line 43 of file Track.h.

Referenced by Track().

◆ deltaTau

double Track::deltaTau

Definition at line 61 of file Track.h.

Referenced by Track().

◆ dT

std::vector<double> Track::dT

The initial timestep.

Definition at line 58 of file Track.h.

Referenced by Track().

◆ dtScInit

double Track::dtScInit

Definition at line 61 of file Track.h.

Referenced by Track().

◆ localTimeSteps

std::vector<unsigned long long> Track::localTimeSteps

Maximal number of timesteps.

Definition at line 68 of file Track.h.

Referenced by Track().

◆ parser

TrackParser Track::parser

The parser used during tracking.

Definition at line 52 of file Track.h.

Referenced by Track().

◆ reference

PartData Track::reference

The reference data.

Definition at line 46 of file Track.h.

Referenced by Track().

◆ stashedTrack

std::stack<Track*> Track::stashedTrack
staticprivate

Definition at line 91 of file Track.h.

◆ stepsPerTurn

int Track::stepsPerTurn

The timsteps per revolution period. ONLY available for OPAL-cycl.

Definition at line 71 of file Track.h.

Referenced by Track().

◆ t0_m

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 65 of file Track.h.

Referenced by Track().

◆ timeIntegrator

Steppers::TimeIntegrator Track::timeIntegrator

The ID of time integrator.

Definition at line 80 of file Track.h.

Referenced by Track().

◆ truncOrder

int Track::truncOrder

Trunction order for map tracking.

Definition at line 83 of file Track.h.

Referenced by Track().

◆ use

BeamSequence* Track::use

The lattice to be tracked through.

Definition at line 49 of file Track.h.

Referenced by Track().

◆ zstart

double Track::zstart

The location at which the simulation starts.

Definition at line 74 of file Track.h.

Referenced by Track().

◆ zstop

std::vector<double> Track::zstop

The location at which the simulation stops.

Definition at line 77 of file Track.h.

Referenced by Track().


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