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

Hold data for tracking. More...

#include <Track.h>

Collaboration diagram for Track:
Collaboration graph
[legend]

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 Trackpop ()
 

Public Attributes

PartBunchBase< double, 3 > * bunch
 The particle bunch to be tracked. More...
 
EnvelopeBunchslbunch
 
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
 
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 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

Hold data for tracking.

Definition at line 38 of file Track.h.

Constructor & Destructor Documentation

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.

Here is the call graph for this function:

Track::~Track ( )

Definition at line 92 of file Track.cpp.

Track::Track ( )
private
Track::Track ( const Track )
private

Member Function Documentation

void Track::operator= ( const Track )
private
Track * Track::pop ( )
static

Definition at line 102 of file Track.cpp.

References block, and stashedTrack.

Referenced by SampleCmd::popEnvironment(), and OptimizeCmd::popEnvironment().

void Track::stash ( )
static

Definition at line 95 of file Track.cpp.

References block, PAssert_EQ, and stashedTrack.

Referenced by SampleCmd::stashEnvironment(), and OptimizeCmd::stashEnvironment().

Member Data Documentation

Track * Track::block = 0
static
PartBunchBase<double, 3>* Track::bunch
double Track::deltaTau

Definition at line 72 of file Track.h.

Referenced by TrackRun::setupThickTracker(), and TrackRun::setupTTracker().

std::vector<double> Track::dT
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().

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

Definition at line 107 of file Track.h.

Referenced by pop(), and stash().

int Track::stepsPerTurn

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

Definition at line 82 of file Track.h.

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().


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