Geant4 Cross Reference |
1 ---------------------------------------------- 1 ------------------------------------------------------------------- 2 2 3 ========================================= 3 ========================================================= 4 Geant4 - an Object-Oriented Toolkit for S 4 Geant4 - an Object-Oriented Toolkit for Simulation in HEP 5 ========================================= 5 ========================================================= 6 6 7 Hadr05 7 Hadr05 8 ------ 8 ------ 9 9 10 How to collect energy deposition in a samplin 10 How to collect energy deposition in a sampling calorimeter. 11 How to survey energy flow. 11 How to survey energy flow. 12 Hadr05 is the hadronic equivalent of TestEm3. 12 Hadr05 is the hadronic equivalent of TestEm3. 13 13 14 14 15 1- GEOMETRY DEFINITION 15 1- GEOMETRY DEFINITION 16 16 17 The calorimeter is a box made of a given num 17 The calorimeter is a box made of a given number of layers. 18 A layer consists of a sequence of various ab 18 A layer consists of a sequence of various absorbers (maximum MaxAbsor=9). 19 The layer is replicated. 19 The layer is replicated. 20 20 21 Parameters defining the calorimeter : 21 Parameters defining the calorimeter : 22 - the number of layers, 22 - the number of layers, 23 - the number of absorbers within a layer, 23 - the number of absorbers within a layer, 24 - the material of the absorbers, 24 - the material of the absorbers, 25 - the thickness of the absorbers, 25 - the thickness of the absorbers, 26 - the transverse size of the calorimeter ( 26 - the transverse size of the calorimeter (the input face is a square). 27 27 28 In addition a transverse uniform magnetic fi 28 In addition a transverse uniform magnetic field can be applied. 29 29 30 The default geometry is constructed in Detec 30 The default geometry is constructed in DetectorConstruction class, but all 31 of the above parameters can be modified inte 31 of the above parameters can be modified interactively via the commands 32 defined in the DetectorMessenger class. 32 defined in the DetectorMessenger class. 33 33 34 34 35 |<----layer 0---------->|<----layer 1- 35 |<----layer 0---------->|<----layer 1---------->|<----layer 2---------->| 36 | | | 36 | | | | | 37 ====================================== 37 ========================================================================== 38 || | || | 38 || | || | || | || 39 || | || | 39 || | || | || | || 40 || abs 1 | abs 2 || abs 1 | 40 || abs 1 | abs 2 || abs 1 | abs 2 || abs 1 | abs 2 || 41 || | || | 41 || | || | || | || 42 || | || | 42 || | || | || | || 43 beam || | || | 43 beam || | || | || | || 44 ======> || | || | 44 ======> || | || | || | || 45 || | || | 45 || | || | || | || 46 || | || | 46 || | || | || | || 47 || | || | 47 || | || | || | || 48 || | || | 48 || | || | || | || 49 || cell 1 | cell 2 || cell 3 | 49 || cell 1 | cell 2 || cell 3 | cell 4 || cell 5 | cell 6 || 50 ====================================== 50 ========================================================================== 51 ^ ^ ^ ^ 51 ^ ^ ^ ^ ^ ^ ^ 52 pln1 pln2 pln3 pln 52 pln1 pln2 pln3 pln4 pln5 pln6 pln7 53 53 54 NB. The number of absorbers and the number o 54 NB. The number of absorbers and the number of layers can be set to 1. 55 In this case we have a unique homogeneous bl 55 In this case we have a unique homogeneous block of matter, which looks like 56 a bubble chamber rather than a calorimeter . 56 a bubble chamber rather than a calorimeter ... 57 (see the macro emtutor.mac) 57 (see the macro emtutor.mac) 58 58 59 A function, and its associated UI command, a 59 A function, and its associated UI command, allows to build a material 60 directly from a single isotope. 60 directly from a single isotope. 61 61 62 To be identified by the ThermalScattering mo 62 To be identified by the ThermalScattering module, the elements composing a 63 material must have a specific name (see G4Pa 63 material must have a specific name (see G4ParticleHPThermalScatteringNames.cc) 64 Examples of such materials are build in Hadr 64 Examples of such materials are build in Hadr06/src/DetectorConstruction.cc 65 65 66 2- PHYSICS LISTS 66 2- PHYSICS LISTS 67 67 68 "Full" set of physics processes are register 68 "Full" set of physics processes are registered, but via PhysicsConstructor 69 objects rather than complete pre-defined G4 69 objects rather than complete pre-defined G4 physics lists. This alternative 70 way gives more freedom to register physics. 70 way gives more freedom to register physics. 71 71 72 Physics constructors are either constructors 72 Physics constructors are either constructors provided in Geant4 (with G4 prefix) 73 or 'local'. They include : HadronElastic, Ha 73 or 'local'. They include : HadronElastic, HadronInelastic, IonsInelastic, 74 GammaNuclear, RadioactiveDecay and Electomag 74 GammaNuclear, RadioactiveDecay and Electomagnetic. 75 (see geant4/source/physics_lists/constructor 75 (see geant4/source/physics_lists/constructors) 76 76 77 HadronElasticPhysicsHP include a model for t 77 HadronElasticPhysicsHP include a model for thermalized neutrons, 78 under the control of the command /testhadr/p 78 under the control of the command /testhadr/phys/thermalScattering 79 79 80 GammmaNuclearPhysics is a subset of G4Bertin 80 GammmaNuclearPhysics is a subset of G4BertiniElectroNuclearBuilder. 81 81 82 ElectromagneticPhysics is a readable version 82 ElectromagneticPhysics is a readable version of G4EmStandardPhysics_opt3. 83 83 84 Several hadronic physics options are control 84 Several hadronic physics options are controlled by environment variables. 85 To select them, see Hadr07.cc 85 To select them, see Hadr07.cc 86 86 87 3- AN EVENT : THE PRIMARY GENERATOR 87 3- AN EVENT : THE PRIMARY GENERATOR 88 88 89 The primary kinematic consists of a single p 89 The primary kinematic consists of a single particle which hits the calorimeter 90 perpendicular to the input face. The type of 90 perpendicular to the input face. The type of the particle and its energy are 91 set in the PrimaryGeneratorAction class, and 91 set in the PrimaryGeneratorAction class, and can be changed via the 92 G4 build-in commands of G4ParticleGun class 92 G4 build-in commands of G4ParticleGun class (see the macros provided with this 93 example). 93 example). 94 94 95 In addition one can choose randomly the impa 95 In addition one can choose randomly the impact point of the incident particle. 96 The corresponding interactive command is bui 96 The corresponding interactive command is built in PrimaryGeneratorAction. 97 97 98 A RUN is a set of events. 98 A RUN is a set of events. 99 99 100 Hadr05 computes the energy deposited per abs 100 Hadr05 computes the energy deposited per absorber and the energy flow through 101 the calorimeter. 101 the calorimeter. 102 102 103 4- VISUALIZATION 103 4- VISUALIZATION 104 104 105 The Visualization Manager is set in the main 105 The Visualization Manager is set in the main() (see Hadr05.cc). 106 The initialisation of the drawing is done vi 106 The initialisation of the drawing is done via the commands : 107 /vis/... in the macro vis.mac. In interactiv 107 /vis/... in the macro vis.mac. In interactive session: 108 PreInit or Idle > /control/execute vis.mac 108 PreInit or Idle > /control/execute vis.mac 109 109 110 The default view is a longitudinal view of t 110 The default view is a longitudinal view of the calorimeter. 111 111 112 5- PHYSICS DEMO 112 5- PHYSICS DEMO 113 113 114 The particle's type and the physics processe 114 The particle's type and the physics processes which will be available 115 in this example are set in PhysicsList class 115 in this example are set in PhysicsList class. 116 116 117 In addition a built-in interactive command ( 117 In addition a built-in interactive command (/process/inactivate processName) 118 allows to activate/inactivate the processes 118 allows to activate/inactivate the processes one by one. 119 Then one can well visualize the processes on 119 Then one can well visualize the processes one by one, especially 120 in the bubble chamber setup with a transvers 120 in the bubble chamber setup with a transverse magnetic field. 121 121 122 6- HOW TO START ? 122 6- HOW TO START ? 123 123 124 - Execute Hadr05 in 'batch' mode from macro 124 - Execute Hadr05 in 'batch' mode from macro files 125 % Hadr05 Cu-lAr.mac << 125 % Hadr05 Cu-lAr.mac 126 126 127 - Execute Hadr05 in 'interactive mode' with 127 - Execute Hadr05 in 'interactive mode' with visualization 128 % Hadr05 128 % Hadr05 129 .... 129 .... 130 Idle> type your commands. For instance: 130 Idle> type your commands. For instance: 131 Idle> /control/execute vis.mac 131 Idle> /control/execute vis.mac 132 .... 132 .... 133 Idle> exit 133 Idle> exit 134 134 135 Macros provided in this example: 135 Macros provided in this example: 136 - hadr05.in: macro used in Geant4 testing << 137 - Fe-Sci.mac, Cu-lAr.mac, Pb-lAr.mac, W-lAr. 136 - Fe-Sci.mac, Cu-lAr.mac, Pb-lAr.mac, W-lAr.mac : names are self explanatory 138 - Pb-lAr-em.mac : electromagnetic calorimete << 139 - emtest.mac, emtutor.mac : to be run intera 137 - emtest.mac, emtutor.mac : to be run interactively 140 - vis.mac: to activate visualization 138 - vis.mac: to activate visualization 141 139 142 7- HISTOGRAMS 140 7- HISTOGRAMS 143 141 144 Hadr05 can produce histograms : 142 Hadr05 can produce histograms : 145 histo 1 : energy deposit in absorber 1 143 histo 1 : energy deposit in absorber 1 146 histo 2 : energy deposit in absorber 2 144 histo 2 : energy deposit in absorber 2 147 ...etc........... 145 ...etc........... 148 146 149 histo 11 : longitudinal profile of energy de 147 histo 11 : longitudinal profile of energy deposit in absorber 1 (MeV/event) 150 histo 12 : longitudinal profile of energy de 148 histo 12 : longitudinal profile of energy deposit in absorber 2 (MeV/event) 151 ...etc........... 149 ...etc........... 152 150 153 histo 21 : energy flow (MeV/event) 151 histo 21 : energy flow (MeV/event) 154 152 155 histo 22 : total energy deposited 153 histo 22 : total energy deposited 156 histo 23 : total energy leakage 154 histo 23 : total energy leakage 157 histo 24 : total energy released : Edep + El 155 histo 24 : total energy released : Edep + Eleak 158 156 159 NB. Numbering scheme for histograms: 157 NB. Numbering scheme for histograms: 160 layer : from 1 to NbOfLayers (included) 158 layer : from 1 to NbOfLayers (included) 161 absorbers : from 1 to NbOfAbsor (included) 159 absorbers : from 1 to NbOfAbsor (included) 162 planes : from 1 to NbOfLayers*NbOfAbsor + 160 planes : from 1 to NbOfLayers*NbOfAbsor + 1 (included) 163 161 164 One can control the binning of the histo with 162 One can control the binning of the histo with the command: 165 /analysis/h1/set idAbsor nbin Emin Emax 163 /analysis/h1/set idAbsor nbin Emin Emax unit 166 where unit is the desired energy unit for th 164 where unit is the desired energy unit for that histo 167 165 168 One can control the name of the histograms f 166 One can control the name of the histograms file with the command: 169 /analysis/setFileName name (default hadr05 167 /analysis/setFileName name (default hadr05) 170 168 171 It is possible to choose the format of the h 169 It is possible to choose the format of the histogram file : root (default), 172 xml, csv, by using namespace in HistoManager 170 xml, csv, by using namespace in HistoManager.hh 173 171 174 It is also possible to print selected histogr 172 It is also possible to print selected histograms on an ascii file: 175 /analysis/h1/setAscii id 173 /analysis/h1/setAscii id 176 All selected histos will be written on a file 174 All selected histos will be written on a file name.ascii (default hadr05) 177 175