CbmRoot
CbmGeant4Settings Class Reference

User interface class to define the Geant4 simulation settings. More...

#include <CbmGeant4Settings.h>

Inheritance diagram for CbmGeant4Settings:
[legend]
Collaboration diagram for CbmGeant4Settings:
[legend]

Public Member Functions

 CbmGeant4Settings ()=default
 
 ~CbmGeant4Settings ()=default
 
 CbmGeant4Settings (const CbmGeant4Settings &)=delete
 
CbmGeant4Settingsoperator= (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}
 

Detailed Description

User interface class to define the Geant4 simulation settings.

Author
Florian Uhlig f.uhl.nosp@m.ig@g.nosp@m.si.de
Since
21.01.2020

Definition at line 23 of file CbmGeant4Settings.h.

Constructor & Destructor Documentation

◆ CbmGeant4Settings() [1/2]

CbmGeant4Settings::CbmGeant4Settings ( )
default

◆ ~CbmGeant4Settings()

CbmGeant4Settings::~CbmGeant4Settings ( )
default

◆ CbmGeant4Settings() [2/2]

CbmGeant4Settings::CbmGeant4Settings ( const CbmGeant4Settings )
delete

Member Function Documentation

◆ AddG4Command()

void CbmGeant4Settings::AddG4Command ( std::string  command)
inline

Add a new command which should be passsed to Geant4 to the existing list of commands.

Parameters
[in]Geant4command string

Definition at line 68 of file CbmGeant4Settings.h.

References fG4Commands.

◆ ClassDef()

CbmGeant4Settings::ClassDef ( CbmGeant4Settings  ,
 
)
private

◆ GetG4RunConfig()

std::array<std::string, 3> CbmGeant4Settings::GetG4RunConfig ( )
inline

Get the Geant4 run configuration.

Returns
Array with the 3 strings for the Geant4 run configuration

Definition at line 53 of file CbmGeant4Settings.h.

References fG4RunConfig.

Referenced by CbmTransport::ConfigureVMC().

◆ Init()

void CbmGeant4Settings::Init ( TVirtualMC *  vmc)

Set all parameters defined in this class.

Parameters
[in]vmcPointer to the VirtualMC class

Definition at line 12 of file CbmGeant4Settings.cxx.

References buffer, fG4Commands, fMaxNumSteps, and CbmVMCSettings::Init().

Referenced by CbmTransport::ConfigureVMC().

◆ operator=()

CbmGeant4Settings& CbmGeant4Settings::operator= ( const CbmGeant4Settings )
delete

◆ SetEnergyCutChargedHadrons()

void CbmVMCSettings::SetEnergyCutChargedHadrons ( Double_t  val)
inlineinherited

Set the energy threshold for the transport of charged hadrons and ions.

Parameters
[in]valValue to be set

The parameter is the kinetic energy in GeV

Definition at line 260 of file CbmVMCSettings.h.

References CheckValueInRange(), and CbmVMCSettings::fEnergyCutChargedHadrons.

◆ SetEnergyCutElectronBremsstrahlung()

void CbmVMCSettings::SetEnergyCutElectronBremsstrahlung ( Double_t  val)
inlineinherited

Set the energy threshold for photons produced by electron bremsstrahlung.

Parameters
[in]valValue to be set

The parameter is the kinetic energy in GeV

Definition at line 280 of file CbmVMCSettings.h.

References CheckValueInRange(), and CbmVMCSettings::fEnergyCutElectronBremsstrahlung.

◆ SetEnergyCutElectronDeltaRay()

void CbmVMCSettings::SetEnergyCutElectronDeltaRay ( Double_t  val)
inlineinherited

Set the energy threshold for electrons produced by electron delta-rays.

Parameters
[in]valValue to be set

The parameter is the kinetic energy in GeV

Definition at line 300 of file CbmVMCSettings.h.

References CheckValueInRange(), and CbmVMCSettings::fEnergyCutElectronDeltaRay.

◆ SetEnergyCutElectrons()

