OPAL (Object Oriented Parallel Accelerator Library) 2024.2
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.
 
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, OpalData::getInstance(), OpalData::getPartBunch(), 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, pop(), and stashedTrack.

Referenced by pop(), 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

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: