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