OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
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, EmissionSourceList *emissionSourcesList=nullptr, const std::vector< std::string > &beamNames={})
 
 ~Track ()
 

Public Attributes

PartBunch_tbunch
 The particle bunch to be tracked.
 
PartData reference
 The reference data.
 
BeamSequenceuse
 The lattice to be tracked through.
 
EmissionSourceListemissionSources
 The emission sources list for particle injection (SOURCES= on TRACK).
 
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.
 
std::vector< std::string > beamNames_m
 

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 35 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,
EmissionSourceList emissionSourcesList = nullptr,
const std::vector< std::string > &  beamNames = {} 
)

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 36 of file Track.cpp.

References OpalData::getInstance().

Here is the call graph for this function:

◆ ~Track()

Track::~Track ( )

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

◆ beamNames_m

std::vector<std::string> Track::beamNames_m

The names of beams selected on the enclosing TRACK command. (If RUN::BEAM is omitted, TrackRun resolves from this list.)

Definition at line 92 of file Track.h.

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

◆ block

Track * Track::block = 0
static

The block of track data.

Definition at line 60 of file Track.h.

Referenced by TrackCmd::execute(), TrackEnd::execute(), TrackRun::execute(), TrackRun::print(), and TrackRun::wireDaughterContainers().

◆ bunch

PartBunch_t* Track::bunch

The particle bunch to be tracked.

Definition at line 45 of file Track.h.

◆ deltaTau

double Track::deltaTau

Definition at line 66 of file Track.h.

◆ dT

std::vector<double> Track::dT

The initial timestep.

Definition at line 63 of file Track.h.

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

◆ dtScInit

double Track::dtScInit

Definition at line 66 of file Track.h.

◆ emissionSources

EmissionSourceList* Track::emissionSources

The emission sources list for particle injection (SOURCES= on TRACK).

Definition at line 54 of file Track.h.

◆ localTimeSteps

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

Maximal number of timesteps.

Definition at line 73 of file Track.h.

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

◆ parser

TrackParser Track::parser

The parser used during tracking.

Definition at line 57 of file Track.h.

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

◆ reference

PartData Track::reference

The reference data.

Definition at line 48 of file Track.h.

◆ stashedTrack

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

Definition at line 100 of file Track.h.

◆ stepsPerTurn

int Track::stepsPerTurn

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

Definition at line 76 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 70 of file Track.h.

◆ timeIntegrator

Steppers::TimeIntegrator Track::timeIntegrator

The ID of time integrator.

Definition at line 85 of file Track.h.

◆ truncOrder

int Track::truncOrder

Trunction order for map tracking.

Definition at line 88 of file Track.h.

Referenced by TrackCmd::execute().

◆ use

BeamSequence* Track::use

The lattice to be tracked through.

Definition at line 51 of file Track.h.

◆ zstart

double Track::zstart

The location at which the simulation starts.

Definition at line 79 of file Track.h.

Referenced by TrackRun::execute().

◆ zstop

std::vector<double> Track::zstop

The location at which the simulation stops.

Definition at line 82 of file Track.h.

Referenced by TrackRun::execute().


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