BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes
BDSLinkTrackerInterface Class Reference
Collaboration diagram for BDSLinkTrackerInterface:
Collaboration graph

Public Member Functions

void SetNoNeutralParticles (bool val)
 
bool GetNoNeutralParticles () const
 
void ClearXtrackData ()
 
std::string GetBDSIMConfigFile ()
 
int GetReferenceParticlePDG ()
 
double GetReferenceParticleKineticEnergy ()
 
double GetRelativeEnergyCut ()
 
int GetSeed ()
 
int GetReferenceIonCharge ()
 
bool GetBatchMode ()
 
double GetMinimumKineticEnergy ()
 
BDSLinkBunchGetBunchLink ()
 
BDSIMLinkGetBDSIMLink ()
 
BDSParticleDefinitionGetReferenceParticleDefinition () const
 
void SetReferenceParticleDefinition (BDSParticleDefinition *rpd)
 
BDSParticleDefinitionprepareBDSParticleDefition (int pdg, double momentum, double kineticEnergy, int ionCharge)
 
void AddParticle (double x, double y, double px, double py, double ct, double deltap, double chi, double chargeRatio, double s, int trackid, int pdgid)
 
void AddParticle (double x, double y, double px, double py, double ct, double pc, double s, int trackid, int pdgid)
 
void AddParticles (std::vector< double > x, std::vector< double > y, std::vector< double > px, std::vector< double > py, std::vector< double > ct, std::vector< double > deltap, std::vector< double > chi, std::vector< double > chargeRatio, std::vector< double > s, std::vector< int > trackid, std::vector< int > pdgid)
 
std::vector< bool > & GetParticleActiveState ()
 

Static Public Member Functions

static BDSLinkTrackerInterfaceGetInstance (std::string bdsimConfigFileIn, int referenceParticlePDGIn=11, double referenceKineticEnergyIn=100, double relativeEnergyCutIn=0.01, int seedIn=1234, int referenceIonChargeIn=1, bool batchModeIn=true)
 
static BDSLinkTrackerInterfaceGetInstance ()
 

Protected Member Functions

 BDSLinkTrackerInterface (const BDSLinkTrackerInterface &)=delete
 
BDSLinkTrackerInterfaceoperator= (const BDSLinkTrackerInterface &)=delete
 
 BDSLinkTrackerInterface (std::string bdsimConfigFileIn="trackerInterface.gmad", int referenceParticlePDGIn=11, double referenceKineticEnergyIn=100, double relativeEnergyCutIn=0.01, int seedIn=1234, int referenceIonChargeIn=1, bool batchModeIn=true)
 

Protected Attributes

bool noNeutralParticles = true
 
std::string bdsimConfigFile
 
int referenceParticlePDG
 
double referenceKineticEnergy
 
double relativeEnergyCut
 
int seed
 
int referenceIonCharge
 
bool batchMode
 
double minimumKineticEnergy
 
G4ParticleTable * g4particle_table
 
G4IonTable * g4ion_table
 
BDSLinkBunchlinkBunch
 
BDSIMLinklinkBDSIM
 
BDSParticleDefinitionreferenceParticleDefinition
 
std::vector< bool > particleActiveState
 

Static Protected Attributes

static BDSLinkTrackerInterfacesingleton = nullptr
 

Detailed Description

Definition at line 12 of file BDSLinkTrackerInterface.hh.

Constructor & Destructor Documentation

◆ BDSLinkTrackerInterface()

BDSLinkTrackerInterface::BDSLinkTrackerInterface ( std::string  bdsimConfigFileIn = "trackerInterface.gmad",
int  referenceParticlePDGIn = 11,
double  referenceKineticEnergyIn = 100,
double  relativeEnergyCutIn = 0.01,
int  seedIn = 1234,
int  referenceIonChargeIn = 1,
bool  batchModeIn = true 
)
protected

Definition at line 57 of file BDSLinkTrackerInterface.cc.

