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

#include <Track.h>

Collaboration diagram for Track:
Collaboration graph

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 is asking the dictionary if already a particle bunch was allocated. More...
 
 ~Track ()
 

Public Attributes

PartBunch_tbunch
 The particle bunch to be tracked. More...
 
PartData reference
 The reference data. More...
 
BeamSequenceuse
 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
 The ellapsed time of the beam can be used to propper start the beam when created in a cavity i.e. More...
 
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...
 
Steppers::TimeIntegrator timeIntegrator
 The ID of time integrator. More...
 
int truncOrder
 Trunction order for map tracking. More...
 

Static Public Attributes

static Trackblock = 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
 

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 OpalData::getInstance().

Here is the call 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

Member Function Documentation

◆ operator=()

void Track::operator= ( const Track )
private

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 TrackRun::execute().

◆ deltaTau

double Track::deltaTau

Definition at line 61 of file Track.h.

◆ dT

std::vector<double> Track::dT

The initial timestep.

Definition at line 58 of file Track.h.

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

◆ dtScInit

double Track::dtScInit

Definition at line 61 of file Track.h.

◆ localTimeSteps

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

Maximal number of timesteps.

Definition at line 68 of file Track.h.

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

◆ parser

TrackParser Track::parser

The parser used during tracking.

Definition at line 52 of file Track.h.

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

◆ reference

PartData Track::reference

The reference data.

Definition at line 46 of file Track.h.

Referenced by TrackRun::execute().

◆ 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.

◆ 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.

◆ timeIntegrator

Steppers::TimeIntegrator Track::timeIntegrator

The ID of time integrator.

Definition at line 80 of file Track.h.

◆ truncOrder

int Track::truncOrder

Trunction order for map tracking.

Definition at line 83 of file Track.h.

Referenced by TrackCmd::execute().

◆ use

BeamSequence* Track::use

The lattice to be tracked through.

Definition at line 49 of file Track.h.

◆ zstart

double Track::zstart

The location at which the simulation starts.

Definition at line 74 of file Track.h.

Referenced by TrackRun::execute().

◆ zstop

std::vector<double> Track::zstop

The location at which the simulation stops.

Definition at line 77 of file Track.h.

Referenced by TrackRun::execute().


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