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