Version:
[ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]
1 $README, v 1.0 26.11.2004 Joanna Weng $
2 -------------------------------------------------------------------
3
4
5
6
7 =========================================================
8 Geant4 - an Object-Oriented Toolkit for Simulation in HEP
9 =========================================================
10
11 GFLASH Examples
12 --------------
13
14 These examples demonstrate the use of the GFLASH parameterisation library.
15 They use the GFLASH equations (hep-ex/0001020, Grindhammer & Peters)
16 to parametrise electromagnetic showers in matter.
17 In these examples the calorimeter is a simple cube,
18 which consists of 10 x 10 crystals of PbWO4 (CMS like).
19
20 Briefly, whenever a e-/e+ enters the calorimeter, it is parametrised if it
21 has a minimum energy and the shower is expected to be contained
22 in the calorimeter (so called " parameterisation envelope").
23 If this is fullfilled the particle is killed, as well as all secondaries,
24 and the energy is deposited according to the GFLASH equations.
25
26 The examples show how to interface GFLASH to your application.
27 The simulation time is measured, so the user can see immediately
28 the speed up by using GFLASH.
29
30 Geometry and parametrisation is defined in different ways in the set of three equivalent
31 (in terms of produced showers) examples: gflash1, gflash2 and gflash3, to demonstrate
32 how to use the parametrisation, sensitive detectors and parallel geometry.
33 The classes which are the same in all three examples have the names with ExGflash prefix while
34 the names of classes specific to each example have the prexix ExGflash[1,2,3].
35
36 The gflasha example - allow histogramming of show profiles and fine tuning
37 of gflash parametrization for homogeneous medium. This examples has a standalone documentation.
38
39 Note: Instead of particle gun the gps class is used here for particle generation.
40
41 Briefly
42 -------
43
44 Table below presents in which world/geometry (mass or parallel) each of the elements is defined.
45
46
47 +------------------------------+----------+--------------+--------------+
48 | Example | gflash1 | gflash2 | gflash3 |
49 +------------------------------+----------+--------------+--------------+
50 | Block of material | mass geo | mass geo | mass geo |
51 +------------------------------+----------+--------------+--------------+
52 | Crystals (readout geometry) | mass geo | mass geo | parallel geo |
53 +------------------------------+----------+--------------+--------------+
54 | Sensitive detector | mass geo | mass geo | parallel geo |
55 +------------------------------+----------+--------------+--------------+
56 | Envelope for parametrisation | mass geo | parallel geo | mass geo |
57 +------------------------------+----------+--------------+--------------+
58
59
60 Example gflash1:
61
62 Uses only the mass geometry, with each crystal defined as a volume,
63 with parametrisation attached to the envelope in the mass geometry.
64 Geometry and sensitive detector are defined in:
65 ExGflash1DetectorConstruction
66 ExGflash1SensitiveDetector
67
68 Example gflash2:
69
70 Uses mass geometry to create volumes and to create a sensitive detector
71 for storing hits, but parametrisation is attached to the envelope
72 in the parallel geometry (see also examples/extended/parametrisations/Par01).
73 Geometry and sensitive detector are defined in:
74 ExGflash2DetectorConstruction
75 ExGflash2ParallelWorld
76 ExGflash2SensitiveDetector
77
78 Example gflash3:
79
80 Uses mass geometry to create the main volume (homogeneous material) and use it
81 as an envelope for the parametrisation, but the readout geometry (crystals)
82 are defined in the parallel geometry, together with the sensitive detector
83 to store the hits.
84 Geometry and sensitive detector are defined in:
85 ExGflash3DetectorConstruction
86 ExGflash3ParallelWorld
87 ExGflash3SensitiveDetector
88
89 Details of implementation:
90 -------
91
92 Example gflash1:
93
94 To use GFLASH the user has to implement the following:
95
96 - ExGflash1DetectorConstruction::ConstructSD() :
97 Here GFLASH has to be initialized and assigend to the envelope,
98 where it should be active (here our calorimeter = fCalo_log )
99
100 // **********************************************
101 // * Initializing shower modell
102 // ***********************************************
103 G4cout << "Creating shower parameterization models" << G4endl;
104 fFastShowerModel = new GFlashShowerModel("fFastShowerModel", fRegion);
105 fParameterisation = new GFlashHomoShowerParameterisation(pbWO4);
106 fFastShowerModel->SetParameterisation(*fParameterisation);
107 fParticleBounds = new GFlashParticleBounds();
108 fFastShowerModel->SetParticleBounds(*fParticleBounds);
109 fHitMaker = new GFlashHitMaker();
110 fFastShowerModel->SetHitMaker(*fHitMaker);
111 G4cout<<"end shower parameterization."<<G4endl;
112
113 - ExGflash1SensitiveDetector:
114 It is mandatory to use G4VGFlashSensitiveDetector as (additional)
115 base class for the sensitive detector.
116 Here it is necessary to implement a seperate
117 interface, where the GFlash spots are processed.
118 (ProcessHits(G4GFlashSpot*aSpot ,G4TouchableHistory* ROhist))
119 The separate interface is used, because the GFLASH spots contains
120 (naturally) less information than the full simulation.
121
122
123 Example gflash2:
124
125 - ExGflash2.cc:
126 Parallel world needs to be registered;
127 Fast simulation is activated for parallel world (where envelope is);
128
129 - ExGflash2DetectorConstruction:
130 Only main geometry and SD are created;
131
132 - ExGflash2ParallelWorld:
133 Construction of identical volume for the main box as in the mass geometry,
134 but with dummy material (it is not used anyway);
135 Creation of G4Region associated to G4LogicalVolume;
136 Initialization of GFlash, attaching it to the envelope (G4Region);
137
138 - ExGflash2SensitiveDetector:
139 Uses pointer to ExGflash2ParallelWorld to get the crystals for the readout;
140
141 Example gflash3:
142
143 - ExGflash3.cc:
144 Parallel world needs to be registered;
145 Physics of the parallel world needs to be registered so sensitive detector can
146 collect hits;
147 Fast simulation is activated for mass world (where envelope is);
148
149 - ExGflash3DetectorConstruction:
150 Only main volume (box) with material is created;
151 Creation of G4Region associated to G4LogicalVolume of that box;
152 Initialization of GFlash, attaching it to the envelope (G4Region);
153
154 - ExGflash3ParallelWorld:
155 Construction of identical volume for the main box as in the mass geometry,
156 but with dummy material (it is not used anyway);
157 Construction of individual crystals for the readout geometry;
158 Creation of the sensitive detector;
159
160 - ExGflash3SensitiveDetector:
161 Uses pointer to ExGflash3DetectorConstruction to get the crystals for the readout;
162
163 Macros
164 -------
165 vis.mac - macro for use in interactive mode (default, if no arguments are specified)
166 test.mac - macro for tests: 50 GeV electrons are shot in the direction of the detector
167 (along z axis), 10 times. As they enter the parametrisation envelope,
168 the GFlash parametrisation is invoked and energy is deposited.
169 The results are printed out:
170 - energy in the most central crystal
171 - energy in 3x3 crystals
172 - energy in 5x5 crystals
173 - number of created deposits
174 - simulation time per event
175