void CbmVMCSettings::SetEnergyCutElectrons ( Double_t  val)
inlineinherited

Set the energy threshold for the transport of electros and positrons.

Parameters
[in]valValue to be set

The parameter is the kinetic energy in GeV

Definition at line 240 of file CbmVMCSettings.h.

References CheckValueInRange(), and CbmVMCSettings::fEnergyCutElectrons.

◆ SetEnergyCutGammas()

void CbmVMCSettings::SetEnergyCutGammas ( Double_t  val)
inlineinherited

Set the energy threshold for the transport of gammas.

Parameters
[in]valValue to be set

The parameter is the kinetic energy in GeV

Definition at line 230 of file CbmVMCSettings.h.

References CheckValueInRange(), and CbmVMCSettings::fEnergyCutGammas.

◆ SetEnergyCutMuonDeltaRay()

void CbmVMCSettings::SetEnergyCutMuonDeltaRay ( Double_t  val)
inlineinherited

Set the energy threshold for electrons produced by muon or hadron delta-rays.

Parameters
[in]valValue to be set

The parameter is the kinetic energy in GeV

Definition at line 310 of file CbmVMCSettings.h.

References CheckValueInRange(), and CbmVMCSettings::fEnergyCutMuonDeltaRay.

◆ SetEnergyCutMuonHadronBremsstrahlung()

void CbmVMCSettings::SetEnergyCutMuonHadronBremsstrahlung ( Double_t  val)
inlineinherited

Set the energy threshold for photons produced by muon bremsstrahlung.

Parameters
[in]valValue to be set

The parameter is the kinetic energy in GeV

Definition at line 290 of file CbmVMCSettings.h.

References CheckValueInRange(), and CbmVMCSettings::fEnergyCutMuonHadronBremsstrahlung.

◆ SetEnergyCutMuonPairProduction()

void CbmVMCSettings::SetEnergyCutMuonPairProduction ( Double_t  val)
inlineinherited

Set the energy threshold for e+e- direct pair production by muons.

Parameters
[in]valValue to be set

The parameter is the kinetic energy in GeV

Definition at line 320 of file CbmVMCSettings.h.

References CheckValueInRange(), and CbmVMCSettings::fEnergyCutMuonPairProduction.

◆ SetEnergyCutMuons()

void CbmVMCSettings::SetEnergyCutMuons ( Double_t  val)
inlineinherited

Set the energy threshold for the transport of muons.

Parameters
[in]valValue to be set

The parameter is the kinetic energy in GeV

Definition at line 270 of file CbmVMCSettings.h.

References CheckValueInRange(), and CbmVMCSettings::fEnergyCutMuons.

◆ SetEnergyCutNeutralHadrons()

void CbmVMCSettings::SetEnergyCutNeutralHadrons ( Double_t  val)
inlineinherited

Set the energy threshold for the transport of neutral hadrons.

Parameters
[in]valValue to be set

The parameter is the kinetic energy in GeV

Definition at line 250 of file CbmVMCSettings.h.

References CheckValueInRange(), and CbmVMCSettings::fEnergyCutNeutralHadrons.

◆ SetG4Command()

void CbmGeant4Settings::SetG4Command ( std::string  command)
inline

Set a new command which should be passsed to Geant4. The call will remove the current list of commands.

Parameters
[in]Geant4command string

Definition at line 59 of file CbmGeant4Settings.h.

References fG4Commands.

◆ SetG4RunConfig()

void CbmGeant4Settings::SetG4RunConfig ( std::string  navigationEngine,
std::string  physicsLists,
std::string  specialProcesses 
)
inline

Define the Geant4 run configuration.

Parameters
[in]navigationEngineDefine geometry input and navigation (default geomROOT)
[in]physicsListsDefine 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.

◆ SetMaximumNumberOfSteps()

void CbmGeant4Settings::SetMaximumNumberOfSteps ( Int_t  numSteps)
inline

Set the maximum number of steps after which the transport is stopped list of commands.

Parameters
[in]Numberof steps

Definition at line 74 of file CbmGeant4Settings.h.

