]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PHOS/PHOS-HTML/src/AliPHOS.cxx.html
This commit was generated by cvs2svn to compensate for changes in r799,
[u/mrichter/AliRoot.git] / PHOS / PHOS-HTML / src / AliPHOS.cxx.html
1 <!DOCTYPE HTML PUBLIC "-// IETF/DTD HTML 2.0// EN">
2 <html>
3 <!--                                             -->
4 <!-- Author: ROOT team (rootdev@hpsalo.cern.ch)  -->
5 <!--                                             -->
6 <!--   Date: Thu Mar  9 00:11:47 2000            -->
7 <!--                                             -->
8 <head>
9 <title>AliPHOS - source file</title>
10 <link rev=made href="mailto:rootdev@root.cern.ch">
11 <meta name="rating" content="General">
12 <meta name="objecttype" content="Manual">
13 <meta name="keywords" content="software development, oo, object oriented, unix, x11, motif, windows nt, c++, html, rene brun, fons rademakers">
14 <meta name="description" content="ROOT - An Object Oriented Framework For Large Scale Data Analysis.">
15 </head>
16 <body BGCOLOR="#ffffff" LINK="#0000ff" VLINK="#551a8b" ALINK="#ff0000" TEXT="#000000">
17 <a name="TopOfPage"></a>
18 <pre>
19 /**************************************************************************
20  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
21  *                                                                        *
22  * Author: The ALICE Off-line Project.                                    *
23  * Contributors are mentioned in the code where appropriate.              *
24  *                                                                        *
25  * Permission to use, copy, modify and distribute this software and its   *
26  * documentation strictly for non-commercial purposes is hereby granted   *
27  * without fee, provided that the above copyright notice appears in all   *
28  * copies and that both the copyright notice and this permission notice   *
29  * appear in the supporting documentation. The authors make no claims     *
30  * about the suitability of this software for any purpose. It is          *
31  * provided "as is" without express or implied warranty.                  *
32  **************************************************************************/
33
34 /* $Id$ */
35
36 <b>//_________________________________________________________________________</b>
37 <b>// Base Class for PHOS description:</b>
38 <b>//   PHOS consists of a PbWO4 calorimeter (EMCA) and a gazeous charged </b>
39 <b>//    particles detector (CPV or PPSD).</b>
40 <b>//   The only provided method here is CreateMaterials, </b>
41 <b>//    which defines the materials common to all PHOS versions.   </b>
42 <b>// </b>
43 <b>//*-- Author: Laurent Aphecetche &amp; Yves Schutz (SUBATECH) </b>
44 <b>//////////////////////////////////////////////////////////////////////////////</b>
45
46 <b>// --- ROOT system ---</b>
47
48 <b>// --- Standard library ---</b>
49
50 <b>// --- AliRoot header files ---</b>
51
52 #include "<a href="../AliPHOS.h">AliPHOS.h</a>"
53 #include "AliMC.h"
54 #include "AliRun.h"
55
56 ClassImp(AliPHOS)
57
58 <b>//____________________________________________________________________________</b>
59 <a name="AliPHOS:~AliPHOS"> </a><a href=".././AliPHOS.html">AliPHOS</a>::~<a href=".././AliPHOS.html">AliPHOS</a>()
60 {
61   delete fHits ;
62   delete fDigits ;
63 }
64
65 <b>//____________________________________________________________________________</b>
66 <a name="AliPHOS:CreateMaterials"> </a><a href="../ListOfTypes.html#void">void</a> <a href=".././AliPHOS.html#AliPHOS:CreateMaterials">AliPHOS::CreateMaterials</a>()
67 {
68 <b>  // Definitions of materials to build PHOS and associated tracking media.</b>
69 <b>  // media number in idtmed are 699 to 798.</b>
70
71 <b>  // --- The PbWO4 crystals ---</b>
72   <a href="../ListOfTypes.html#Float_t">Float_t</a> aX[3] = {207.19, 183.85, 16.0} ;
73   <a href="../ListOfTypes.html#Float_t">Float_t</a> zX[3] = {82.0, 74.0, 8.0} ;
74   <a href="../ListOfTypes.html#Float_t">Float_t</a> wX[3] = {1.0, 1.0, 4.0} ;
75   <a href="../ListOfTypes.html#Float_t">Float_t</a> dX = 8.28 ;
76
77   AliMixture(0, "PbWO4$", aX, zX, dX, -3, wX) ;
78
79
80 <b>  // --- The polysterene scintillator (CH) ---</b>
81   <a href="../ListOfTypes.html#Float_t">Float_t</a> aP[2] = {12.011, 1.00794} ;
82   <a href="../ListOfTypes.html#Float_t">Float_t</a> zP[2] = {6.0, 1.0} ;
83   <a href="../ListOfTypes.html#Float_t">Float_t</a> wP[2] = {1.0, 1.0} ;
84   <a href="../ListOfTypes.html#Float_t">Float_t</a> dP = 1.032 ;
85
86   AliMixture(1, "Polystyrene$", aP, zP, dP, -2, wP) ;
87
88 <b>  // --- Aluminium ---</b>
89   AliMaterial(2, "Al$", 26.98, 13., 2.7, 8.9, 999., 0, 0) ;
90 <b>  // ---         Absorption length is ignored ^</b>
91
92 <b> // --- Tyvek (CnH2n) ---</b>
93   <a href="../ListOfTypes.html#Float_t">Float_t</a> aT[2] = {12.011, 1.00794} ;
94   <a href="../ListOfTypes.html#Float_t">Float_t</a> zT[2] = {6.0, 1.0} ;
95   <a href="../ListOfTypes.html#Float_t">Float_t</a> wT[2] = {1.0, 2.0} ;
96   <a href="../ListOfTypes.html#Float_t">Float_t</a> dT = 0.331 ;
97
98   AliMixture(3, "Tyvek$", aT, zT, dT, -2, wT) ;
99
100 <b>  // --- Polystyrene foam ---</b>
101   <a href="../ListOfTypes.html#Float_t">Float_t</a> aF[2] = {12.011, 1.00794} ;
102   <a href="../ListOfTypes.html#Float_t">Float_t</a> zF[2] = {6.0, 1.0} ;
103   <a href="../ListOfTypes.html#Float_t">Float_t</a> wF[2] = {1.0, 1.0} ;
104   <a href="../ListOfTypes.html#Float_t">Float_t</a> dF = 0.12 ;
105
106   AliMixture(4, "Foam$", aF, zF, dF, -2, wF) ;
107
108 <b> // --- Titanium ---</b>
109   <a href="../ListOfTypes.html#Float_t">Float_t</a> aTIT[3] = {47.88, 26.98, 54.94} ;
110   <a href="../ListOfTypes.html#Float_t">Float_t</a> zTIT[3] = {22.0, 13.0, 25.0} ;
111   <a href="../ListOfTypes.html#Float_t">Float_t</a> wTIT[3] = {69.0, 6.0, 1.0} ;
112   <a href="../ListOfTypes.html#Float_t">Float_t</a> dTIT = 4.5 ;
113
114   AliMixture(5, "Titanium$", aTIT, zTIT, dTIT, -3, wTIT);
115
116 <b> // --- Silicon ---</b>
117   AliMaterial(6, "Si$", 28.0855, 14., 2.33, 9.36, 42.3, 0, 0) ;
118
119
120
121 <b>  // --- Foam thermo insulation ---</b>
122   <a href="../ListOfTypes.html#Float_t">Float_t</a> aTI[2] = {12.011, 1.00794} ;
123   <a href="../ListOfTypes.html#Float_t">Float_t</a> zTI[2] = {6.0, 1.0} ;
124   <a href="../ListOfTypes.html#Float_t">Float_t</a> wTI[2] = {1.0, 1.0} ;
125   <a href="../ListOfTypes.html#Float_t">Float_t</a> dTI = 0.1 ;
126
127   AliMixture(7, "Thermo Insul.$", aTI, zTI, dTI, -2, wTI) ;
128
129 <b>  // --- Textolitn ---</b>
130   <a href="../ListOfTypes.html#Float_t">Float_t</a> aTX[4] = {16.0, 28.09, 12.011, 1.00794} ;
131   <a href="../ListOfTypes.html#Float_t">Float_t</a> zTX[4] = {8.0, 14.0, 6.0, 1.0} ;
132   <a href="../ListOfTypes.html#Float_t">Float_t</a> wTX[4] = {292.0, 68.0, 462.0, 736.0} ;
133   <a href="../ListOfTypes.html#Float_t">Float_t</a> dTX    = 1.75 ;
134
135   AliMixture(8, "Textolit$", aTX, zTX, dTX, -4, wTX) ;
136
137 <b>  //--- FR4  ---</b>
138   <a href="../ListOfTypes.html#Float_t">Float_t</a> aFR[3] = {28.0855, 15.9994, 17.749} ; 
139   <a href="../ListOfTypes.html#Float_t">Float_t</a> zFR[3] = {14., 8., 8.875} ; 
140   <a href="../ListOfTypes.html#Float_t">Float_t</a> wFR[3] = {.28, .32, .4} ;
141   <a href="../ListOfTypes.html#Float_t">Float_t</a> dFR = 1.8 ; 
142
143   AliMixture(9, "FR4$", aFR, zFR, dFR, -3, wFR) ;
144
145 <b>  // --- The Composite Material for  micromegas (so far polyetylene) ---                                       </b>
146   <a href="../ListOfTypes.html#Float_t">Float_t</a> aCM[2] = {12.01, 1.} ; 
147   <a href="../ListOfTypes.html#Float_t">Float_t</a> zCM[2] = {6., 1.} ; 
148   <a href="../ListOfTypes.html#Float_t">Float_t</a> wCM[2] = {1., 2.} ; 
149   <a href="../ListOfTypes.html#Float_t">Float_t</a> dCM = 0.935 ; 
150
151   AliMixture(10, "Compo Mat$", aCM, zCM, dCM, -2, wCM) ;
152
153 <b>  // --- Copper ---                                                                    </b>
154   AliMaterial(11, "Cu$", 63.546, 29, 8.96, 1.43, 14.8, 0, 0) ;
155  
156 <b>  // --- G10 : Printed Circuit material ---                                                  </b>
157   <a href="../ListOfTypes.html#Float_t">Float_t</a> aG10[4] = { 12., 1., 16., 28.} ;
158   <a href="../ListOfTypes.html#Float_t">Float_t</a> zG10[4] = { 6., 1., 8., 14.} ;
159   <a href="../ListOfTypes.html#Float_t">Float_t</a> wG10[4] = { .259, .288, .248, .205} ;
160   <a href="../ListOfTypes.html#Float_t">Float_t</a> dG10  = 1.7 ;
161   
162   AliMixture(12, "G10$", aG10, zG10, dG10, -4, wG10);
163
164 <b>  // --- Lead ---                                                                     </b>
165   AliMaterial(13, "Pb$", 207.2, 82, 11.35, 0.56, 0., 0, 0) ;
166
167 <b> // --- The gas mixture ---                                                                </b>
168 <b> // Co2</b>
169   <a href="../ListOfTypes.html#Float_t">Float_t</a> aCO[2] = {12.0, 16.0} ; 
170   <a href="../ListOfTypes.html#Float_t">Float_t</a> zCO[2] = {6.0, 8.0} ; 
171   <a href="../ListOfTypes.html#Float_t">Float_t</a> wCO[2] = {1.0, 2.0} ; 
172   <a href="../ListOfTypes.html#Float_t">Float_t</a> dCO = 0.001977 ; 
173
174   AliMixture(14, "CO2$", aCO, zCO, dCO, -2, wCO);
175
176 <b> // Ar</b>
177   <a href="../ListOfTypes.html#Float_t">Float_t</a> dAr = 0.001782 ; 
178   AliMaterial(15, "Ar$", 39.948, 18.0, dAr, 14.0, 0., 0, 0) ;   
179  
180 <b> // ArCo2</b>
181   <a href="../ListOfTypes.html#Char_t">Char_t</a> namate[21];
182   <a href="../ListOfTypes.html#Float_t">Float_t</a> aGM[2] ; 
183   <a href="../ListOfTypes.html#Float_t">Float_t</a> zGM[2] ; 
184   <a href="../ListOfTypes.html#Float_t">Float_t</a> wGM[2] ; 
185   <a href="../ListOfTypes.html#Float_t">Float_t</a> dGM ; 
186
187   <a href="../ListOfTypes.html#Float_t">Float_t</a> absL, radL, density ;
188   <a href="../ListOfTypes.html#Float_t">Float_t</a> buf[1] ;
189   <a href="../ListOfTypes.html#Int_t">Int_t</a> nbuf ;
190
191   gMC-&gt;Gfmate((*fIdmate)[15], namate, aGM[0], zGM[0], density, radL, absL, buf, nbuf) ; // Get properties of Ar 
192   gMC-&gt;Gfmate((*fIdmate)[14], namate, aGM[1], zGM[1], density, radL, absL, buf, nbuf) ; // Get properties of CO2 
193
194
195 <b>  // Create gas mixture </b>
196
197   <a href="../ListOfTypes.html#Float_t">Float_t</a> arContent    = 0.80 ;  // Ar-content of the Ar/CO2-mixture (80% / 20%) 
198  
199   wGM[0] = arContent;
200   wGM[1] = 1. - arContent ;
201   dGM    = wGM[0] * dAr + wGM[1] * dCO;
202
203   AliMixture(16, "ArCO2$", aGM, zGM, dGM,  2, wGM) ;
204
205  
206 <b>  // --- Air ---</b>
207   AliMaterial(99, "Air$", 14.61, 7.3, 0.001205, 30420., 67500., 0, 0) ;
208   
209  
210 <b>  // DEFINITION OF THE TRACKING MEDIA</b>
211
212 <b>  // for PHOS: idtmed[699-&gt;798] equivalent to fIdtmed[0-&gt;100]</b>
213   <a href="../ListOfTypes.html#Int_t">Int_t</a> * idtmed = fIdtmed-&gt;GetArray() - 699 ; 
214   <a href="../ListOfTypes.html#Int_t">Int_t</a>   isxfld = gAlice-&gt;Field()-&gt;Integ() ;
215   <a href="../ListOfTypes.html#Float_t">Float_t</a> sxmgmx = gAlice-&gt;Field()-&gt;Max() ;
216
217 <b>  // The scintillator of the calorimeter made of PBW04                              -&gt; idtmed[699]</b>
218   AliMedium(0, "PHOS Xtal    $", 0, 1,
219             isxfld, sxmgmx, 10.0, 0.1, 0.1, 0.1, 0.1, 0, 0) ;
220
221 <b>  // The scintillator of the CPV made of Polystyrene scintillator                   -&gt; idtmed[700]</b>
222   AliMedium(1, "CPV scint.   $", 1, 1,
223             isxfld, sxmgmx, 10.0, 0.1, 0.1, 0.1, 0.1, 0, 0) ;
224
225 <b>  // Various Aluminium parts made of Al                                             -&gt; idtmed[701]</b>
226   AliMedium(2, "Al parts     $", 2, 0,
227              isxfld, sxmgmx, 10.0, 0.1, 0.1, 0.001, 0.001, 0, 0) ;
228
229 <b>  // The Tywek which wraps the calorimeter crystals                                 -&gt; idtmed[702]</b>
230   AliMedium(3, "Tyvek wrapper$", 3, 0,
231              isxfld, sxmgmx, 10.0, 0.1, 0.1, 0.001, 0.001, 0, 0) ;
232
233 <b>  // The Polystyrene foam around the calorimeter module                             -&gt; idtmed[703]</b>
234   AliMedium(4, "Polyst. foam $", 4, 0,
235              isxfld, sxmgmx, 10.0, 0.1, 0.1, 0.1, 0.1, 0, 0) ;
236
237 <b>  // The Titanium around the calorimeter crystal                                    -&gt; idtmed[704]</b>
238   AliMedium(5, "Titan. cover $", 5, 0,
239              isxfld, sxmgmx, 10.0, 0.1, 0.1, 0.0001, 0.0001, 0, 0) ;
240
241 <b>  // The Silicon of the pin diode to read out the calorimeter crystal               -&gt; idtmed[705] </b>
242  AliMedium(6, "Si PIN       $", 6, 0,
243              isxfld, sxmgmx, 10.0, 0.1, 0.1, 0.01, 0.01, 0, 0) ;
244
245 <b> // The thermo insulating material of the box which contains the calorimeter module -&gt; idtmed[706]</b>
246   AliMedium(7, "Thermo Insul.$", 7, 0,
247              isxfld, sxmgmx, 10.0, 0.1, 0.1, 0.1, 0.1, 0, 0) ;
248
249 <b>  // The Textolit which makes up the box which contains the calorimeter module      -&gt; idtmed[707]</b>
250   AliMedium(8, "Textolit     $", 8, 0,
251              isxfld, sxmgmx, 10.0, 0.1, 0.1, 0.1, 0.1, 0, 0) ;
252
253 <b>  // FR4: The Plastic which makes up the frame of micromegas                        -&gt; idtmed[708]</b>
254   AliMedium(9, "FR4 $", 9, 0,
255              isxfld, sxmgmx, 10.0, 0.1, 0.1, 0.1, 0.0001, 0, 0) ; 
256
257
258 <b>  // The Composite Material for  micromegas                                         -&gt; idtmed[709]</b>
259   AliMedium(10, "CompoMat   $", 10, 0,
260              isxfld, sxmgmx, 10.0, 0.1, 0.1, 0.1, 0.1, 0, 0) ;
261
262 <b>  // Copper                                                                         -&gt; idtmed[710]</b>
263   AliMedium(11, "Copper     $", 11, 0,
264              isxfld, sxmgmx, 10.0, 0.1, 0.1, 0.1, 0.0001, 0, 0) ;
265
266 <b>  // G10: Printed Circuit material                                                  -&gt; idtmed[711]</b>
267  
268   AliMedium(12, "G10        $", 12, 0,
269              isxfld, sxmgmx, 10.0, 0.1, 0.1, 0.1, 0.01, 0, 0) ;
270
271 <b>  // The Lead                                                                       -&gt; idtmed[712]</b>
272  
273   AliMedium(13, "Lead      $", 13, 0,
274              isxfld, sxmgmx, 10.0, 0.1, 0.1, 0.1, 0.1, 0, 0) ;
275
276 <b>  // The gas mixture: ArCo2                                                         -&gt; idtmed[715]</b>
277  
278   AliMedium(16, "ArCo2      $", 16, 1,
279              isxfld, sxmgmx, 10.0, 0.1, 0.1, 0.1, 0.01, 0, 0) ;
280  
281 <b>  // Air                                                                            -&gt; idtmed[798] </b>
282   AliMedium(99, "Air          $", 99, 0,
283              isxfld, sxmgmx, 10.0, 1.0, 0.1, 0.1, 10.0, 0, 0) ;
284
285 <b>  // --- Set decent energy thresholds for gamma and electron tracking</b>
286
287 <b>  // Tracking threshold for photons and electrons in the scintillator crystal </b>
288   gMC-&gt;Gstpar(idtmed[699], "CUTGAM",0.5E-4) ; 
289   gMC-&gt;Gstpar(idtmed[699], "CUTELE",1.0E-4) ;
290  
291 <b>  // --- Generate explicitly delta rays in the titan cover ---</b>
292   gMC-&gt;Gstpar(idtmed[704], "LOSS",3.) ;
293   gMC-&gt;Gstpar(idtmed[704], "DRAY",1.) ;
294 <b>  // --- and in aluminium parts ---</b>
295   gMC-&gt;Gstpar(idtmed[701], "LOSS",3.) ;
296   gMC-&gt;Gstpar(idtmed[701], "DRAY",1.) ;
297 <b>  // --- and in PIN diode</b>
298   gMC-&gt;Gstpar(idtmed[705], "LOSS",3) ;
299   gMC-&gt;Gstpar(idtmed[705], "DRAY",1) ;
300 <b>  // --- and in the passive convertor</b>
301   gMC-&gt;Gstpar(idtmed[712], "LOSS",3) ;
302   gMC-&gt;Gstpar(idtmed[712], "DRAY",1) ;
303 <b>  // Tracking threshold for photons and electrons in the gas ArC02 </b>
304   gMC-&gt;Gstpar(idtmed[715], "CUTGAM",5.E-7) ; 
305   gMC-&gt;Gstpar(idtmed[715], "CUTELE",5.E-7) ;
306   gMC-&gt;Gstpar(idtmed[715], "CUTNEU",5.E-7) ;
307   gMC-&gt;Gstpar(idtmed[715], "CUTHAD",5.E-7) ;
308   gMC-&gt;Gstpar(idtmed[715], "CUTMUO",5.E-7) ;
309   gMC-&gt;Gstpar(idtmed[715], "BCUTE",5.E-7) ;
310   gMC-&gt;Gstpar(idtmed[715], "BCUTM",5.E-7) ;
311   gMC-&gt;Gstpar(idtmed[715], "DCUTE",5.E-7) ;
312   gMC-&gt;Gstpar(idtmed[715], "DCUTM",5.E-7) ;
313   gMC-&gt;Gstpar(idtmed[715], "PPCUTM",5.E-7) ;
314   gMC-&gt;Gstpar(idtmed[715], "LOSS",2.) ;
315   gMC-&gt;Gstpar(idtmed[715], "DRAY",0.) ;
316   gMC-&gt;Gstpar(idtmed[715], "STRA",2.) ;
317
318   
319  
320
321 }
322 </pre>
323
324 <!--SIGNATURE-->
325 <br>
326 <address>
327 <hr>
328 <center>
329 <a href="http://root.cern.ch/root/Welcome.html">ROOT page</a> - <a href="../ClassIndex.html">Class index</a> - <a href="#TopOfPage">Top of the page</a><br>
330 </center>
331 <hr>This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to <a href="mailto:rootdev@root.cern.ch">ROOT support</a>, or contact <a href="mailto:rootdev@root.cern.ch">the developers</a> with any questions or problems regarding ROOT.
332 </address>
333 </body>
334 </html>