VMC Examples Version 6.6
Loading...
Searching...
No Matches
exampleE02.cxx
Go to the documentation of this file.
1//------------------------------------------------
2// The Virtual Monte Carlo examples
3// Copyright (C) 2014 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 exampleE02.cxx
11/// \brief The Geant4 VMC example E02 application executable
12///
13/// \date 26/02/2014
14/// \author I. Hrivnacova; IPN, Orsay
15
16#include "Ex02MCApplication.h"
17
18#ifdef USE_GEANT4
19#include "TG4RunConfiguration.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)
40 Ex02MCApplication* appl =
41 new Ex02MCApplication("ExampleE02", "The exampleE02 MC application");
42
43#ifdef USE_GEANT4
44 // RunConfiguration for Geant4
45 TG4RunConfiguration* runConfiguration =
46 new TG4RunConfiguration("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 // (verbose level, global range cut, ..)
54 geant4->ProcessGeantMacro("g4config.in");
55#endif
56
57#ifdef USE_GEANT3
58 TGeant3* geant3 = new TGeant3TGeo("C++ Interface to Geant3");
59 geant3->SetHADR(0);
60#endif
61
62 // Run from this main
63 appl->InitMC("");
64
65#ifdef USE_GEANT4
66 // Setting Geant4 visualization
67 geant4->ProcessGeantMacro("g4vis.in");
68#endif
69 appl->RunMC(5);
70
71 delete appl;
72}
Definition of the Ex02MCApplication class.
Implementation of the TVirtualMCApplication.
void RunMC(Int_t nofEvents)
void InitMC(const char *setup)
int main(int argc, char **argv)
Application main program.