Member Function Documentation

◆ AddParticle() [1/2]

void BDSLinkTrackerInterface::AddParticle ( double  x,
double  y,
double  px,
double  py,
double  ct,
double  deltap,
double  chi,
double  chargeRatio,
double  s,
int  trackid,
int  pdgid 
)

Definition at line 150 of file BDSLinkTrackerInterface.cc.

◆ AddParticle() [2/2]

void BDSLinkTrackerInterface::AddParticle ( double  x,
double  y,
double  px,
double  py,
double  ct,
double  pc,
double  s,
int  trackid,
int  pdgid 
)

Definition at line 192 of file BDSLinkTrackerInterface.cc.

◆ AddParticles()

void BDSLinkTrackerInterface::AddParticles ( std::vector< double >  x,
std::vector< double >  y,
std::vector< double >  px,
std::vector< double >  py,
std::vector< double >  ct,
std::vector< double >  deltap,
std::vector< double >  chi,
std::vector< double >  chargeRatio,
std::vector< double >  s,
std::vector< int >  trackid,
std::vector< int >  pdgid 
)

Definition at line 231 of file BDSLinkTrackerInterface.cc.

◆ GetBatchMode()

bool BDSLinkTrackerInterface::GetBatchMode ( )
inline

Definition at line 36 of file BDSLinkTrackerInterface.hh.

◆ GetBDSIMConfigFile()

std::string BDSLinkTrackerInterface::GetBDSIMConfigFile ( )
inline

Definition at line 30 of file BDSLinkTrackerInterface.hh.

◆ GetBDSIMLink()

BDSIMLink * BDSLinkTrackerInterface::GetBDSIMLink ( )
inline

Definition at line 40 of file BDSLinkTrackerInterface.hh.

◆ GetBunchLink()

BDSLinkBunch * BDSLinkTrackerInterface::GetBunchLink ( )
inline

Definition at line 39 of file BDSLinkTrackerInterface.hh.

◆ GetInstance() [1/2]

BDSLinkTrackerInterface * BDSLinkTrackerInterface::GetInstance ( )
static

Definition at line 47 of file BDSLinkTrackerInterface.cc.

◆ GetInstance() [2/2]

BDSLinkTrackerInterface * BDSLinkTrackerInterface::GetInstance ( std::string  bdsimConfigFileIn,
int  referenceParticlePDGIn = 11,
double  referenceKineticEnergyIn = 100,
double  relativeEnergyCutIn = 0.01,
int  seedIn = 1234,
int  referenceIonChargeIn = 1,
bool  batchModeIn = true 
)
static

Definition at line 18 of file BDSLinkTrackerInterface.cc.

◆ GetMinimumKineticEnergy()

double BDSLinkTrackerInterface::GetMinimumKineticEnergy ( )
inline

Definition at line 37 of file BDSLinkTrackerInterface.hh.

◆ GetNoNeutralParticles()

bool BDSLinkTrackerInterface::GetNoNeutralParticles ( ) const
inline

Definition at line 15 of file BDSLinkTrackerInterface.hh.

◆ GetParticleActiveState()

std::vector< bool > & BDSLinkTrackerInterface::GetParticleActiveState ( )
inline

Definition at line 64 of file BDSLinkTrackerInterface.hh.

◆ GetReferenceIonCharge()

int BDSLinkTrackerInterface::GetReferenceIonCharge ( )
inline

Definition at line 35 of file BDSLinkTrackerInterface.hh.

◆ GetReferenceParticleKineticEnergy()

double BDSLinkTrackerInterface::GetReferenceParticleKineticEnergy ( )
inline

Definition at line 32 of file BDSLinkTrackerInterface.hh.

◆ GetReferenceParticlePDG()

int BDSLinkTrackerInterface::GetReferenceParticlePDG ( )
inline

Definition at line 31 of file BDSLinkTrackerInterface.hh.

◆ GetRelativeEnergyCut()

