OPAL (Object Oriented Parallel Accelerator Library) 2022.1
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

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

Definition at line 40 of file Track.cpp.

References Options::amr, bunch, OpalData::getInstance(), OpalData::getPartBunch(), Hypervolume::ref, and OpalData::setPartBunch().

Here is the call graph for this function:

◆ ~Track()

Track::~Track ( )

Definition at line 73 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

◆ pop()

Track * Track::pop ( )
static

Definition at line 83 of file Track.cpp.

References block, and stashedTrack.

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

◆ stash()

void Track::stash ( )
static

Definition at line 76 of file Track.cpp.

References block, PAssert_EQ, and stashedTrack.

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

Member Data Documentation

◆ block

Track * Track::block = 0
static

◆ bunch

PartBunchBase<double, 3>* Track::bunch

◆ deltaTau

double Track::deltaTau

Definition at line 68 of file Track.h.

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

◆ dT

std::vector<double> Track::dT

The initial timestep.

Definition at line 65 of file Track.h.

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

◆ dtScInit

double Track::dtScInit

Definition at line 68 of file Track.h.

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

◆ localTimeSteps

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

◆ parser

TrackParser Track::parser

The parser used during tracking.

Definition at line 56 of file Track.h.

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

◆ reference

PartData Track::reference

The reference data.

Definition at line 50 of file Track.h.

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

◆ stashedTrack

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

Definition at line 98 of file Track.h.

Referenced by pop(), and stash().

◆ stepsPerTurn

int Track::stepsPerTurn

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

Definition at line 78 of file Track.h.

Referenced by TrackRun::print().

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

◆ timeIntegrator

Steppers::TimeIntegrator Track::timeIntegrator

The ID of time integrator.

Definition at line 87 of file Track.h.

Referenced by TrackRun::setupCyclotronTracker().

◆ truncOrder

int Track::truncOrder

Trunction order for map tracking.

Definition at line 90 of file Track.h.

Referenced by TrackCmd::execute(), and TrackRun::setupThickTracker().

◆ use

BeamSequence* Track::use

The lattice to be tracked through.

Definition at line 53 of file Track.h.

Referenced by TrackRun::setupCyclotronTracker().

◆ zstart

double Track::zstart

The location at which the simulation starts.

Definition at line 81 of file Track.h.

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

◆ zstop

std::vector<double> Track::zstop

The location at which the simulation stops.

Definition at line 84 of file Track.h.

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


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