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