double BDSLinkTrackerInterface::GetRelativeEnergyCut ( )
inline

Definition at line 33 of file BDSLinkTrackerInterface.hh.

◆ GetSeed()

int BDSLinkTrackerInterface::GetSeed ( )
inline

Definition at line 34 of file BDSLinkTrackerInterface.hh.

◆ prepareBDSParticleDefition()

BDSParticleDefinition * BDSLinkTrackerInterface::prepareBDSParticleDefition ( int  pdg,
double  momentum,
double  kineticEnergy,
int  ionCharge 
)

Definition at line 113 of file BDSLinkTrackerInterface.cc.

◆ SetNoNeutralParticles()

void BDSLinkTrackerInterface::SetNoNeutralParticles ( bool  val)
inline

Definition at line 14 of file BDSLinkTrackerInterface.hh.

◆ SetReferenceParticleDefinition()

void BDSLinkTrackerInterface::SetReferenceParticleDefinition ( BDSParticleDefinition rpd)
inline

Definition at line 43 of file BDSLinkTrackerInterface.hh.

Field Documentation

◆ batchMode

bool BDSLinkTrackerInterface::batchMode
protected

Definition at line 92 of file BDSLinkTrackerInterface.hh.

◆ bdsimConfigFile

std::string BDSLinkTrackerInterface::bdsimConfigFile
protected

Definition at line 86 of file BDSLinkTrackerInterface.hh.

◆ g4ion_table

G4IonTable* BDSLinkTrackerInterface::g4ion_table
protected

Definition at line 99 of file BDSLinkTrackerInterface.hh.

◆ g4particle_table

G4ParticleTable* BDSLinkTrackerInterface::g4particle_table
protected

Definition at line 98 of file BDSLinkTrackerInterface.hh.

◆ linkBDSIM

BDSIMLink* BDSLinkTrackerInterface::linkBDSIM
protected

Definition at line 103 of file BDSLinkTrackerInterface.hh.

◆ linkBunch

BDSLinkBunch* BDSLinkTrackerInterface::linkBunch
protected

Definition at line 102 of file BDSLinkTrackerInterface.hh.

◆ minimumKineticEnergy

double BDSLinkTrackerInterface::minimumKineticEnergy
protected

Definition at line 95 of file BDSLinkTrackerInterface.hh.

◆ noNeutralParticles

bool BDSLinkTrackerInterface::noNeutralParticles = true
protected

Definition at line 67 of file BDSLinkTrackerInterface.hh.

◆ particleActiveState

std::vector<bool> BDSLinkTrackerInterface::particleActiveState
protected

Definition at line 109 of file BDSLinkTrackerInterface.hh.

◆ referenceIonCharge

int BDSLinkTrackerInterface::referenceIonCharge
protected

Definition at line 91 of file BDSLinkTrackerInterface.hh.

◆ referenceKineticEnergy

double BDSLinkTrackerInterface::referenceKineticEnergy
protected

Definition at line 88 of file BDSLinkTrackerInterface.hh.

◆ referenceParticleDefinition

BDSParticleDefinition* BDSLinkTrackerInterface::referenceParticleDefinition
protected

Definition at line 106 of file BDSLinkTrackerInterface.hh.

◆ referenceParticlePDG

int BDSLinkTrackerInterface::referenceParticlePDG
protected

Definition at line 87 of file BDSLinkTrackerInterface.hh.

◆ relativeEnergyCut

double BDSLinkTrackerInterface::relativeEnergyCut
protected

Definition at line 89 of file BDSLinkTrackerInterface.hh.

◆ seed

int BDSLinkTrackerInterface::seed
protected

Definition at line 90 of file BDSLinkTrackerInterface.hh.

◆ singleton

BDSLinkTrackerInterface * BDSLinkTrackerInterface::singleton = nullptr
staticprotected

Definition at line 69 of file BDSLinkTrackerInterface.hh.


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