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 | |
---|