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 Example |
---|
12 | ---------- |
---|
13 | |
---|
14 | This examples demonstrates the use of the GFLASH parameterisation library. |
---|
15 | It uses the GFLASH equations(hep-ex/0001020, Grindhammer & Peters) |
---|
16 | to parametrise electromagnetic showers in matter. |
---|
17 | In this example the calorimeter is a simple cube, |
---|
18 | which consists of 10 x 10 crystals of PbWO4 (CMS like:). |
---|
19 | The Geant4 shower framework is used (see novice example N05) |
---|
20 | Geometry, sensitive detector, hits, processes are defined respectively in: |
---|
21 | |
---|
22 | ExGflashDetectorConstruction |
---|
23 | ExGflashSensitiveDetector |
---|
24 | ExGflashHit |
---|
25 | ExGflashPhysicsList |
---|
26 | |
---|
27 | Briefly, whenever a e-/e+ enters the calorimeter, it is parametrised if it |
---|
28 | has a minimum energy and the shower is expected to be contained |
---|
29 | in the calorimeter(so called " parameterisation envelope"). |
---|
30 | If this is fullfilled the particle is killed, as well as all secondaries, |
---|
31 | and the energy is deposited according to the GFLASH equations. |
---|
32 | The example shows how to interface GFLASH to your application. |
---|
33 | The simulation time is measured, so the user can see immiadiatly |
---|
34 | the speed up by using GFLASH. |
---|
35 | |
---|
36 | |
---|
37 | To use GFLASH the user has to implement the following to use GFLASH: |
---|
38 | |
---|
39 | o ExGflashPhysicsList::AddParameterisation(): |
---|
40 | the paraameterisation has to be added to the processmanager. |
---|
41 | Don't forget it, since than gflash is never triggered. |
---|
42 | |
---|
43 | o ExGflashDetectorConstruction : |
---|
44 | Here GFLASH has to be initialized and assigend to the enelope, |
---|
45 | where it should be active (here our calorimeter = m_calo_log ) |
---|
46 | /********************************************** |
---|
47 | * Initializing shower modell |
---|
48 | ***********************************************/ |
---|
49 | cout<<"Shower parameterization"<<endl; |
---|
50 | m_theFastShowerModel = new GFlashShowerModel("fastShowerModel",m_calo_log); |
---|
51 | m_theParametrisation = new GFlashHomoShowerParamterisation(matManager->getMaterial(mat)); |
---|
52 | m_theFastShowerModel->SetParametrisation(*m_theParametrisation); |
---|
53 | m_theFastShowerModel->SetParticleBounds(*m_theParticleBounds) ; |
---|
54 | m_theFastShowerModel->SetHitMaker(*m_theHMaker); |
---|
55 | cout<<"end shower parameterization"<<endl; |
---|
56 | /**********************************************/ |
---|
57 | |
---|
58 | o ExGflashSensitiveDetector: |
---|
59 | It is mandatory to use G4VGFlashSensitiveDetector as (additionl) |
---|
60 | base class for the sensitive detector. |
---|
61 | Here it is necessary to implement a seperate |
---|
62 | interface, where the GFlash spots are processed. |
---|
63 | (ProcessHits(G4GFlashSpot*aSpot ,G4TouchableHistory* ROhist)) |
---|
64 | The separate interface is used, because the GFLASH spots contains |
---|
65 | (naturally) less information than the full simulation. |
---|
66 | |
---|
67 | Note: Intead of particle gun the gps class is used here for |
---|
68 | particle generation. |
---|
69 | |
---|