Geant4 Cross Reference |
1 ------------------------------------------------------------------- 2 3 ========================================================= 4 Geant4 - an Object-Oriented Toolkit for Simulation in HEP 5 ========================================================= 6 7 gammaray_telescope 8 ------------------ 9 F. Longo, R. Giannitrapani & G. Santin 10 June 2003 11 12 --------------------------------------------------------------- 13 Acknowledgments to GEANT4 people, in particular to R. Nartallo, 14 A. Pfeiffer, M. G. Pia and G. Cosmo 15 --------------------------------------------------------------- 16 17 GammaRayTel is an example of application of Geant4 in a space 18 environment. It simulates a typical telescope for gamma ray analysis; 19 the detector setup is composed by a tracker made with silicon planes, 20 subdivided in ladders and strips, a CsI calorimeter and an 21 anticoincidence system. In this version, the three detectors are made 22 sensitive but only the hits on the tracker strips are registered and relevant 23 information (energy deposition, position etc.) are dumped to an external 24 ASCII file for subsequent analysis. 25 26 Relevant information from the simulation is processed in the GammarayTelAnalysis 27 class and saved, through the G4AnalysisManager interface, to Histograms and 28 Tuples. 29 30 a) Macros for the visualization of geometry and tracks with 31 OpenGL, VRML and DAWN drivers 32 33 b) Implementation of messengers to change some parameters of 34 the detector geometry, the particle generator and the analysis 35 manager (if present) runtime 36 37 c) Readout geometry mechanism to describe an high number of 38 subdivisions of the planes of the tracker (strips) without 39 affecting in a relevant way the simulation performances 40 41 d) Histogramming facilities are presently provided through the G4AnalysisManager class. 42 43 e) User interfaces via Xmotif or normal terminal provided 44 45 46 1. Setting up the environment variables 47 --------------------------------------- 48 49 - Setup for storing ASCII data 50 51 If you want to store the output data in an ASCII file 'Tracks_x.dat' 52 where x stays for the run number. You should specify the environment 53 variable: 54 55 setenv G4STORE_DATA 1 56 57 - Setup for Visualization 58 59 IMPORTANT: be sure that your Geant4 installation has been done 60 with the proper visualization drivers; for details please see the 61 file geant4/source/visualization/README. 62 63 To use the visualization drivers set the following variables in 64 your local environment: 65 66 setenv G4VIS_USE_OPENGLX 1 # OpenGL visualization 67 setenv G4VIS_USE_DAWNFILE 1 # DAWN file 68 setenv G4VIS_USE_VRMLFILE 1 # VRML file 69 setenv G4VRMLFILE_VIEWER vrmlview # If installed 70 71 - Setup for Xmotif user interface 72 73 setenv G4UI_USE_XM 1 74 75 - Set up for analysis 76 77 To compile the GammaRayTel example with the analysis tools activated, 78 set the following variables 79 80 setenv G4ANALYSIS_USE 1 # Use the analysis tools 81 82 2. Sample run 83 ------------- 84 85 To run a sample simulation with gamma tracks interacting with 86 the detector in its standard configuration and without any 87 visualization, execute the following command in the example main 88 directory: 89 90 $G4WORKDIR/bin/$G4SYSTEM/GammaRayTel 91 92 It is possible also to run three different configuration defined in 93 macro1.mac, macro2.mac and macro3.mac for visualization (OpenGL, VRML 94 and DAWN respectively) with the following command 95 96 $G4WORKDIR/bin/$G4SYSTEM/GammaRayTel macroX.mac 97 98 where X can be 1, 2 or 3. Be sure to have the right environment (see 99 the preceding section) and the proper visualization driver enabled in 100 your local G4 installation (see geant4/source/visualization/README for 101 more information). 102 103 104 3. Detector description 105 ----------------------- 106 107 The detector is defined in GammaRayTelDetectorConstruction.cc 108 It is composed of a Payload with three main detectors, a Tracker (TKR), a 109 Calorimeter (CAL) and an Anticoincidence system (ACD). 110 111 The standard configuration is made of a TKR of 15 Layers of 2 views made of 112 4 * 4 Si single sided silicon detectors with Lead converter, and a CAL of 113 5 layers of CsI, each made of 2 views of 12 CsI bars orthogonally posed. 114 4 lateral panels and a top layer of plastic scintillator (ACL and ACT) 115 complete the configuration. 116 The Si detectors are composed of two silicon planes subdivided in strips 117 aligned along the X axis in one plane and along the Y axis for the other. 118 119 The following baseline configuration is adopted: 120 121 GEOMETRICAL PARAMETER VALUE 122 123 Converter Thickness 300 micron 124 Silicon Thickness 400 micron 125 Silicon Tile Size XY 9 cm 126 Silicon Pitch 200. micrometer 127 Views Distance 1. mm 128 CAL Bar Thickness 1.5 cm 129 ACD Thickness 1. cm 130 131 It is possible to modify in some way this configuration using the 132 commands defined in GammaRayTelDetectorMessenger. 133 This feature is available in the UI through the commands subtree 134 "/payload/" (see the help command in the UI for more information). 135 136 4. Physics processes 137 -------------------- 138 139 This example uses a modular physics list, with a sample of Hadronic processes 140 (see the web page http://cmsdoc.cern.ch/~hpw/GHAD/HomePage/ for more adeguate 141 physics lists), the Standard or the LowEnergy Electromagnetic processes. 142 143 5. Particle Generator 144 --------------------- 145 146 The GammaRayTelParticleGenerationAction and its Messenger let the user define 147 the incident flux of particles, from a specific direction or from an 148 isotropic background. In the first case particles are generated on a spherical 149 surface which diameter is perpendicular to the arrival direction. In the second 150 case the arrival directions are isotropic. 151 152 The user can define also between two spectral options: 153 monochromatic or with a power-law dependence. The particle 154 generator parameters are accessible through the UI tree "/gun/" (use the 155 UI help for more information). We are planning to include, in the next 156 releases of this example, the General Particle Source module of G4. 157 158 6. Hit 159 ------ 160 161 In this version the hits from the TKR the CAL and the ACD are generated. 162 Only the hit from the TRK are saved. Each TKR hit contains the following 163 information 164 165 a) ID of the event (this is important for multiple events run) 166 b) Energy deposition of the particle in the strip (keV) 167 c) Number of the strip 168 d) Number of the plane 169 e) Type of the plane (1=X 0=Y) 170 f) Position of the hit (x, y, z) in the reference frame of the payload 171 172 The hit information are saved on an ASCII file named Tracks_N.dat, where 173 N is the progressive ID number associated to the run. 174 175 7. Analysis 176 ----------- 177 178 Relevant information from the simulation is processed in the GammarayTelAnalysis 179 class and saved, through the G4AnalysisManager interface, to Histograms and 180 Tuples. The output file is written in ROOT format, but one can easily switch to 181 XML (or Hbook) by changing the appropriate #include in GammarayTelAnalysis.hh 182 No external software is required (apart from the hbook case, in which the CERNLIB 183 must be installed and a FORTRAN compiler must be present) 184 185 Keep in mind that the actual implementation of the analysis tools in GammaRayTel 186 is of a pedagogical nature, so we kept it as simple as possible. 187 188 The actual analysis produces some histograms (see next section) and an ntuple. 189 Both the histograms and the ntuple are saved at the end of the run in the file 190 "gammaraytel.root". Please note that in a multiple run session, 191 the last run always override the root file. 192 193 8. Histogramming 194 ---------------- 195 196 The 1D histograms contain the energy deposition in the last X plane of 197 the TKR and the hits distribution along the X planes of the TKR 198 (note again that these histograms have been chosen more for pedagogical 199 motivation than for physical one). 200 201 These histograms are filled and updated at every event and are initialized 202 with each new run; the scale of the histograms is automatically derived from 203 the detector geometry. 204 205 Through a messenger it is possible to set some options with 206 the UI subtree "/analysis/" (use the UI help for more info); 207 208 In this example we only show the use of very basic feature of this new 209 simulation/analysis framework. 210 211 9. Digi 212 ------- 213 214 For the TKR also the digits corresponding to the Hits are generated. 215 A digi is generated when the hit energy deposit is greater than a threshold 216 (in this example setted at 120 keV). 217 The TKR digi information are stored on the same file Tracks_N.dat and contain: 218 219 a) ID of the event (this is important for multiple events run) 220 b) Number of the strip 221 c) Number of the plane 222 d) Type of the plane (1=X 0=Y) 223 224 10. Classes Overview 225 -------------------- 226 227 This is the overview of the classes defined in this example 228 229 GammaRayTelPrimaryGeneratorAction 230 User action for primaries generator 231 232 GammaRayTelPrimaryGeneratorMessenger 233 Messenger for interactive particle generator 234 parameters modification via the User Interface 235 236 GammaRayTelPhysicsList 237 Determination of modular physics classes 238 239 GammaRayTelDetectorConstruction 240 Geometry and material definitions for the detector 241 242 GammaRayTelDetectorMessenger 243 Messenger for interactive geometry parameters 244 modification via the User Interface 245 246 GammaRayTelAnalysis 247 Analysis manager class (experimental) 248 249 GammaRayTelAnalysisMessenger 250 Messenger for interactive analysis options modification 251 via the User Interface 252 253 GammaRayTelRunAction 254 User run action class 255 256 GammaRayTelEventAction 257 User event action class 258 259 GammaRayTelTrackerHit 260 Description of the hits on the tracker 261 262 GammaRayTelDigi 263 Description of the digi on the tracker 264 265 GammaRayTelDigitizer 266 Description of the digitizer for the tracker 267 268 GammaRayTelTrackerSD 269 Description of the TKR sensitive detector 270 271 GammaRayTelAnticoincidenceHit 272 Description of the hits on the anticoincidence 273 274 GammaRayTelAnticoincidenceSD 275 Description of the ACD sensitive detector 276 277 GammaRayTelCalorimeterHit 278 Description of the hits on the calorimeter 279 280 GammaRayTelCalorimeterSD 281 Description of the CAL sensitive detector