CbmRoot
CbmVMCSettings.cxx
Go to the documentation of this file.
1 #include "CbmVMCSettings.h"
2 
3 #include <FairLogger.h>
4 
5 #include <TVirtualMC.h>
6 
7 void CbmVMCSettings::Init(TVirtualMC* vmc) {
8 
9  LOG(info) << ": Configuring global VMC settings";
10  assert(vmc);
11 
12  // TODO: These settings were taken over from SetCuts.C. Their meanings
13  // will have to be looked up and documented.
14 
15 
16  // The processes with the following names are defined for TGeant3 and TGeant4
17  // such that they can be used similarily for both transport engines
18  // PAIR, COMP, PHOT, PFIS, DRAY, ANNI, BREM, HADR, MUNU,
19  // DCAY, LOSS, MULS
20 
21  // Also the following processes are defined for both transport engines. To unknown
22  // reasons they are only applied for Geant3
23  // RAYL, CKOV
24 
25  // The following process is not set for any of the two transport engines
26  // For Geant3 the default value is used
27  // SYNC
28 
29  // This ppocess is only defined for TGeant4
30  // Somehow it is also available in the Geant3 Fortran code but it is not forwarded
31  // from the TGeant3 C++ Wraper
32  // LABS
33 
34  // The energy loss straggling can be only set for Geant3. For Geant4 there is a code fragment
35  // which produces a warning informing the user that this property is only
36  // supported via /mcPhysics/emModel commands of Geant4
37  // STRA
38 
39  // Processes
40  vmc->SetProcess("PAIR", fProcessPairProduction); // pair production
41  vmc->SetProcess("COMP", fProcessComptonScattering); // Compton scattering
42  vmc->SetProcess("PHOT", fProcessPhotoEffect); // photo electric effect
43  vmc->SetProcess("PFIS", fProcessPhotoFission); // photofission
44  vmc->SetProcess("DRAY", fProcessDeltaRay); // delta-ray
45  vmc->SetProcess("ANNI", fProcessAnnihilation); // annihilation
46  vmc->SetProcess("BREM", fProcessBremsstrahlung); // bremsstrahlung
47  vmc->SetProcess("HADR", fProcessHadronicInteraction); // hadronic process
48  vmc->SetProcess("MUNU",
49  fProcessMuonNuclearInteraction); // muon nuclear interaction
50  vmc->SetProcess("DCAY", fProcessDecay); // decay
51  vmc->SetProcess("LOSS", fProcessEnergyLossModel); // energy loss
52  vmc->SetProcess("MULS", fProcessMultipleScattering); // multiple scattering
53 
54  // The cuts with the following names are defined for TGeant3 and TGeant4
55  // such that they can be used similarily for both transport engines
56  // The values given will be taken as they are for Geant3
57  // For Geant4 the values are used to calculate the proper values in the format
58  // needed by Geant
59  // CUTGAM, CUTELE, CUTNEU ,CUTHAD, CUTMUO, BCUTE, BCUTM
60  // DCUTE, DCUTM, PPCUTM, TOFMAX
61 
62  vmc->SetCut("CUTGAM", fEnergyCutGammas); // gammas (GeV)
63  vmc->SetCut("CUTELE", fEnergyCutElectrons); // electrons (GeV)
64  vmc->SetCut("CUTNEU", fEnergyCutNeutralHadrons); // neutral hadrons (GeV)
65  vmc->SetCut("CUTHAD", fEnergyCutChargedHadrons); // charged hadrons (GeV)
66  vmc->SetCut("CUTMUO", fEnergyCutMuons); // muons (GeV)
67  vmc->SetCut(
68  "BCUTE",
69  fEnergyCutElectronBremsstrahlung); // electron bremsstrahlung (GeV)
70  vmc->SetCut(
71  "BCUTM",
72  fEnergyCutMuonHadronBremsstrahlung); // muon/hadron bremsstrahlung(GeV)
73  vmc->SetCut("DCUTE",
74  fEnergyCutElectronDeltaRay); // delta-rays by electrons (GeV)
75  vmc->SetCut("DCUTM", fEnergyCutMuonDeltaRay); // delta-rays by muons (GeV)
76  vmc->SetCut(
77  "PPCUTM",
78  fEnergyCutMuonPairProduction); // direct pair production by muons (GeV)
79  vmc->SetCut("TOFMAX", fTimeCutTof); // time of flight cut in seconds
80 }
81 
CbmVMCSettings::fProcessBremsstrahlung
Int_t fProcessBremsstrahlung
Definition: CbmVMCSettings.h:342
CbmVMCSettings::fProcessEnergyLossModel
Int_t fProcessEnergyLossModel
Definition: CbmVMCSettings.h:346
CbmVMCSettings::fProcessAnnihilation
Int_t fProcessAnnihilation
Definition: CbmVMCSettings.h:341
CbmVMCSettings::fEnergyCutChargedHadrons
Double_t fEnergyCutChargedHadrons
Definition: CbmVMCSettings.h:352
CbmVMCSettings::fProcessMultipleScattering
Int_t fProcessMultipleScattering
Definition: CbmVMCSettings.h:347
CbmVMCSettings::fProcessDeltaRay
Int_t fProcessDeltaRay
Definition: CbmVMCSettings.h:340
CbmVMCSettings::Init
void Init(TVirtualMC *)
Set all parameters defined in this class.
Definition: CbmVMCSettings.cxx:7
CbmVMCSettings::fTimeCutTof
Double_t fTimeCutTof
Definition: CbmVMCSettings.h:360
CbmVMCSettings.h
CbmVMCSettings::fEnergyCutMuons
Double_t fEnergyCutMuons
Definition: CbmVMCSettings.h:353
CbmVMCSettings::fEnergyCutElectrons
Double_t fEnergyCutElectrons
Definition: CbmVMCSettings.h:350
CbmVMCSettings::fEnergyCutElectronDeltaRay
Double_t fEnergyCutElectronDeltaRay
Definition: CbmVMCSettings.h:356
CbmVMCSettings::fEnergyCutElectronBremsstrahlung
Double_t fEnergyCutElectronBremsstrahlung
Definition: CbmVMCSettings.h:354
CbmVMCSettings::fEnergyCutGammas
Double_t fEnergyCutGammas
Definition: CbmVMCSettings.h:349
CbmVMCSettings::fProcessHadronicInteraction
Int_t fProcessHadronicInteraction
Definition: CbmVMCSettings.h:343
CbmVMCSettings::fProcessPhotoEffect
Int_t fProcessPhotoEffect
Definition: CbmVMCSettings.h:338
CbmVMCSettings::fProcessPairProduction
Int_t fProcessPairProduction
Definition: CbmVMCSettings.h:336
CbmVMCSettings::fProcessDecay
Int_t fProcessDecay
Definition: CbmVMCSettings.h:345
CbmVMCSettings::fEnergyCutMuonDeltaRay
Double_t fEnergyCutMuonDeltaRay
Definition: CbmVMCSettings.h:357
ClassImp
ClassImp(CbmVMCSettings)
CbmVMCSettings
User interface class to define the transport simulation settings which are common for both used trans...
Definition: CbmVMCSettings.h:34
CbmVMCSettings::fProcessComptonScattering
Int_t fProcessComptonScattering
Definition: CbmVMCSettings.h:337
CbmVMCSettings::fEnergyCutMuonHadronBremsstrahlung
Double_t fEnergyCutMuonHadronBremsstrahlung
Definition: CbmVMCSettings.h:355
CbmVMCSettings::fEnergyCutNeutralHadrons
Double_t fEnergyCutNeutralHadrons
Definition: CbmVMCSettings.h:351
CbmVMCSettings::fProcessPhotoFission
Int_t fProcessPhotoFission
Definition: CbmVMCSettings.h:339
CbmVMCSettings::fEnergyCutMuonPairProduction
Double_t fEnergyCutMuonPairProduction
Definition: CbmVMCSettings.h:358
CbmVMCSettings::fProcessMuonNuclearInteraction
Int_t fProcessMuonNuclearInteraction
Definition: CbmVMCSettings.h:344