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

Static Public Member Functions

static void stash ()
static Trackpop ()

Public Attributes

PartBunchBase< double, 3 > * bunch
 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 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, deltaTau, dT, dtScInit, OpalData::getInstance(), OpalData::getPartBunch(), localTimeSteps, parser, reference, OpalData::setPartBunch(), stepsPerTurn, t0_m, timeIntegrator, truncOrder, use, zstart, and zstop.

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

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

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:

◆ pop()

Track * Track::pop ( )
static

Definition at line 83 of file Track.cpp.

References block, stashedTrack, and Track().

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

Here is the call graph for this function:

◆ 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

◆ bunch

PartBunchBase<double, 3>* Track::bunch

The particle bunch to be tracked.

Definition at line 47 of file Track.h.

Referenced by Track().

◆ deltaTau

double Track::deltaTau

Definition at line 68 of file Track.h.

Referenced by Track().

◆ dT

std::vector<double> Track::dT

The initial timestep.

Definition at line 65 of file Track.h.

Referenced by Track().

◆ dtScInit

double Track::dtScInit

Definition at line 68 of file Track.h.

Referenced by Track().

◆ localTimeSteps

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

Maximal number of timesteps.

Definition at line 75 of file Track.h.

Referenced by Track().

◆ parser

TrackParser Track::parser

The parser used during tracking.

Definition at line 56 of file Track.h.

Referenced by Track().

◆ reference

PartData Track::reference

The reference data.

Definition at line 50 of file Track.h.

Referenced by Track().

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

Referenced by Track().

◆ timeIntegrator

Steppers::TimeIntegrator Track::timeIntegrator

The ID of time integrator.

Definition at line 87 of file Track.h.

Referenced by Track().

◆ truncOrder

int Track::truncOrder

Trunction order for map tracking.

Definition at line 90 of file Track.h.

Referenced by Track().

◆ use

BeamSequence* Track::use

The lattice to be tracked through.

Definition at line 53 of file Track.h.

Referenced by Track().

◆ zstart

double Track::zstart

The location at which the simulation starts.

Definition at line 81 of file Track.h.

Referenced by Track().

◆ zstop

std::vector<double> Track::zstop

The location at which the simulation stops.

Definition at line 84 of file Track.h.

Referenced by Track().


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