f1a264426545c8b3088a5a50e4bb71a783cf727c
[u/mrichter/AliRoot.git] / ITS / AliITSv11.cxx
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  *                                                                        *
4  * Author: The ALICE Off-line Project.                                    *
5  * Contributors are mentioned in the code where appropriate.              *
6  *                                                                        *
7  * Permission to use, copy, modify and distribute this software and its   *
8  * documentation strictly for non-commercial purposes is hereby granted   *
9  * without fee, provided that the above copyright notice appears in all   *
10  * copies and that both the copyright notice and this permission notice   *
11  * appear in the supporting documentation. The authors make no claims     *
12  * about the suitability of this software for any purpose. It is          *
13  * provided "as is" without express or implied warranty.                  *
14  **************************************************************************/
15
16 /*
17 $Log$
18 Revision 1.6  2003/02/10 17:03:52  nilsen
19 New version and structure of ITS V11 geometry. Work still in progress.
20
21 Revision 1.5  2003/02/01 14:02:20  nilsen
22 Work continues.
23
24 Revision 1.4  2003/01/29 16:01:14  nilsen
25 Update today's work.
26
27 Revision 1.3  2003/01/28 17:59:54  nilsen
28 Work continuing.
29
30 Revision 1.2  2003/01/26 14:35:15  nilsen
31 Some more geometry interface functions added and a start at the SSD support
32 cone geometry. Committed to allow easy updates of partical work between 
33 authors.
34
35 Revision 1.1  2003/01/20 23:32:49  nilsen
36 New ITS geometry. Only a Skeleton for now.
37
38 $Id$
39 */
40
41 //////////////////////////////////////////////////////////////////////////////
42 //                                                                          //
43 //  Inner Traking System version 11                                         //
44 //  This class contains the base procedures for the Inner Tracking System   //
45 //                                                                          //
46 // Authors: R. Barbera                                                      //
47 // version 6.                                                               //
48 // Created  2000.                                                           //
49 //                                                                          //
50 //  NOTE: THIS IS THE  SYMMETRIC PPR geometry of the ITS.                   //
51 // THIS WILL NOT WORK                                                       //
52 // with the geometry or module classes or any analysis classes. You are     //
53 // strongly encouraged to uses AliITSv5.                                    //
54 //                                                                          //
55 //////////////////////////////////////////////////////////////////////////////
56 // See AliITSv11::StepManager().
57 #include <Riostream.h>
58 #include <stdio.h>
59 #include <stdlib.h>
60 #include <TMath.h>
61 #include <TFile.h>    // only required for Tracking function?
62 #include <TObjArray.h>
63 #include <TLorentzVector.h>
64 #include <TObjString.h>
65 #include <TClonesArray.h>
66 #include <TBRIK.h>
67 #include <TSystem.h>
68
69
70 #include "AliRun.h"
71 #include "AliMagF.h"
72 #include "AliConst.h"
73 #include "AliITSGeant3Geometry.h"
74 #include "AliITShit.h"
75 #include "AliITSv11.h"
76 #include "AliITSgeom.h"
77 #include "AliITSgeomSPD.h"
78 #include "AliITSgeomSDD.h"
79 #include "AliITSgeomSSD.h"
80 #include "AliITSDetType.h"
81 #include "AliITSresponseSPD.h"
82 #include "AliITSresponseSDD.h"
83 #include "AliITSresponseSSD.h"
84 #include "AliITSsegmentationSPD.h"
85 #include "AliITSsegmentationSDD.h"
86 #include "AliITSsegmentationSSD.h"
87 #include "AliITSsimulationSPD.h"
88 #include "AliITSsimulationSDD.h"
89 #include "AliITSsimulationSSD.h"
90 #include "AliITSClusterFinderSPD.h"
91 #include "AliITSClusterFinderSDD.h"
92 #include "AliITSClusterFinderSSD.h"
93 //
94 #include "AliITSGeometryITSV.h"
95 #include "AliITSGeometrySSDCone.h"
96 #include "AliITSGeometrySDDCone.h"
97
98 ClassImp(AliITSv11)
99
100 //______________________________________________________________________
101 AliITSv11::AliITSv11() : AliITS() {
102     // Standard default constructor for the ITS version 11.
103     // Inputs:
104     //   none.
105     // Outputs:
106     //   none.
107     // Return
108     //   A default constructed AliITSv11 class.
109
110     fITSV = 0;
111     fcS = 0;
112 //   fcD = 0;
113 }
114 //______________________________________________________________________
115 AliITSv11::AliITSv11(const char *title) : AliITS("ITS", title){
116     // Standard constructor for the ITS version 11.
117     // Inputs:
118     //   const char *title  The title of for this geometry.
119     // Outputs:
120     //   none.
121     // Return
122     //   A Standard constructed AliITSv11 class.
123
124     fITSV = 0;
125     fcS = 0;
126 //    fcD = 0;
127 }
128 //______________________________________________________________________
129 AliITSv11::~AliITSv11() {
130     // Standard destructor for the ITS version 11.
131     // Inputs:
132     //   none.
133     // Outputs:
134     //   none.
135     // Return
136     //   none.
137
138     if(fITSV!=0) delete fITSV;
139     if(fcS!=0) delete fcS;
140 //    if(fcD!=0) delete fcD;
141 }
142 //______________________________________________________________________
143 AliITSv11::AliITSv11(const AliITSv11 &source){
144     //     Copy Constructor for ITS version 11.
145     // Inputs:
146     //   AliITSv11 &source  class to be copied from.
147     // Outputs:
148     //   none.
149     // Return
150     //   none.
151
152     if(&source == this) return;
153     Error("Copy Constructor","Not allowed to copy AliITSv11");
154     return;
155 }
156 //______________________________________________________________________
157 AliITSv11& AliITSv11::operator=(const AliITSv11 &source){
158     //    Assignment operator for the ITS version 11.
159     // Inputs:
160     //   AliITSv11 &source  class to be copied from.
161     // Outputs:
162     //   none.
163     // Return
164     //   none.
165
166     if(&source == this) return *this;
167     Error("= operator","Not allowed to copy AliITSv11");
168     return *this;
169 }
170 //______________________________________________________________________
171 void AliITSv11::BuildGeometry(){
172     // This routine defines and Creates the geometry for version 11 of 
173     // the ITS for use in the simulation display routines. This is a 
174     // very simplified geometry for speed of viewing.
175     // Inputs:
176     //   none.
177     // Outputs:
178     //   none.
179     // Return
180     //   none.
181     TVector3 t(0.0,0.0,0.0);
182
183     if(fITSV==0) fITSV = new AliITSGeometryITSV(this,"ALIC");
184     if(fcS==0) fcS = new AliITSGeometrySSDCone(this,t,"TSV",1);
185
186     fcS->BuildDisplayGeometry();
187 }
188 //______________________________________________________________________
189 void AliITSv11::CreateGeometry(){
190     // This routine defines and Creates the geometry for version 11 of 
191     // the ITS. The geometry is used by the particle trasport routines,
192     // and therefore, is very detailed.
193     // Inputs:
194     //   none.
195     // Outputs:
196     //   none.
197     // Return
198     //   none.
199     TVector3 t(0.0,0.0,0.0);
200
201     if(fITSV==0) fITSV = new AliITSGeometryITSV(this,"ALIC");
202     if(fcS==0) fcS = new AliITSGeometrySSDCone(this,t,"TSV",1);
203     //
204     fITSV->CreateG3Geometry();
205     fcS->CreateG3Geometry("TSV",t);
206     //
207     fITSV->PositionGeometry("ALIC",1,t,0);
208     fcS->PositionG3Geometry(fITSV->GetParams(),1,t,0);
209 }
210 //______________________________________________________________________
211 void AliITSv11::CreateMaterials(){
212     // Create ITS materials
213     //     This function defines the default materials used in the Geant
214     // Monte Carlo simulations for the geometries AliITSv11.
215     // In general it is automatically replaced by
216     // Inputs:
217     //   none.
218     // Outputs:
219     //   none.
220     // Return
221     //   none.
222 /*
223     TVector3 t(0.0,0.0,0.0);
224
225     if(fITSV==0) fITSV = new AliITSGeometryITSV(this,"ALIC");
226     if(fcS==0) fcS = new AliITSGeometrySSDCone(this,t,"TSV",1);
227
228     fITSV->CreateG3Materials();
229     fcS->CreateG3Materials();
230 */
231
232
233   Int_t   ifield = gAlice->Field()->Integ();
234   Float_t fieldm = gAlice->Field()->Max();
235
236   Float_t tmaxfd = 0.1; // 1.0; // Degree
237   Float_t stemax = 1.0; // cm
238   Float_t deemax = 0.1; // 30.0; // Fraction of particle's energy 0<deemax<=1
239   Float_t epsil  = 1.0E-4; // 1.0; // cm
240   Float_t stmin  = 0.0; // cm "Default value used"
241
242   Float_t tmaxfdSi = 0.1; // .10000E+01; // Degree
243   Float_t stemaxSi = 0.0075; //  .10000E+01; // cm
244   Float_t deemaxSi = 0.1; // 0.30000E-02; // Fraction of particle's energy 0<deemax<=1
245   Float_t epsilSi  = 1.0E-4;// .10000E+01;
246   Float_t stminSi  = 0.0; // cm "Default value used"
247
248   Float_t tmaxfdAir = 0.1; // .10000E+01; // Degree
249   Float_t stemaxAir = .10000E+01; // cm
250   Float_t deemaxAir = 0.1; // 0.30000E-02; // Fraction of particle's energy 0<deemax<=1
251   Float_t epsilAir  = 1.0E-4;// .10000E+01;
252   Float_t stminAir  = 0.0; // cm "Default value used"
253
254   Float_t tmaxfdServ = 1.0; // 10.0; // Degree
255   Float_t stemaxServ = 1.0; // 0.01; // cm
256   Float_t deemaxServ = 0.5; // 0.1; // Fraction of particle's energy 0<deemax<=1
257   Float_t epsilServ  = 1.0E-3; // 0.003; // cm
258   Float_t stminServ  = 0.0; //0.003; // cm "Default value used"
259
260   // Freon
261   Float_t afre[2]  = { 12.011,18.9984032 };
262   Float_t zfre[2]  = { 6., 9. };
263   Float_t wfre[2]  = { 5.,12. };
264   Float_t densfre  = 1.5;
265
266   // --- Define the various materials and media for GEANT --- 
267   // AliMaterial(Int_t imat, const char* name, Float_t a, Float_t z,
268   //              Float_t dens, Float_t radl, Float_t absl,
269   //              Float_t *buf=0, Int_t nwbuf=0)
270   //AliMedium(Int_t numed, const char *name, Int_t nmat,
271   //          Int_t isvol, Int_t ifield, Float_t fieldm,
272   //          Float_t tmaxfd, Float_t stemax, Float_t deemax,
273   //          Float_t epsil, Float_t stmin, Float_t *ubuf=0, Int_t nbuf=0)
274   AliMaterial(1,"SI$",0.28086E+02,0.14000E+02,0.23300E+01,0.93600E+01,0.99900E+03);
275   AliMedium(1,"SI$",1,0,ifield,fieldm,tmaxfdSi,stemaxSi,deemaxSi,epsilSi,stminSi);
276
277   AliMaterial(2,"SPD SI CHIP$",0.28086E+02,0.14000E+02,0.23300E+01,0.93600E+01,0.99900E+03);
278   AliMedium(2,"SPD SI CHIP$",2,0,ifield,fieldm,tmaxfdSi,stemaxSi,deemaxSi,epsilSi,stminSi);
279
280   AliMaterial(3,"SPD SI BUS$",0.28086E+02,0.14000E+02,0.23300E+01,0.93600E+01,0.99900E+03);
281   AliMedium(3,"SPD SI BUS$",3,0,ifield,fieldm,tmaxfdSi,stemaxSi,deemaxSi,epsilSi,stminSi);
282
283   AliMaterial(4,"C (M55J)$",0.12011E+02,0.60000E+01,0.1930E+01,0.22100E+02,0.99900E+03);
284   AliMedium(4,"C (M55J)$",4,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
285
286   AliMaterial(5,"AIR$",0.14610E+02,0.73000E+01,0.12050E-02,0.30423E+05,0.99900E+03);
287   AliMedium(5,"AIR$",5,0,ifield,fieldm,tmaxfdAir,stemaxAir,deemaxAir,epsilAir,stminAir);
288
289   AliMaterial(6,"GEN AIR$",0.14610E+02,0.73000E+01,0.12050E-02,0.30423E+05,0.99900E+03);
290   AliMedium(6,"GEN AIR$",6,0,ifield,fieldm,tmaxfdAir,stemaxAir,deemaxAir,epsilAir,stminAir);
291
292   AliMaterial(7,"SDD SI CHIP$",0.374952E+02,0.178184E+02,0.24485E+01,0.76931E+01,0.99900E+03);
293   AliMedium(7,"SDD SI CHIP$",7,0,ifield,fieldm,tmaxfdSi,stemaxSi,deemaxSi,epsilSi,stminSi);
294
295   AliMaterial(9,"SDD C (M55J)$",0.123565E+02,0.64561E+01,0.18097E+01,0.229570E+02,0.99900E+03);
296   AliMedium(9,"SDD C (M55J)$",9,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
297
298   AliMaterial(10,"SDD AIR$",0.14610E+02,0.73000E+01,0.12050E-02,0.30423E+05,0.99900E+03);
299   AliMedium(10,"SDD AIR$",10,0,ifield,fieldm,tmaxfdAir,stemaxAir,deemaxAir,epsilAir,stminAir);
300
301   AliMaterial(11,"AL$",0.26982E+02,0.13000E+02,0.26989E+01,0.89000E+01,0.99900E+03);
302   AliMedium(11,"AL$",11,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
303
304   AliMaterial(12,"WATER$",0.14322E+02,0.72167E+01,0.10000E+01,0.35759E+02,0.94951E+02);
305   AliMedium(12,"WATER$",12,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
306
307   AliMixture(13,"Freon$",afre,zfre,densfre,-2,wfre);
308   AliMedium(13,"Freon$",13,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
309
310   AliMaterial(14,"COPPER$",0.63546E+02,0.29000E+02,0.89600E+01,0.14300E+01,0.99900E+03);
311   AliMedium(14,"COPPER$",14,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
312
313   AliMaterial(15,"CERAMICS$",0.22314E+02,0.10856E+02,0.36000E+01,0.76200E+01,0.31901E+02);
314   AliMedium(15,"CERAMICS$",15,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
315
316   AliMaterial(20,"SSD C (M55J)$",0.12011E+02,0.60000E+01,0.1930E+01,0.22100E+02,0.99900E+03);
317   AliMedium(20,"SSD C (M55J)$",20,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
318
319   AliMaterial(21,"SSD AIR$",0.14610E+02,0.73000E+01,0.12050E-02,0.30423E+05,0.99900E+03);
320   AliMedium(21,"SSD AIR$",21,0,ifield,fieldm,tmaxfdAir,stemaxAir,deemaxAir,epsilAir,stminAir);
321
322   AliMaterial(25,"G10FR4$",0.17749E+02,0.88750E+01,0.18000E+01,0.21822E+02,0.99900E+03);
323   AliMedium(25,"G10FR4$",25,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
324
325   AliMaterial(26,"GEN C (M55J)$",0.12011E+02,0.60000E+01,0.1930E+01,0.22100E+02,0.99900E+03);
326   AliMedium(26,"GEN C (M55J)$",26,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
327
328   AliMaterial(27,"GEN Air$",0.14610E+02,0.73000E+01,0.12050E-02,0.30423E+05,0.99900E+03);
329   AliMedium(27,"GEN Air$",27,0,ifield,fieldm,tmaxfdAir,stemaxAir,deemaxAir,epsilAir,stminAir);
330
331   AliMaterial(51,"SPD SI$",0.28086E+02,0.14000E+02,0.23300E+01,0.93600E+01,0.99900E+03);
332   AliMedium(51,"SPD SI$",51,0,ifield,fieldm,tmaxfdSi,stemaxSi,deemaxSi,epsilSi,stminSi);
333
334   AliMaterial(52,"SPD SI CHIP$",0.28086E+02,0.14000E+02,0.23300E+01,0.93600E+01,0.99900E+03);
335   AliMedium(52,"SPD SI CHIP$",52,0,ifield,fieldm,tmaxfdSi,stemaxSi,deemaxSi,epsilSi,stminSi);
336
337   AliMaterial(53,"SPD SI BUS$",0.28086E+02,0.14000E+02,0.23300E+01,0.93600E+01,0.99900E+03);
338   AliMedium(53,"SPD SI BUS$",53,0,ifield,fieldm,tmaxfdSi,stemaxSi,deemaxSi,epsilSi,stminSi);
339
340   AliMaterial(54,"SPD C (M55J)$",0.12011E+02,0.60000E+01,0.1930E+01,0.22100E+02,0.99900E+03);
341   AliMedium(54,"SPD C (M55J)$",54,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
342
343   AliMaterial(55,"SPD AIR$",0.14610E+02,0.73000E+01,0.12050E-02,0.30423E+05,0.99900E+03);
344   AliMedium(55,"SPD AIR$",55,0,ifield,fieldm,tmaxfdAir,stemaxAir,deemaxAir,epsilAir,stminAir);
345
346   AliMaterial(56,"SPD KAPTON(POLYCH2)$",0.14000E+02,0.71770E+01,0.13000E+01,0.31270E+02,0.99900E+03);
347   AliMedium(56,"SPD KAPTON(POLYCH2)$",56,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
348
349   AliMaterial(61,"EPOXY$",0.17749E+02,0.88750E+01,0.18000E+01,0.21822E+02,0.99900E+03);
350   AliMedium(61,"EPOXY$",61,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
351
352   AliMaterial(62,"SILICON$",0.28086E+02,0.14000E+02,0.23300E+01,0.93600E+01,0.99900E+03);
353   AliMedium(62,"SILICON$",62,0,ifield,fieldm,tmaxfdSi,stemaxSi,deemaxSi,epsilSi,stminSi);
354
355   AliMaterial(63,"KAPTONH(POLYCH2)$",0.14000E+02,0.71770E+01,0.13000E+01,0.31270E+02,0.99900E+03);
356   AliMedium(63,"KAPTONH(POLYCH2)$",63,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
357
358   AliMaterial(64,"ALUMINUM$",0.26982E+02,0.13000E+02,0.26989E+01,0.89000E+01,0.99900E+03);
359   AliMedium(64,"ALUMINUM$",64,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
360
361   AliMaterial(65,"INOX$",0.55098E+02,0.2572E+02,0.7900E+01,0.17800E+01,0.99900E+03);
362   AliMedium(65,"INOX$",65,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
363
364   AliMaterial(68,"ROHACELL$",0.123974E+02,0.62363E+01,0.500E-01,0.80986E+03,0.99900E+03);
365   AliMedium(68,"ROHACELL$",68,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
366
367   AliMaterial(69,"SDD C AL (M55J)$",0.138802E+02,0.71315E+01,0.19837E+01,0.176542E+02,0.99900E+03);
368   AliMedium(69,"SDD C AL (M55J)$",69,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
369
370   AliMaterial(70,"SDDKAPTON (POLYCH2)$",0.14000E+02,0.71770E+01,0.13000E+01,0.31270E+02,0.99900E+03);
371   AliMedium(70,"SDDKAPTON (POLYCH2)$",70,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
372
373   AliMaterial(71,"ITS SANDW A$",0.12011E+02,0.60000E+01,0.2115E+00,0.17479E+03,0.99900E+03);
374   AliMedium(71,"ITS SANDW A$",71,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
375
376   AliMaterial(72,"ITS SANDW B$",0.12011E+02,0.60000E+01,0.27000E+00,0.18956E+03,0.99900E+03);
377   AliMedium(72,"ITS SANDW B$",72,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
378
379   AliMaterial(73,"ITS SANDW C$",0.12011E+02,0.60000E+01,0.41000E+00,0.90868E+02,0.99900E+03);
380   AliMedium(73,"ITS SANDW C$",73,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
381
382   AliMaterial(74,"HEAT COND GLUE$",0.12011E+02,0.60000E+01,0.1930E+01,0.22100E+02,0.99900E+03);
383   AliMedium(74,"HEAT COND GLUE$",74,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
384
385   AliMaterial(75,"ELASTO SIL$",0.28086E+02,0.14000E+02,0.23300E+01,0.93600E+01,0.99900E+03);
386   AliMedium(75,"ELASTO SIL$",75,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
387
388   AliMaterial(76,"SPDBUS(AL+KPT+EPOX)$",0.19509E+02,0.96502E+01,0.19060E+01,0.15413E+02,0.99900E+03);
389   AliMedium(76,"SPDBUS(AL+KPT+EPOX)$",76,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
390                
391   AliMaterial(77,"SDD X7R capacitors$",0.1157516E+03,0.477056E+02,0.67200E+01,0.14236E+01,0.99900E+03);
392   AliMedium(77,"SDD X7R capacitors$",77,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
393
394   AliMaterial(78,"SDD ruby sph. Al2O3$",0.218101E+02,0.106467E+02,0.39700E+01,0.48539E+01,0.99900E+03);
395   AliMedium(78,"SDD ruby sph. Al2O3$",78,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
396
397   AliMaterial(79,"SDD SI insensitive$",0.28086E+02,0.14000E+02,0.23300E+01,0.93600E+01,0.99900E+03);
398   AliMedium(79,"SDD SI insensitive$",79,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
399
400   AliMaterial(80,"SDD HV microcable$",0.159379E+02,0.78598E+01,0.16087E+01,0.217906E+02,0.99900E+03);
401   AliMedium(80,"SDD HV microcable$",80,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
402
403   AliMaterial(81,"SDD LV+signal cable$",0.223689E+02,0.108531+02,0.21035E+01,0.13440E+02,0.99900E+03);
404   AliMedium(81,"SDD LV+signal cable$",81,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
405
406   AliMaterial(82,"SDD hybrid microcab$",0.218254E+02,0.106001E+02,0.20502E+01,0.137308E+02,0.99900E+03);
407   AliMedium(82,"SDD hybrid microcab$",82,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
408
409   AliMaterial(83,"SDD anode microcab$",0.186438E+02,0.91193E+01,0.17854E+01,0.176451E+02,0.99900E+03);
410   AliMedium(83,"SDD anode microcab$",83,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
411
412   AliMaterial(84,"SDD/SSD rings$",0.123565E+02,0.64561E+01,0.18097E+01,0.229570E+02,0.99900E+03);
413   AliMedium(84,"SDD/SSD rings$",84,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
414
415   AliMaterial(85,"inox/alum$",0.321502E+02,0.153383E+02,0.30705E+01,0.69197E+01,0.99900E+03);
416   AliMedium(85,"inox/alum$",85,0,ifield,fieldm,tmaxfd,stemax,deemax,epsil,stmin);
417
418
419   // Special media
420
421   AliMaterial(90,"SPD shield$", 12.011, 6., 1.93/10. , 22.1*10., 999);
422   AliMedium(90,"SPD shield$",90,0,ifield,fieldm,tmaxfdServ,stemaxServ,deemaxServ,epsilServ,stminServ);
423
424   AliMaterial(91, "SPD End ladder$", 47.0447, 21.7963, 3.6374, 4.4711, 999); 
425   AliMedium(91,"SPD End ladder$",91,0,ifield,fieldm,tmaxfdServ,stemaxServ,deemaxServ,epsilServ,stminServ);
426
427   AliMaterial(92, "SPD cone$",28.0855, 14., 2.33, 9.36, 999);    
428   AliMedium(92,"SPD cone$",92,0,ifield,fieldm,tmaxfdServ,stemaxServ,deemaxServ,epsilServ,stminServ);
429
430   AliMaterial(93, "SDD End ladder$", 69.9298, 29.8246, 0.3824, 36.5103, 999); 
431   AliMedium(93,"SDD End ladder$",93,0,ifield,fieldm,tmaxfdServ,stemaxServ,deemaxServ,epsilServ,stminServ);
432
433   AliMaterial(94, "SDD cone$",63.546, 29., 1.15, 1.265, 999);
434   AliMedium(94,"SDD cone$",94,0,ifield,fieldm,tmaxfdServ,stemaxServ,deemaxServ,epsilServ,stminServ);
435
436   AliMaterial(95, "SSD End ladder$", 32.0988, 15.4021, 0.68, 35.3238, 999); 
437   AliMedium(95,"SSD End ladder$",95,0,ifield,fieldm,tmaxfdServ,stemaxServ,deemaxServ,epsilServ,stminServ);
438   
439   AliMaterial(96, "SSD cone$",63.546, 29., 1.15, 1.265, 999);
440   AliMedium(96,"SSD cone$",96,0,ifield,fieldm,tmaxfdServ,stemaxServ,deemaxServ,epsilServ,stminServ);
441 }
442 //______________________________________________________________________
443 void AliITSv11::InitAliITSgeom(){
444     // Based on the geometry tree defined in Geant 3.21, this
445     // routine initilizes the Class AliITSgeom from the Geant 3.21 ITS 
446     // geometry sturture.
447     // Inputs:
448     //   none.
449     // Outputs:
450     //   none.
451     // Return
452     //   none.
453 }
454 //______________________________________________________________________
455 void AliITSv11::Init(){
456     // Initialise the ITS after it has been created.
457     // Inputs:
458     //   none.
459     // Outputs:
460     //   none.
461     // Return
462     //   none.
463 }
464 //______________________________________________________________________
465 void AliITSv11::SetDefaults(){
466     // Sets the default segmentation, response, digit and raw cluster 
467     // classes to be used. These defaults can be overwritten in the
468     // macros that do these later steps. Defaults are give hear for the
469     // general user.
470     // Inputs:
471     //   none.
472     // Outputs:
473     //   none.
474     // Return
475     //   none.
476 }
477 //______________________________________________________________________
478 void AliITSv11::DrawModule(){
479     // Draw a standard set of shaded view of the ITS version 11.
480     // Inputs:
481     //   none.
482     // Outputs:
483     //   none.
484     // Return
485     //   none.
486 }
487 //______________________________________________________________________
488 void AliITSv11::StepManager(){
489     // Called for every step in the ITS, then calles the AliITShit class
490     // creator with the information to be recoreded about that hit.
491     //  The value of the macro ALIITSPRINTGEOM if set to 1 will allow the
492     // printing of information to a file which can be used to create a .det
493     // file read in by the routine CreateGeometry(). If set to 0 or any other
494     // value except 1, the default behavior, then no such file is created nor
495     // is the extra variables and the like used in the printing allocated.
496 }
497