VMC Examples Version 6.6
Loading...
Searching...
No Matches
exampleExGarfield.cxx
Go to the documentation of this file.
1//------------------------------------------------
2// The Virtual Monte Carlo examples
3// Copyright (C) 2015 - 2016 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/// \file exampleExGarfield.cxx
11/// \brief The Geant4 VMC example ExGarfield application executable
12///
13/// \date 28/10/2015
14/// \author I. Hrivnacova; IPN, Orsay
15
16#include "MCApplication.h"
17
18#ifdef USE_GEANT4
19#include "RunConfiguration.h"
20#include "TGeant4.h"
21#endif
22
23#ifdef USE_GEANT3
24#include "TGeant3TGeo.h"
25#endif
26
27#include "TROOT.h"
28
29/// Application main program
30int main(int argc, char** argv)
31{
32 // Initialize Root threading.
33 // (Multi-threading is triggered automatically if Geant4 was built
34 // in MT mode.)
35#ifdef G4MULTITHREADED
36 ROOT::EnableThreadSafety();
37#endif
38
39 // Create MC application (thread local)
41 "ExampleExGarfield", "The exampleExGarfield MC application");
42
43#ifdef USE_GEANT4
44 // RunConfiguration for Geant4
45 VMC::ExGarfield::RunConfiguration* runConfiguration =
46 new VMC::ExGarfield::RunConfiguration("geomRootToGeant4", "FTFP_BERT");
47
48 // TGeant4
49 TGeant4* geant4 = new TGeant4(
50 "TGeant4", "The Geant4 Monte Carlo", runConfiguration, argc, argv);
51
52 // Customise Geant4 setting
53 // Fast simulation model configuration
54 // + verbose level, global range cuts, etc.
55 geant4->ProcessGeantMacro("g4config.in");
56#endif
57
58#ifdef USE_GEANT3
59 new TGeant3TGeo("C++ Interface to Geant3");
60#endif
61
62 // Run example
63 appl->InitMC("");
64
65#ifdef USE_GEANT4
66 // Customise Geant4 setting
67 // (verbose level, global range cut, ..)
68 geant4->ProcessGeantMacro("g4config2.in");
69 // Setting Geant4 visualization
70 geant4->ProcessGeantMacro("g4vis.in");
71#endif
72
73 appl->RunMC(5);
74
75 delete appl;
76}
Definition of the ExGarfield::RunConfiguration class.
Implementation of the TVirtualMCApplication.
void InitMC(const char *setup)
User Geant4 VMC run configuration.
int main(int argc, char **argv)
Application main program.