VMC Examples
Version 6.6
Loading...
Searching...
No Matches
examples
ExGarfield
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
30
int
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
VMC::ExGarfield::MCApplication
* appl =
new
VMC::ExGarfield::MCApplication
(
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
}
RunConfiguration.h
Definition of the ExGarfield::RunConfiguration class.
VMC::ExGarfield::MCApplication
Implementation of the TVirtualMCApplication.
Definition
MCApplication.h:48
VMC::ExGarfield::MCApplication::InitMC
void InitMC(const char *setup)
Definition
MCApplication.cxx:153
VMC::ExGarfield::MCApplication::RunMC
void RunMC(Int_t nofEvents)
Definition
MCApplication.cxx:191
VMC::ExGarfield::RunConfiguration
User Geant4 VMC run configuration.
Definition
RunConfiguration.h:37
main
int main(int argc, char **argv)
Application main program.
Definition
exampleExGarfield.cxx:30
Generated on Thu Nov 28 2024 11:31:18 for VMC Examples by
1.12.0