Back to home page

EIC code displayed by LXR

 
 

    


Warning, /geant4/examples/extended/parameterisations/gflash/README is written in an unsupported language. File is not indexed.

0001 $README, v 1.0 26.11.2004 Joanna Weng  $
0002 -------------------------------------------------------------------
0003 
0004 
0005 
0006 
0007      =========================================================
0008      Geant4 - an Object-Oriented Toolkit for Simulation in HEP
0009      =========================================================
0010 
0011                             GFLASH Examples
0012                             --------------
0013 
0014 These examples demonstrate the use of the GFLASH parameterisation library.
0015 They use the GFLASH equations (hep-ex/0001020, Grindhammer & Peters)
0016 to parametrise electromagnetic showers in matter.
0017 In these examples the calorimeter is a simple cube,
0018 which consists of 10 x 10 crystals of PbWO4 (CMS like).
0019 
0020 Briefly, whenever a e-/e+  enters the calorimeter, it is parametrised if it
0021 has a minimum energy and the shower is expected to be contained
0022 in the calorimeter (so called " parameterisation envelope").
0023 If this is fullfilled the particle is killed, as well as all secondaries,
0024 and the energy is deposited according to the GFLASH equations.
0025 
0026 The examples show how to interface GFLASH to your application.
0027 The simulation time is measured, so the user can see immediately
0028 the speed up by using GFLASH.
0029 
0030 Geometry and parametrisation is defined in different ways in the set of three equivalent
0031 (in terms of produced showers) examples: gflash1, gflash2 and gflash3, to demonstrate
0032 how to use the parametrisation, sensitive detectors and parallel geometry.
0033 The classes which are the same in all three examples have the names with ExGflash prefix while
0034 the names of classes specific to each example have the prexix ExGflash[1,2,3].
0035 
0036 The gflasha example - allow histogramming of show profiles and fine tuning
0037 of gflash parametrization for homogeneous medium. This examples has a standalone documentation.
0038 
0039 Note: Instead of particle gun the gps class is used here for particle generation.
0040 
0041 Briefly
0042 -------
0043 
0044  Table below presents in which world/geometry (mass or parallel) each of the elements is defined.
0045 
0046 
0047 +------------------------------+----------+--------------+--------------+
0048 |            Example           |  gflash1 |    gflash2   |    gflash3   |
0049 +------------------------------+----------+--------------+--------------+
0050 |       Block of material      | mass geo |   mass geo   |   mass geo   |
0051 +------------------------------+----------+--------------+--------------+
0052 |  Crystals (readout geometry) | mass geo |   mass geo   | parallel geo |
0053 +------------------------------+----------+--------------+--------------+
0054 |      Sensitive detector      | mass geo |   mass geo   | parallel geo |
0055 +------------------------------+----------+--------------+--------------+
0056 | Envelope for parametrisation | mass geo | parallel geo |   mass geo   |
0057 +------------------------------+----------+--------------+--------------+
0058 
0059 
0060 Example gflash1:
0061 
0062 Uses only the mass geometry, with each crystal defined as a volume,
0063 with parametrisation attached to the envelope in the mass geometry.
0064 Geometry and sensitive detector are defined in:
0065   ExGflash1DetectorConstruction
0066   ExGflash1SensitiveDetector
0067 
0068 Example gflash2:
0069 
0070 Uses mass geometry to create volumes and to create a sensitive detector
0071 for storing hits, but parametrisation is attached to the envelope
0072 in the parallel geometry (see also examples/extended/parametrisations/Par01).
0073 Geometry and sensitive detector are defined in:
0074     ExGflash2DetectorConstruction
0075     ExGflash2ParallelWorld
0076     ExGflash2SensitiveDetector
0077 
0078 Example gflash3:
0079 
0080 Uses mass geometry to create the main volume (homogeneous material) and use it
0081 as an envelope for the parametrisation, but the readout geometry (crystals)
0082 are defined in the parallel geometry, together with the sensitive detector
0083 to store the hits.
0084 Geometry and sensitive detector are defined in:
0085         ExGflash3DetectorConstruction
0086         ExGflash3ParallelWorld
0087         ExGflash3SensitiveDetector
0088 
0089 Details of implementation:
0090 -------
0091 
0092 Example gflash1:
0093 
0094 To use GFLASH the user has to implement the following:
0095 
0096   - ExGflash1DetectorConstruction::ConstructSD() :
0097   Here GFLASH has to be initialized and assigend to the envelope,
0098   where it should be active (here our calorimeter = fCalo_log )
0099 
0100         // **********************************************
0101         // * Initializing shower modell
0102         // ***********************************************
0103         G4cout << "Creating shower parameterization models" << G4endl;
0104         fFastShowerModel = new GFlashShowerModel("fFastShowerModel", fRegion);
0105         fParameterisation = new GFlashHomoShowerParameterisation(pbWO4);
0106         fFastShowerModel->SetParameterisation(*fParameterisation);
0107         fParticleBounds = new GFlashParticleBounds();
0108         fFastShowerModel->SetParticleBounds(*fParticleBounds);
0109         fHitMaker = new GFlashHitMaker();
0110         fFastShowerModel->SetHitMaker(*fHitMaker);
0111         G4cout<<"end shower parameterization."<<G4endl;
0112 
0113   - ExGflash1SensitiveDetector:
0114   It is mandatory to use G4VGFlashSensitiveDetector as (additional)
0115   base class for the sensitive detector.
0116   Here it is necessary to implement a seperate
0117   interface, where the GFlash spots are processed.
0118   (ProcessHits(G4GFlashSpot*aSpot ,G4TouchableHistory* ROhist))
0119   The separate interface is used, because the GFLASH spots contains
0120   (naturally) less information than the full simulation.
0121 
0122 
0123 Example gflash2:
0124 
0125   - ExGflash2.cc:
0126      Parallel world needs to be registered;
0127      Fast simulation is activated for parallel world (where envelope is);
0128 
0129   - ExGflash2DetectorConstruction:
0130      Only main geometry and SD are created;
0131 
0132   - ExGflash2ParallelWorld:
0133      Construction of identical volume for the main box as in the mass geometry,
0134      but with dummy material (it is not used anyway);
0135      Creation of G4Region associated to G4LogicalVolume;
0136      Initialization of GFlash, attaching it to the envelope (G4Region);
0137 
0138   - ExGflash2SensitiveDetector:
0139      Uses pointer to ExGflash2ParallelWorld to get the crystals for the readout;
0140 
0141 Example gflash3:
0142 
0143    - ExGflash3.cc:
0144       Parallel world needs to be registered;
0145       Physics of the parallel world needs to be registered so sensitive detector can
0146       collect hits;
0147       Fast simulation is activated for mass world (where envelope is);
0148 
0149    - ExGflash3DetectorConstruction:
0150       Only main volume (box) with material is created;
0151       Creation of G4Region associated to G4LogicalVolume of that box;
0152       Initialization of GFlash, attaching it to the envelope (G4Region);
0153 
0154    - ExGflash3ParallelWorld:
0155       Construction of identical volume for the main box as in the mass geometry,
0156       but with dummy material (it is not used anyway);
0157       Construction of individual crystals for the readout geometry;
0158       Creation of the sensitive detector;
0159 
0160    - ExGflash3SensitiveDetector:
0161       Uses pointer to ExGflash3DetectorConstruction to get the crystals for the readout;
0162 
0163 Macros
0164 -------
0165 vis.mac - macro for use in interactive mode (default, if no arguments are specified)
0166 test.mac - macro for tests: 50 GeV electrons are shot in the direction of the detector
0167            (along z axis), 10 times. As they enter the parametrisation envelope,
0168            the GFlash parametrisation is invoked and energy is deposited.
0169            The results are printed out:
0170             - energy in the most central crystal
0171             - energy in 3x3 crystals
0172             - energy in 5x5 crystals
0173             - number of created deposits
0174             - simulation time per event
0175