References fMaxNumSteps.

◆ SetProcessAnnihilation()

void CbmVMCSettings::SetProcessAnnihilation ( Int_t  val)
inlineinherited

Control the positron annihilation process.

Parameters
[in]valValue to be set
val = 0 no positron annihilation
= 1 positron annihilation with generation of photons (Default)
= 2 positron annihilation without generation of photons

Definition at line 128 of file CbmVMCSettings.h.

References CheckValueInRange(), and CbmVMCSettings::fProcessAnnihilation.

◆ SetProcessBremsstrahlung()

void CbmVMCSettings::SetProcessBremsstrahlung ( Int_t  val)
inlineinherited

Control the process of bremsstrahlung.

Parameters
[in]valValue to be set
val = 0 no bremsstrahlung
= 1 bremsstrahlung with generation of gammas (Default)
= 2 bremsstrahlung without generation of gammas

Definition at line 142 of file CbmVMCSettings.h.

References CheckValueInRange(), and CbmVMCSettings::fProcessBremsstrahlung.

◆ SetProcessComptonScattering()

void CbmVMCSettings::SetProcessComptonScattering ( Int_t  val)
inlineinherited

Control the Compton scattering process.

Parameters
[in]valValue to be set
val = 0 no Compton scattering
= 1 Compton scattering with production of e- (Default)
= 2 Compton scattering without production of e-

Definition at line 72 of file CbmVMCSettings.h.

References CheckValueInRange(), and CbmVMCSettings::fProcessComptonScattering.

◆ SetProcessDecay()

void CbmVMCSettings::SetProcessDecay ( Int_t  val)
inlineinherited

Control the decay of particles in flight.

Parameters
[in]valValue to be set
val = 0 no decay in flight
= 1 decay in flight with generation of secondaries (Default)
= 2 decay in flight without generation of secondaries

Definition at line 186 of file CbmVMCSettings.h.

References CheckValueInRange(), and CbmVMCSettings::fProcessDecay.

◆ SetProcessDeltaRay()

void CbmVMCSettings::SetProcessDeltaRay ( Int_t  val)
inlineinherited

Control the delta ray production.

Parameters
[in]valValue to be set
val = 0 no delta ray production
= 1 delta ray production with generation of e- (Default)
= 2 delta ray production without generation of e-

Definition at line 114 of file CbmVMCSettings.h.

References CheckValueInRange(), and CbmVMCSettings::fProcessDeltaRay.

◆ SetProcessEnergyLossModel()

void CbmVMCSettings::SetProcessEnergyLossModel ( Int_t  val)
inlineinherited

Control the continuous enery loss process.

Parameters
[in]valValue to be set
val = 0 no continuous energy loss
= 1 continuous energy loss with generation of delta-rays above the value defined for
the DCUTE cut and restricted Landau fluctuations below DCUTE (Default)
= 2 continuous energy loss without generation of delta-rays and full
Landau-Vavilov-Gauss fluctuations. In This case the delta-ray production process
is switched of to avoid double counting
= 3 Same as 1, kept for backward compatibility
= 4 Energy loss without fluctuations. The value obtained from the tables is used directly

Definition at line 205 of file CbmVMCSettings.h.

References CheckValueInRange(), and CbmVMCSettings::fProcessEnergyLossModel.

◆ SetProcessHadronicInteraction()

void CbmVMCSettings::SetProcessHadronicInteraction ( Int_t  val)
inlineinherited

Control the hadronic interactions.

Parameters
[in]valValue to be set
val = 0 no hadronic interaction
= 1 hadronic interaction with generation of secondaries (Default)
= 2 hadronic interaction without generation of secondaries
> 2 Can be used in user code to choose a hadronic package
= 5 hadronic interactions using the gcalor package

Definition at line 158 of file CbmVMCSettings.h.

References CheckValueInRange(), and CbmVMCSettings::fProcessHadronicInteraction.

◆ SetProcessMultipleScattering()

void CbmVMCSettings::SetProcessMultipleScattering ( Int_t  val)
inlineinherited

