VMC Examples Version 6.6
Loading...
Searching...
No Matches
g4tgeoConfig.C
Go to the documentation of this file.
1//------------------------------------------------
2// The Virtual Monte Carlo examples
3// Copyright (C) 2018 Ivana Hrivnacova
4// All rights reserved.
5//
6// For the licensing terms see geant4_vmc/LICENSE.
7// Contact: root-vmc@cern.ch
8//-------------------------------------------------
9
10/// \ingroup Monopole
11/// \file Monopole/g4tgeoConfig.C
12/// \brief Configuration macro for Geant4 VMC for Monopole example
13///
14/// For geometry defined with Root and selected G4Root navigation
15
16void Config()
17{
18/// The configuration function for Geant4 VMC for Monopole example
19/// called during MC application initialization.
20/// For geometry defined with Root and selected G4Root navigation
21
22 // RunConfiguration for Geant4
23 Bool_t specialStacking = false;
24 Bool_t mtApplication = false;
25 TG4RunConfiguration* runConfiguration
26 = new TG4RunConfiguration("geomRoot", "FTFP_BERT+monopole", "stepLimiter",
27 specialStacking, mtApplication);
28
29 // ALICE physics configuration
30 // TG4RunConfiguration* runConfiguration
31 // = new TG4RunConfiguration("geomRoot", "FTFP_INCLXX_EMV+optical+monopole",
32 // "specialCuts+stackPopper+stepLimiter", true);
33
34 // Define monopole properties
35 // (uncomment the lines below to change the defaults)
36 runConfiguration->SetParameter("monopoleMass", 100.);
37 runConfiguration->SetParameter("monopoleElCharge", 0.);
38 runConfiguration->SetParameter("monopoleMagCharge", 1.);
39
40 // TGeant4
41 TGeant4* geant4
42 = new TGeant4("TGeant4", "The Geant4 Monte Carlo", runConfiguration);
43
44 cout << "Geant4 has been created." << endl;
45
46 // Customise Geant4 setting
47 // (verbose level, global range cut, ..)
48 geant4->ProcessGeantMacro("g4config.in");
49
50 // Customization of Geant4 VMC (ALICE)
51 //
52 // geant4->ProcessGeantCommand("/control/verbose 2");
53 // geant4->ProcessGeantCommand("/mcVerbose/all 1");
54 // geant4->ProcessGeantCommand("/tracking/verbose 1");
55 // geant4->ProcessGeantCommand("/mcVerbose/geometryManager 1");
56 // geant4->ProcessGeantCommand("/mcVerbose/opGeometryManager 1");
57 // geant4->ProcessGeantCommand("/mcTracking/loopVerbose 1");
58 // geant4->ProcessGeantCommand("/mcPhysics/rangeCuts 0.01 mm");
59
60 // geant4->ProcessGeantCommand("/mcVerbose/composedPhysicsList 2");
61 // // geant4->ProcessGeantCommand("/mcTracking/skipNeutrino true");
62 // geant4->ProcessGeantCommand("/mcDet/setIsMaxStepInLowDensityMaterials true");
63 // geant4->ProcessGeantCommand("/mcDet/setMaxStepInLowDensityMaterials 10 m");
64 // geant4->ProcessGeantCommand("/mcMagField/setConstDistance 1 mm");
65 // //
66 // // optical
67 // //
68 // geant4->ProcessGeantCommand("/process/optical/verbose 0");
69 // geant4->ProcessGeantCommand("/process/optical/processActivation Scintillation 0");
70 // geant4->ProcessGeantCommand("/process/optical/processActivation OpWLS 0");
71 // geant4->ProcessGeantCommand("/process/optical/processActivation OpMieHG 0");
72 // geant4->ProcessGeantCommand("/process/optical/setTrackSecondariesFirst Cerenkov 0");
73
74 // geant4->ProcessGeantCommand("/mcPhysics/emModel/setEmModel PAI");
75 // geant4->ProcessGeantCommand("/mcPhysics/emModel/setRegions Si");
76 // geant4->ProcessGeantCommand("/mcPhysics/emModel/setParticles all");
77
78 // // geant4->ProcessGeantCommand("/mcPhysics/emModel/setEmModel SpecialUrbanMsc");
79 // // geant4->ProcessGeantCommand("/mcPhysics/emModel/setRegions Aluminium");
80 // // geant4->ProcessGeantCommand("/mcPhysics/emModel/setParticles e- e+");
81}
void Config()