CbmRoot
Loading...
Searching...
No Matches
CbmGeant3Settings.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 "CbmGeant3Settings.h"
6
7#include <Logger.h>
8
9#include <TGeant3.h>
10#include <TVirtualMC.h>
11
12void CbmGeant3Settings::Init(TVirtualMC* vmc)
13{
14
16
17 TGeant3* vmcg3 = dynamic_cast<TGeant3*>(vmc);
18
19 assert(vmcg3);
20 LOG(info) << ": Configuring Geant3";
21
22 // Set Number of events to be processed
23 // Can't be changed from the user code
24 vmcg3->SetTRIG(1);
25
26 // Print every 100th event : GTREVE_ROOT : Transporting primary track No
27 // Can't be changed from user code
28 vmcg3->SetSWIT(4, 100);
29
30 if (fDebugOutput) {
31 vmcg3->SetDEBU(fDebugMinEvent, fDebugMaxEvent, 1);
32 // IF (ISWIT(2).EQ.2) CALL GPCXYZ ! step by step printed debug
33 vmcg3->SetSWIT(2, 2);
34 }
35 else {
36 vmcg3->SetDEBU(0, 0, 1);
37 }
38
39 // Switch on/off the rayleigh scattering
40 vmcg3->SetRAYL(fProcessRayleighScattering);
41
42 // Control Cerenkov production
43 vmcg3->SetCKOV(fProcessCherenkov);
44
45 // Switch on/off the energy loss fluctuations with the Photo-Absorption Ionization model
46 vmcg3->SetSTRA(fProcessEnergyLossStraggling);
47
48 // Control the automatic calculation of tracking medium parameters
50
51 // Control if particles should be stopped
52 vmcg3->SetABAN(fStoppingMethod);
53
54 // This flag controls the tracking optimization performed via the
55 // GSORD routine:
56 vmcg3->SetOPTI(fTrackingOptimizationMethod);
57
58 // Control the cross section tabulations
60}
61
ClassImp(CbmGeant3Settings)
User interface class to define the Geant3 simulation settings.
void Init(TVirtualMC *)
Set all parameters defined in this class.
Int_t fAutomaticTrackingMediumParameters
void Init(TVirtualMC *)
Set all parameters defined in this class.