VMC Examples Version 6.6
Loading...
Searching...
No Matches
Doxymain.h
Go to the documentation of this file.
1//------------------------------------------------
2// The Virtual Monte Carlo examples
3// Copyright (C) 2007 - 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/*!
11
12/// \file Doxymain.h
13/// \brief The main page for the VMC examples code documenation
14
15\mainpage The VMC examples
16
17
18\section exa_s1 Introduction
19
20 To demonstrate use of VirtualMC, several Geant4 examples and one
21 Garfield example have been rewritten as VMC applications:
22 \ref E01, \ref E02, \ref E03, \ref E06, \ref A01, \ref ExGarfield, \ref Gflash, \ref Monopole, \ref TR.
23
24 The correspondence with the examples in Geant4 (since 10.00.x) is:
25 - E01 - no equivalent
26 - E02 - basic/B2
27 - E03 - basic/B4
28 - E06 - extended/optical/OpNovice
29 - A01 - basic/B5
30 - \ref Gflash - extended/parameterisation/gflash
31 - \ref Monopole - extended/exoticphysics/monopole
32 - \ref TR - extended/electromagnetic/TestEm10
33
34 In previous versions of Geant4 (up to 9.6), these examples
35 were provided as novice (N01, N02, N03, N06) and extended
36 (A01, gflash, TestEm10) examples.
37 See more detail description in the README files
38 within each example subdirectory:
39 - \ref README_E01
40 - \ref README_E02
41 - \ref README_E03
42 - \ref README_E06
43 - \ref README_A01
44 - \ref README_ExGarfield
45 - \ref README_Gflash
46 - \ref README_Monopole
47 - \ref README_TR
48
49\section exa_s2 Geometry definition
50
51 The VirtualMC defines since beginning the methods for geometry
52 construction in the Geant3 style (the functions have the same names and
53 the same parameters sequence as the functions in Geant3).
54 This made the transition from a Geant3 application to VMC easier.
55
56 Since the integration of the TGeo geometry modeller,
57 users have a possibility to define geometry directly via TGeo,
58 with more user-friendly interfaces.
59
60 All VMC examples define by default geometry via TGeo (since
61 Geant4 VMC version 2.0).
62 The equivalent geometry definition via TVirtualMC
63 interface can be activated by setting the option "oldGeometry"
64 to the MC application (via Ex0NMCApplication::SetOldGeometry(kTRUE)).
65
66\section exa_s3 Macros for running examples
67
68 In all examples there are provides macros:
69<pre>
70run_g3.C - for running the example with Geant3
71run_g4.C - for running the example with Geant4
72</pre>
73
74 Since Geant4 VMC 3.0 loading of libraries was separated from run_g3[g4].C
75 macros in new macros:
76<pre>
77load_g3.C - loading all libraries needed to run the example with Geant3
78load_g4.C - loading all libraries needed to run the example with Geant4
79</pre>
80
81\section exa_s4 Configuration macros:
82
83 The selection of the concrete MC, geometry navigation
84 and eventually other options is done in the configuration
85 macros.
86 The following configuration macros are provided with
87 the examples:
88<pre>
89g3Config.C - for G3 with native geometry
90g3tgeoConfig.C - for G3 with TGeo geometry (default)
91
92g4Config.C - for G4 with native geometry navigation (default)
93g4tgeoConfig.C - for G4 with TGeo geometry navigation
94xyzOld.C - the same as above but for geometry defined via VMC
95
96g4config.in - macro for G4 configuration using G4 commands
97g4vis.in - macro for G4 visualization settings
98</pre>
99
100\section exa_s5 To run an example:
101<pre>
102With G3 + TGeo:
103root[0] .x load_g3.C
104root[1] .x run_g3.C
105
106With G4:
107root[0] .x load_g4.C
108root[1] .x run_g4.C
109
110With G4 + TGeo navigation:
111root[0] .x load_g4.C
112root[1] .x run_g4.C("g4tgeoConfig.C");
113</pre>
114
115\section exa_s6 Test macros:
116
117 To test all possible configurations, a test macro (or a set of macros)
118 is provided for each example:
119<pre>
120test_EN.C(const TString& configMacro, Bool_t oldGeometry)
121</pre>
122 with parameters:
123 - configMacro: configuration macro loaded in initialization
124 - oldGeometry: if true - geometry is defined via VMC, otherwise via TGeo
125
126 The tests with all configurations can be run via the test suite:
127<pre>
128test_suite.sh
129</pre>
130 which saves all test outputs in the files which names correspond
131 to test run configuration:
132<pre>
133test_g3_tgeo_tgeo.out - G3, geometry defined via TGeo, TGeo navigation
134test_g3_vmc_nat.out - G3, geometry defined via VMC, G3 native navigation
135test_g3_vmc_tgeo.out - G3, geometry defined via VMC, TGeo navigation
136test_g4_tgeo_nat.out - G4, geometry defined via TGeo, G4 native navigation
137test_g4_tgeo_tgeo.out - G4, geometry defined via TGeo, TGeo navigation
138test_g4_vmc_nat.out - G4, geometry defined via VMC, G4 native navigation
139test_g4_vmc_tgeo.out - G4, geometry defined via VMC, TGeo navigation
140</pre>
141 The files are saved in log/E0N directory.
142 The reference output files, which are updated with each release,
143 can be found at log_ref directory.
144
145 All run_*.C macros can be run via run suite script:
146<pre>
147run_suite.sh
148</pre>
149 which saves all output in run_*.out files.
150
151*/