Control the multiple scattering process.

Parameters
[in]valValue to be set
val = 0 no multiple scattering
= 1 multiple scattering according to Moliere theory (Default)
= 2 same as 1, kept for backward compatibility
= 3 pure gaussian scattering according to the Rossi formula

Definition at line 220 of file CbmVMCSettings.h.

References CheckValueInRange(), and CbmVMCSettings::fProcessMultipleScattering.

◆ SetProcessMuonNuclearInteraction()

void CbmVMCSettings::SetProcessMuonNuclearInteraction ( Int_t  val)
inlineinherited

Control the muon-nucleus interaction.

Parameters
[in]valValue to be set
val = 0 no muon-nucleus interaction
= 1 muon-nucleus interactions with generation of secondaries (Default)
= 2 muon-nucleus interactions without generation of secondaries

Definition at line 172 of file CbmVMCSettings.h.

References CheckValueInRange(), and CbmVMCSettings::fProcessMuonNuclearInteraction.

◆ SetProcessPairProduction()

void CbmVMCSettings::SetProcessPairProduction ( Int_t  val)
inlineinherited

Control the pair production process.

Parameters
[in]valValue to be set
val = 0 no pair production
= 1 Pair production with generation of secondary e+/e- (Default)
= 2 Pair production without generation of secondary e+/e-

Definition at line 58 of file CbmVMCSettings.h.

References CheckValueInRange(), and CbmVMCSettings::fProcessPairProduction.

◆ SetProcessPhotoEffect()

void CbmVMCSettings::SetProcessPhotoEffect ( Int_t  val)
inlineinherited

Control the photo-electric effect.

Parameters
[in]valValue to be set
val = 0 no photo-electric effect
= 1 photo-electric effect with production of e- (Default)
= 2 photo-electric effect without production of e-

Definition at line 86 of file CbmVMCSettings.h.

References CheckValueInRange(), and CbmVMCSettings::fProcessPhotoEffect.

◆ SetProcessPhotoFission()

void CbmVMCSettings::SetProcessPhotoFission ( Int_t  val)
inlineinherited

Control the process of nuclear fission induced by a photon.

Parameters
[in]valValue to be set
val = 0 no photo-fission (Default)
= 1 photo-fission with generation of secondaries
= 2 photo-fission without generation of secondaries

Definition at line 100 of file CbmVMCSettings.h.

References CheckValueInRange(), and CbmVMCSettings::fProcessPhotoFission.

◆ SetTimeCutTof()

void CbmVMCSettings::SetTimeCutTof ( Double_t  val)
inlineinherited

Set the time of flight threshold from the primary interaction time.

Parameters
[in]valValue to be set

The parameter is the time in s

Definition at line 330 of file CbmVMCSettings.h.

References CheckValueInRange(), and CbmVMCSettings::fTimeCutTof.

Member Data Documentation

◆ fEnergyCutChargedHadrons

Double_t CbmVMCSettings::fEnergyCutChargedHadrons {1.e-3}
privateinherited

◆ fEnergyCutElectronBremsstrahlung

Double_t CbmVMCSettings::fEnergyCutElectronBremsstrahlung {1.e-3}
privateinherited

◆ fEnergyCutElectronDeltaRay

Double_t CbmVMCSettings::fEnergyCutElectronDeltaRay {1.e-3}
privateinherited

◆ fEnergyCutElectrons

Double_t CbmVMCSettings::fEnergyCutElectrons {1.e-3}
privateinherited

◆ fEnergyCutGammas

Double_t CbmVMCSettings::fEnergyCutGammas {1.e-3}
privateinherited

Definition at line 349 of file CbmVMCSettings.h.

Referenced by CbmVMCSettings::Init(), and CbmVMCSettings::SetEnergyCutGammas().

◆ fEnergyCutMuonDeltaRay

Double_t CbmVMCSettings::fEnergyCutMuonDeltaRay {1.e-3}
privateinherited

◆ fEnergyCutMuonHadronBremsstrahlung

