|
BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
|
Public Member Functions | |
| void | Reset () |
| BDSParticleDefinition * | PrepareBDSParticleDefinition (int pdg, double totalEnergy, double momentum, double kineticEnergy, int ionCharge) |
| BDSParticleDefinition * | PrepareBDSParticleDefinition_Bjorn (int pdg, double momentum, double kineticEnergy, int ionCharge) |
| const BDSParticleDefinition * | GetReferenceParticleDefinition () |
| void | SetReferenceParticleDefinition (BDSParticleDefinition *rpd) |
| std::string | GetBDSIMConfigFile () |
| int | GetReferenceParticlePDG () |
| double | GetReferenceParticleKineticEnergy () |
| double | GetRelativeEnergyCut () |
| int | GetSeed () |
| int | GetReferenceIonCharge () |
| bool | GetBatchMode () |
| double | GetMinimumKineticEnergy () |
| void | SetNoNeutralParticles (bool val) |
| bool | GetNoNeutralParticles () const |
| BDSLinkBunch * | GetBunchLink () |
| BDSIMLink * | GetBDSIMLink () |
| 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 pz, double t, double s, int trackid, int pdgid) |
| Add particle to simulation in momenta in MeV. | |
| 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) |
| void | AddParticles (std::vector< double > &x, std::vector< double > &y, std::vector< double > &px, std::vector< double > &py, std::vector< double > &pz, std::vector< double > &t, std::vector< double > &s, std::vector< int > &trackid, std::vector< int > &pdgid) |
| void | ClearData () |
| G4ParticleDefinition * | GetParticleDefinition (int pdgid) |
| double | GetParticlePDGMass (int pdgid) |
| double | GetParticlePDGCharge (int pdgid) |
| double | GetChargeRatio (int pdgid) |
| Ratio of charge between pdgid particle and reference particle. | |
| double | GetMassRatio (int pdgid) |
| Ratio of mass between pdgid particle and reference particle. | |
| double | GetChi (int pdgid) |
| Ratio of charge ratio to mass ratio between pdgid particle and reference particle. | |
| std::vector< bool > & | GetParticleActiveState () |
Static Public Member Functions | |
| static 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 BDSLinkTrackerInterface * | GetInstance (BDSParser *parserIn, int referenceParticlePDGIn=11, double referenceKineticEnergyIn=100, double relativeEnergyCutIn=0.01, int seedIn=1234, int referenceIonChargeIn=1, bool batchModeIn=true) |
| static BDSLinkTrackerInterface * | GetInstance () |
Protected Member Functions | |
| 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) | |
| BDSLinkTrackerInterface (BDSParser *parser, int referenceParticlePDGIn=11, double referenceKineticEnergyIn=100, double relativeEnergyCutIn=0.01, int seedIn=1234, int referenceIonChargeIn=1, bool batchModeIn=true) | |
| BDSLinkTrackerInterface (const BDSLinkTrackerInterface &)=delete | |
| BDSLinkTrackerInterface & | operator= (const BDSLinkTrackerInterface &)=delete |
Protected Attributes | |
| std::string | bdsimConfigFile |
| int | referenceParticlePDG |
| double | referenceKineticEnergy |
| double | relativeEnergyCut |
| int | seed |
| int | referenceIonCharge |
| bool | batchMode |
| bool | noNeutralParticles = true |
| double | minimumKineticEnergy |
| G4ParticleTable * | g4particle_table |
| G4IonTable * | g4ion_table |
| BDSLinkBunch * | linkBunch |
| BDSIMLink * | linkBDSIM |
| BDSParticleDefinition * | referenceParticleDefinition |
| std::vector< bool > | particleActiveState |
Static Protected Attributes | |
| static BDSLinkTrackerInterface * | singleton = nullptr |
Definition at line 30 of file BDSLinkTrackerInterface.hh.
| BDSLinkTrackerInterface::~BDSLinkTrackerInterface | ( | ) |
Definition at line 213 of file BDSLinkTrackerInterface.cc.
|
protected |
Definition at line 95 of file BDSLinkTrackerInterface.cc.
|
protected |
Definition at line 155 of file BDSLinkTrackerInterface.cc.
| 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 | ||
| ) |
Add particle to simulation in accelerator coordinates units of position (x,y, ct) are Geant4 (mm), deltap unitless, chi is (q/q_ref)/(mass/mass_ref)
Definition at line 324 of file BDSLinkTrackerInterface.cc.
References BDSLinkBunch::AddParticle(), BDSParticleDefinition::Beta(), BDSParticleDefinition::Charge(), BDSParticleDefinition::Momentum(), and BDSParticleDefinition::PDGID().
| void BDSLinkTrackerInterface::AddParticle | ( | double | x, |
| double | y, | ||
| double | px, | ||
| double | py, | ||
| double | pz, | ||
| double | t, | ||
| double | s, | ||
| int | trackid, | ||
| int | pdgid | ||
| ) |
Add particle to simulation in momenta in MeV.
Definition at line 365 of file BDSLinkTrackerInterface.cc.
References BDSLinkBunch::AddParticle(), BDSParticleDefinition::Charge(), and BDSParticleDefinition::PDGID().
| 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 406 of file BDSLinkTrackerInterface.cc.
| void BDSLinkTrackerInterface::AddParticles | ( | std::vector< double > & | x, |
| std::vector< double > & | y, | ||
| std::vector< double > & | px, | ||
| std::vector< double > & | py, | ||
| std::vector< double > & | pz, | ||
| std::vector< double > & | t, | ||
| std::vector< double > & | s, | ||
| std::vector< int > & | trackid, | ||
| std::vector< int > & | pdgid | ||
| ) |
Definition at line 420 of file BDSLinkTrackerInterface.cc.
| void BDSLinkTrackerInterface::ClearData | ( | ) |
Definition at line 435 of file BDSLinkTrackerInterface.cc.
|
inline |
Definition at line 73 of file BDSLinkTrackerInterface.hh.
|
inline |
Definition at line 67 of file BDSLinkTrackerInterface.hh.
|
inline |
Definition at line 80 of file BDSLinkTrackerInterface.hh.
|
inline |
Definition at line 79 of file BDSLinkTrackerInterface.hh.
| double BDSLinkTrackerInterface::GetChargeRatio | ( | int | pdgid | ) |
Ratio of charge between pdgid particle and reference particle.
Definition at line 465 of file BDSLinkTrackerInterface.cc.
References BDSParticleDefinition::Charge().
Referenced by GetChi().
| double BDSLinkTrackerInterface::GetChi | ( | int | pdgid | ) |
Ratio of charge ratio to mass ratio between pdgid particle and reference particle.
Definition at line 475 of file BDSLinkTrackerInterface.cc.
References GetChargeRatio(), and GetMassRatio().
|
static |
Definition at line 84 of file BDSLinkTrackerInterface.cc.
|
static |
Definition at line 61 of file BDSLinkTrackerInterface.cc.
|
static |
Definition at line 38 of file BDSLinkTrackerInterface.cc.
| double BDSLinkTrackerInterface::GetMassRatio | ( | int | pdgid | ) |
Ratio of mass between pdgid particle and reference particle.
Definition at line 470 of file BDSLinkTrackerInterface.cc.
References BDSParticleDefinition::Mass().
Referenced by GetChi().
|
inline |
Definition at line 74 of file BDSLinkTrackerInterface.hh.
|
inline |
Definition at line 77 of file BDSLinkTrackerInterface.hh.
|
inline |
Definition at line 122 of file BDSLinkTrackerInterface.hh.
| G4ParticleDefinition * BDSLinkTrackerInterface::GetParticleDefinition | ( | int | pdgid | ) |
Definition at line 445 of file BDSLinkTrackerInterface.cc.
| double BDSLinkTrackerInterface::GetParticlePDGCharge | ( | int | pdgid | ) |
Definition at line 460 of file BDSLinkTrackerInterface.cc.
| double BDSLinkTrackerInterface::GetParticlePDGMass | ( | int | pdgid | ) |
Definition at line 455 of file BDSLinkTrackerInterface.cc.
|
inline |
Definition at line 72 of file BDSLinkTrackerInterface.hh.
|
inline |
Definition at line 64 of file BDSLinkTrackerInterface.hh.
|
inline |
Definition at line 69 of file BDSLinkTrackerInterface.hh.
|
inline |
Definition at line 68 of file BDSLinkTrackerInterface.hh.
|
inline |
Definition at line 70 of file BDSLinkTrackerInterface.hh.
|
inline |
Definition at line 71 of file BDSLinkTrackerInterface.hh.
| BDSParticleDefinition * BDSLinkTrackerInterface::PrepareBDSParticleDefinition | ( | int | pdg, |
| double | totalEnergy, | ||
| double | momentum, | ||
| double | kineticEnergy, | ||
| int | ionCharge | ||
| ) |
Definition at line 227 of file BDSLinkTrackerInterface.cc.
| BDSParticleDefinition * BDSLinkTrackerInterface::PrepareBDSParticleDefinition_Bjorn | ( | int | pdg, |
| double | momentum, | ||
| double | kineticEnergy, | ||
| int | ionCharge | ||
| ) |
Definition at line 273 of file BDSLinkTrackerInterface.cc.
| void BDSLinkTrackerInterface::Reset | ( | ) |
Definition at line 220 of file BDSLinkTrackerInterface.cc.
|
inline |
Definition at line 76 of file BDSLinkTrackerInterface.hh.
|
inline |
Definition at line 65 of file BDSLinkTrackerInterface.hh.
|
protected |
Definition at line 159 of file BDSLinkTrackerInterface.hh.
|
protected |
Definition at line 153 of file BDSLinkTrackerInterface.hh.
|
protected |
Definition at line 169 of file BDSLinkTrackerInterface.hh.
|
protected |
Definition at line 168 of file BDSLinkTrackerInterface.hh.
|
protected |
Definition at line 173 of file BDSLinkTrackerInterface.hh.
|
protected |
Definition at line 172 of file BDSLinkTrackerInterface.hh.
|
protected |
Definition at line 165 of file BDSLinkTrackerInterface.hh.
|
protected |
Definition at line 162 of file BDSLinkTrackerInterface.hh.
|
protected |
Definition at line 179 of file BDSLinkTrackerInterface.hh.
|
protected |
Definition at line 158 of file BDSLinkTrackerInterface.hh.
|
protected |
Definition at line 155 of file BDSLinkTrackerInterface.hh.
|
protected |
Definition at line 176 of file BDSLinkTrackerInterface.hh.
|
protected |
Definition at line 154 of file BDSLinkTrackerInterface.hh.
|
protected |
Definition at line 156 of file BDSLinkTrackerInterface.hh.
|
protected |
Definition at line 157 of file BDSLinkTrackerInterface.hh.
|
staticprotected |
Definition at line 145 of file BDSLinkTrackerInterface.hh.