CbmRoot
|
User interface class to define the Geant4 simulation settings. More...
#include <CbmGeant4Settings.h>
Public Member Functions | |
CbmGeant4Settings ()=default | |
~CbmGeant4Settings ()=default | |
CbmGeant4Settings (const CbmGeant4Settings &)=delete | |
CbmGeant4Settings & | operator= (const CbmGeant4Settings &)=delete |
void | Init (TVirtualMC *) |
Set all parameters defined in this class. More... | |
void | SetG4RunConfig (std::string navigationEngine, std::string physicsLists, std::string specialProcesses) |
Define the Geant4 run configuration. More... | |
std::array< std::string, 3 > | GetG4RunConfig () |
Get the Geant4 run configuration. More... | |
void | SetG4Command (std::string command) |
Set a new command which should be passsed to Geant4. The call will remove the current list of commands. More... | |
void | AddG4Command (std::string command) |
Add a new command which should be passsed to Geant4 to the existing list of commands. More... | |
void | SetMaximumNumberOfSteps (Int_t numSteps) |
Set the maximum number of steps after which the transport is stopped list of commands. More... | |
void | SetProcessPairProduction (Int_t val) |
Control the pair production process. More... | |
void | SetProcessComptonScattering (Int_t val) |
Control the Compton scattering process. More... | |
void | SetProcessPhotoEffect (Int_t val) |
Control the photo-electric effect. More... | |
void | SetProcessPhotoFission (Int_t val) |
Control the process of nuclear fission induced by a photon. More... | |
void | SetProcessDeltaRay (Int_t val) |
Control the delta ray production. More... | |
void | SetProcessAnnihilation (Int_t val) |
Control the positron annihilation process. More... | |
void | SetProcessBremsstrahlung (Int_t val) |
Control the process of bremsstrahlung. More... | |
void | SetProcessHadronicInteraction (Int_t val) |
Control the hadronic interactions. More... | |
void | SetProcessMuonNuclearInteraction (Int_t val) |
Control the muon-nucleus interaction. More... | |
void | SetProcessDecay (Int_t val) |
Control the decay of particles in flight. More... | |
void | SetProcessEnergyLossModel (Int_t val) |
Control the continuous enery loss process. More... | |
void | SetProcessMultipleScattering (Int_t val) |
Control the multiple scattering process. More... | |
void | SetEnergyCutGammas (Double_t val) |
Set the energy threshold for the transport of gammas. More... | |
void | SetEnergyCutElectrons (Double_t val) |
Set the energy threshold for the transport of electros and positrons. More... | |
void | SetEnergyCutNeutralHadrons (Double_t val) |
Set the energy threshold for the transport of neutral hadrons. More... | |
void | SetEnergyCutChargedHadrons (Double_t val) |
Set the energy threshold for the transport of charged hadrons and ions. More... | |
void | SetEnergyCutMuons (Double_t val) |
Set the energy threshold for the transport of muons. More... | |
void | SetEnergyCutElectronBremsstrahlung (Double_t val) |
Set the energy threshold for photons produced by electron bremsstrahlung. More... | |
void | SetEnergyCutMuonHadronBremsstrahlung (Double_t val) |
Set the energy threshold for photons produced by muon bremsstrahlung. More... | |
void | SetEnergyCutElectronDeltaRay (Double_t val) |
Set the energy threshold for electrons produced by electron delta-rays. More... | |
void | SetEnergyCutMuonDeltaRay (Double_t val) |
Set the energy threshold for electrons produced by muon or hadron delta-rays. More... | |
void | SetEnergyCutMuonPairProduction (Double_t val) |
Set the energy threshold for e+e- direct pair production by muons. More... | |
void | SetTimeCutTof (Double_t val) |
Set the time of flight threshold from the primary interaction time. More... | |
Private Member Functions | |
ClassDef (CbmGeant4Settings, 3) | |
Private Attributes | |
std::array< std::string, 3 > | fG4RunConfig |
std::vector< std::string > | fG4Commands |
Int_t | fMaxNumSteps {10000000} |
Int_t | fProcessPairProduction {1} |
Int_t | fProcessComptonScattering {1} |
Int_t | fProcessPhotoEffect {1} |
Int_t | fProcessPhotoFission {0} |
Int_t | fProcessDeltaRay {1} |
Int_t | fProcessAnnihilation {1} |
Int_t | fProcessBremsstrahlung {1} |
Int_t | fProcessHadronicInteraction {1} |
Int_t | fProcessMuonNuclearInteraction {1} |
Int_t | fProcessDecay {1} |
Int_t | fProcessEnergyLossModel {1} |
Int_t | fProcessMultipleScattering {1} |
Double_t | fEnergyCutGammas {1.e-3} |
Double_t | fEnergyCutElectrons {1.e-3} |
Double_t | fEnergyCutNeutralHadrons {1.e-3} |
Double_t | fEnergyCutChargedHadrons {1.e-3} |
Double_t | fEnergyCutMuons {1.e-3} |
Double_t | fEnergyCutElectronBremsstrahlung {1.e-3} |
Double_t | fEnergyCutMuonHadronBremsstrahlung {1.e-3} |
Double_t | fEnergyCutElectronDeltaRay {1.e-3} |
Double_t | fEnergyCutMuonDeltaRay {1.e-3} |
Double_t | fEnergyCutMuonPairProduction {1.e-3} |
Double_t | fTimeCutTof {1.0} |
User interface class to define the Geant4 simulation settings.
Definition at line 23 of file CbmGeant4Settings.h.
|
default |
|
default |
|
delete |
|
inline |
Add a new command which should be passsed to Geant4 to the existing list of commands.
[in] | Geant4 | command string |
Definition at line 68 of file CbmGeant4Settings.h.
References fG4Commands.
|
private |
|
inline |
Get the Geant4 run configuration.
Definition at line 53 of file CbmGeant4Settings.h.
References fG4RunConfig.
Referenced by CbmTransport::ConfigureVMC().
void CbmGeant4Settings::Init | ( | TVirtualMC * | vmc | ) |
Set all parameters defined in this class.
[in] | vmc | Pointer to the VirtualMC class |
Definition at line 12 of file CbmGeant4Settings.cxx.
References buffer, fG4Commands, fMaxNumSteps, and CbmVMCSettings::Init().
Referenced by CbmTransport::ConfigureVMC().
|
delete |
|
inlineinherited |
Set the energy threshold for the transport of charged hadrons and ions.
[in] | val | Value to be set |
The parameter is the kinetic energy in GeV
Definition at line 260 of file CbmVMCSettings.h.
References CheckValueInRange(), and CbmVMCSettings::fEnergyCutChargedHadrons.
|
inlineinherited |
Set the energy threshold for photons produced by electron bremsstrahlung.
[in] | val | Value to be set |
The parameter is the kinetic energy in GeV
Definition at line 280 of file CbmVMCSettings.h.
References CheckValueInRange(), and CbmVMCSettings::fEnergyCutElectronBremsstrahlung.
|
inlineinherited |
Set the energy threshold for electrons produced by electron delta-rays.
[in] | val | Value to be set |
The parameter is the kinetic energy in GeV
Definition at line 300 of file CbmVMCSettings.h.
References CheckValueInRange(), and CbmVMCSettings::fEnergyCutElectronDeltaRay.
|
inlineinherited |
Set the energy threshold for the transport of electros and positrons.
[in] | val | Value to be set |
The parameter is the kinetic energy in GeV
Definition at line 240 of file CbmVMCSettings.h.
References CheckValueInRange(), and CbmVMCSettings::fEnergyCutElectrons.
|
inlineinherited |
Set the energy threshold for the transport of gammas.
[in] | val | Value to be set |
The parameter is the kinetic energy in GeV
Definition at line 230 of file CbmVMCSettings.h.
References CheckValueInRange(), and CbmVMCSettings::fEnergyCutGammas.
|
inlineinherited |
Set the energy threshold for electrons produced by muon or hadron delta-rays.
[in] | val | Value to be set |
The parameter is the kinetic energy in GeV
Definition at line 310 of file CbmVMCSettings.h.
References CheckValueInRange(), and CbmVMCSettings::fEnergyCutMuonDeltaRay.
|
inlineinherited |
Set the energy threshold for photons produced by muon bremsstrahlung.
[in] | val | Value to be set |
The parameter is the kinetic energy in GeV
Definition at line 290 of file CbmVMCSettings.h.
References CheckValueInRange(), and CbmVMCSettings::fEnergyCutMuonHadronBremsstrahlung.
|
inlineinherited |
Set the energy threshold for e+e- direct pair production by muons.
[in] | val | Value to be set |
The parameter is the kinetic energy in GeV
Definition at line 320 of file CbmVMCSettings.h.
References CheckValueInRange(), and CbmVMCSettings::fEnergyCutMuonPairProduction.
|
inlineinherited |
Set the energy threshold for the transport of muons.
[in] | val | Value to be set |
The parameter is the kinetic energy in GeV
Definition at line 270 of file CbmVMCSettings.h.
References CheckValueInRange(), and CbmVMCSettings::fEnergyCutMuons.
|
inlineinherited |
Set the energy threshold for the transport of neutral hadrons.
[in] | val | Value to be set |
The parameter is the kinetic energy in GeV
Definition at line 250 of file CbmVMCSettings.h.
References CheckValueInRange(), and CbmVMCSettings::fEnergyCutNeutralHadrons.
|
inline |
Set a new command which should be passsed to Geant4. The call will remove the current list of commands.
[in] | Geant4 | command string |
Definition at line 59 of file CbmGeant4Settings.h.
References fG4Commands.
|
inline |
Define the Geant4 run configuration.
[in] | navigationEngine | Define geometry input and navigation (default geomROOT) |
[in] | physicsLists | Define the physiscs lists (default QGSP_BERT_EMV+optical) @Param[in] specialProcesses Define special processes (default stepLimiter) |
Definition at line 41 of file CbmGeant4Settings.h.
References fG4RunConfig.
|
inline |
Set the maximum number of steps after which the transport is stopped list of commands.
[in] | Number | of steps |
Definition at line 74 of file CbmGeant4Settings.h.
References fMaxNumSteps.
|
inlineinherited |
Control the positron annihilation process.
[in] | val | Value to be set |
Definition at line 128 of file CbmVMCSettings.h.
References CheckValueInRange(), and CbmVMCSettings::fProcessAnnihilation.
|
inlineinherited |
Control the process of bremsstrahlung.
[in] | val | Value to be set |
Definition at line 142 of file CbmVMCSettings.h.
References CheckValueInRange(), and CbmVMCSettings::fProcessBremsstrahlung.
|
inlineinherited |
Control the Compton scattering process.
[in] | val | Value to be set |
Definition at line 72 of file CbmVMCSettings.h.
References CheckValueInRange(), and CbmVMCSettings::fProcessComptonScattering.
|
inlineinherited |
Control the decay of particles in flight.
[in] | val | Value to be set |
Definition at line 186 of file CbmVMCSettings.h.
References CheckValueInRange(), and CbmVMCSettings::fProcessDecay.
|
inlineinherited |
Control the delta ray production.
[in] | val | Value to be set |
Definition at line 114 of file CbmVMCSettings.h.
References CheckValueInRange(), and CbmVMCSettings::fProcessDeltaRay.
|
inlineinherited |
Control the continuous enery loss process.
[in] | val | Value to be set |
Definition at line 205 of file CbmVMCSettings.h.
References CheckValueInRange(), and CbmVMCSettings::fProcessEnergyLossModel.
|
inlineinherited |
Control the hadronic interactions.
[in] | val | Value to be set |
Definition at line 158 of file CbmVMCSettings.h.
References CheckValueInRange(), and CbmVMCSettings::fProcessHadronicInteraction.
|
inlineinherited |
Control the multiple scattering process.
[in] | val | Value to be set |
Definition at line 220 of file CbmVMCSettings.h.
References CheckValueInRange(), and CbmVMCSettings::fProcessMultipleScattering.
|
inlineinherited |
Control the muon-nucleus interaction.
[in] | val | Value to be set |
Definition at line 172 of file CbmVMCSettings.h.
References CheckValueInRange(), and CbmVMCSettings::fProcessMuonNuclearInteraction.
|
inlineinherited |
Control the pair production process.
[in] | val | Value to be set |
Definition at line 58 of file CbmVMCSettings.h.
References CheckValueInRange(), and CbmVMCSettings::fProcessPairProduction.
|
inlineinherited |
Control the photo-electric effect.
[in] | val | Value to be set |
Definition at line 86 of file CbmVMCSettings.h.
References CheckValueInRange(), and CbmVMCSettings::fProcessPhotoEffect.
|
inlineinherited |
Control the process of nuclear fission induced by a photon.
[in] | val | Value to be set |
Definition at line 100 of file CbmVMCSettings.h.
References CheckValueInRange(), and CbmVMCSettings::fProcessPhotoFission.
|
inlineinherited |
Set the time of flight threshold from the primary interaction time.
[in] | val | Value to be set |
The parameter is the time in s
Definition at line 330 of file CbmVMCSettings.h.
References CheckValueInRange(), and CbmVMCSettings::fTimeCutTof.
|
privateinherited |
Definition at line 352 of file CbmVMCSettings.h.
Referenced by CbmVMCSettings::Init(), and CbmVMCSettings::SetEnergyCutChargedHadrons().
|
privateinherited |
Definition at line 354 of file CbmVMCSettings.h.
Referenced by CbmVMCSettings::Init(), and CbmVMCSettings::SetEnergyCutElectronBremsstrahlung().
|
privateinherited |
Definition at line 356 of file CbmVMCSettings.h.
Referenced by CbmVMCSettings::Init(), and CbmVMCSettings::SetEnergyCutElectronDeltaRay().
|
privateinherited |
Definition at line 350 of file CbmVMCSettings.h.
Referenced by CbmVMCSettings::Init(), and CbmVMCSettings::SetEnergyCutElectrons().
|
privateinherited |
Definition at line 349 of file CbmVMCSettings.h.
Referenced by CbmVMCSettings::Init(), and CbmVMCSettings::SetEnergyCutGammas().
|
privateinherited |
Definition at line 357 of file CbmVMCSettings.h.
Referenced by CbmVMCSettings::Init(), and CbmVMCSettings::SetEnergyCutMuonDeltaRay().
|
privateinherited |
Definition at line 355 of file CbmVMCSettings.h.
Referenced by CbmVMCSettings::Init(), and CbmVMCSettings::SetEnergyCutMuonHadronBremsstrahlung().
|
privateinherited |
Definition at line 358 of file CbmVMCSettings.h.
Referenced by CbmVMCSettings::Init(), and CbmVMCSettings::SetEnergyCutMuonPairProduction().
|
privateinherited |
Definition at line 353 of file CbmVMCSettings.h.
Referenced by CbmVMCSettings::Init(), and CbmVMCSettings::SetEnergyCutMuons().
|
privateinherited |
Definition at line 351 of file CbmVMCSettings.h.
Referenced by CbmVMCSettings::Init(), and CbmVMCSettings::SetEnergyCutNeutralHadrons().
|
private |
Definition at line 80 of file CbmGeant4Settings.h.
Referenced by AddG4Command(), Init(), and SetG4Command().
|
private |
Definition at line 77 of file CbmGeant4Settings.h.
Referenced by GetG4RunConfig(), and SetG4RunConfig().
|
private |
Definition at line 86 of file CbmGeant4Settings.h.
Referenced by Init(), and SetMaximumNumberOfSteps().
|
privateinherited |
Definition at line 341 of file CbmVMCSettings.h.
Referenced by CbmVMCSettings::Init(), and CbmVMCSettings::SetProcessAnnihilation().
|
privateinherited |
Definition at line 342 of file CbmVMCSettings.h.
Referenced by CbmVMCSettings::Init(), and CbmVMCSettings::SetProcessBremsstrahlung().
|
privateinherited |
Definition at line 337 of file CbmVMCSettings.h.
Referenced by CbmVMCSettings::Init(), and CbmVMCSettings::SetProcessComptonScattering().
|
privateinherited |
Definition at line 345 of file CbmVMCSettings.h.
Referenced by CbmVMCSettings::Init(), and CbmVMCSettings::SetProcessDecay().
|
privateinherited |
Definition at line 340 of file CbmVMCSettings.h.
Referenced by CbmVMCSettings::Init(), and CbmVMCSettings::SetProcessDeltaRay().
|
privateinherited |
Definition at line 346 of file CbmVMCSettings.h.
Referenced by CbmVMCSettings::Init(), and CbmVMCSettings::SetProcessEnergyLossModel().
|
privateinherited |
Definition at line 343 of file CbmVMCSettings.h.
Referenced by CbmVMCSettings::Init(), and CbmVMCSettings::SetProcessHadronicInteraction().
|
privateinherited |
Definition at line 347 of file CbmVMCSettings.h.
Referenced by CbmVMCSettings::Init(), and CbmVMCSettings::SetProcessMultipleScattering().
|
privateinherited |
Definition at line 344 of file CbmVMCSettings.h.
Referenced by CbmVMCSettings::Init(), and CbmVMCSettings::SetProcessMuonNuclearInteraction().
|
privateinherited |
Definition at line 336 of file CbmVMCSettings.h.
Referenced by CbmVMCSettings::Init(), and CbmVMCSettings::SetProcessPairProduction().
|
privateinherited |
Definition at line 338 of file CbmVMCSettings.h.
Referenced by CbmVMCSettings::Init(), and CbmVMCSettings::SetProcessPhotoEffect().
|
privateinherited |
Definition at line 339 of file CbmVMCSettings.h.
Referenced by CbmVMCSettings::Init(), and CbmVMCSettings::SetProcessPhotoFission().
|
privateinherited |
Definition at line 360 of file CbmVMCSettings.h.
Referenced by CbmVMCSettings::Init(), and CbmVMCSettings::SetTimeCutTof().