Double_t CbmVMCSettings::fEnergyCutMuonHadronBremsstrahlung {1.e-3}
privateinherited

◆ fEnergyCutMuonPairProduction

Double_t CbmVMCSettings::fEnergyCutMuonPairProduction {1.e-3}
privateinherited

◆ fEnergyCutMuons

Double_t CbmVMCSettings::fEnergyCutMuons {1.e-3}
privateinherited

Definition at line 353 of file CbmVMCSettings.h.

Referenced by CbmVMCSettings::Init(), and CbmVMCSettings::SetEnergyCutMuons().

◆ fEnergyCutNeutralHadrons

Double_t CbmVMCSettings::fEnergyCutNeutralHadrons {1.e-3}
privateinherited

◆ fG4Commands

std::vector<std::string> CbmGeant4Settings::fG4Commands
private
Initial value:
{
"/process/optical/verbose 0",
"/process/optical/defaults/cerenkov/setMaxPhotons 20",
"/process/optical/defaults/cerenkov/setMaxBetaChange 0.1",
"/process/optical/setTrackSecondariesFirst Cerenkov false"}

Definition at line 80 of file CbmGeant4Settings.h.

Referenced by AddG4Command(), Init(), and SetG4Command().

◆ fG4RunConfig

std::array<std::string, 3> CbmGeant4Settings::fG4RunConfig
private
Initial value:
{
{"geomRoot", "QGSP_BERT_EMV+optical", "stepLimiter"}}

Definition at line 77 of file CbmGeant4Settings.h.

Referenced by GetG4RunConfig(), and SetG4RunConfig().

◆ fMaxNumSteps

Int_t CbmGeant4Settings::fMaxNumSteps {10000000}
private

Definition at line 86 of file CbmGeant4Settings.h.

Referenced by Init(), and SetMaximumNumberOfSteps().

◆ fProcessAnnihilation

Int_t CbmVMCSettings::fProcessAnnihilation {1}
privateinherited

◆ fProcessBremsstrahlung

Int_t CbmVMCSettings::fProcessBremsstrahlung {1}
privateinherited

◆ fProcessComptonScattering

Int_t CbmVMCSettings::fProcessComptonScattering {1}
privateinherited

◆ fProcessDecay

Int_t CbmVMCSettings::fProcessDecay {1}
privateinherited

Definition at line 345 of file CbmVMCSettings.h.

Referenced by CbmVMCSettings::Init(), and CbmVMCSettings::SetProcessDecay().

◆ fProcessDeltaRay

Int_t CbmVMCSettings::fProcessDeltaRay {1}
privateinherited

Definition at line 340 of file CbmVMCSettings.h.

Referenced by CbmVMCSettings::Init(), and CbmVMCSettings::SetProcessDeltaRay().

◆ fProcessEnergyLossModel

Int_t CbmVMCSettings::fProcessEnergyLossModel {1}
privateinherited

◆ fProcessHadronicInteraction

Int_t CbmVMCSettings::fProcessHadronicInteraction {1}
privateinherited

◆ fProcessMultipleScattering

Int_t CbmVMCSettings::fProcessMultipleScattering {1}
privateinherited

◆ fProcessMuonNuclearInteraction

Int_t CbmVMCSettings::fProcessMuonNuclearInteraction {1}
privateinherited

◆ fProcessPairProduction

Int_t CbmVMCSettings::fProcessPairProduction {1}
privateinherited

◆ fProcessPhotoEffect

Int_t CbmVMCSettings::fProcessPhotoEffect {1}
privateinherited

◆ fProcessPhotoFission

Int_t CbmVMCSettings::fProcessPhotoFission {0}
privateinherited

◆ fTimeCutTof

Double_t CbmVMCSettings::fTimeCutTof {1.0}
privateinherited

Definition at line 360 of file CbmVMCSettings.h.

Referenced by CbmVMCSettings::Init(), and CbmVMCSettings::SetTimeCutTof().


The documentation for this class was generated from the following files:
Default
@ Default
Definition: CbmMvdGeoHandler.h:26