Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/examples/extended/parameterisations/gflash/

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 ]

Name Size       Last modified (GMT) Description
Back Parent directory       2024-12-05 15:16:16
Folder gflash1/       2024-12-05 15:16:16
Folder gflash2/       2024-12-05 15:16:16
Folder gflash3/       2024-12-05 15:16:16
Folder gflasha/       2024-12-05 15:16:16
File CMakeLists.txt 341 bytes       2024-12-05 15:16:16
File GNUmakefile 506 bytes       2024-12-05 15:16:16
File History 4977 bytes       2024-12-05 15:16:16
File README 7400 bytes       2024-12-05 15:16:16

  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