]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PHOS/AliPHOSEMCAGeometry.cxx
EMCA geometry class to correct previous name-convetion rule violation
[u/mrichter/AliRoot.git] / PHOS / AliPHOSEMCAGeometry.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 /* $Id$ */
17
18 //_________________________________________________________________________
19 // Geometry class  for PHOS : EMCA (Electromagnetic Calorimeter)  
20 //                  
21 //*-- Author   : Yves Schutz (SUBATECH)
22 //    Modified : Yuri Kharlov (IHEP, Protvino) 13 September 2000
23 //
24 // --- AliRoot header files ---
25
26 #include "AliPHOSEMCAGeometry.h"
27
28 ClassImp(AliPHOSEMCAGeometry) ;
29
30 //____________________________________________________________________________
31 AliPHOSEMCAGeometry::AliPHOSEMCAGeometry()
32 {
33
34   // Initializes the EMC parameters
35
36   fNPhi       = 64 ; 
37   fNZ         = 64 ; 
38
39   fXtlSize[0] =  2.2 ;
40   fXtlSize[1] = 18.0 ;
41   fXtlSize[2] =  2.2 ;
42
43   // all these numbers coming next are subject to changes
44
45   fOuterBoxThickness[0] = 2.8 ;
46   fOuterBoxThickness[1] = 5.0 ;      
47   fOuterBoxThickness[2] = 5.0 ;
48   
49   fUpperPlateThickness  = 4.0 ;
50   
51   fSecondUpperPlateThickness = 5.0 ; 
52   
53   fCrystalSupportHeight   = 6.95 ; 
54   fCrystalWrapThickness   = 0.01 ;
55   fCrystalHolderThickness = 0.005 ;
56   fModuleBoxThickness     = 2.0 ; 
57   fIPtoOuterCoverDistance = 447.0 ;      
58   fIPtoCrystalSurface     = 460.0 ;  
59   
60   fPinDiodeSize[0] = 1.71 ;   //Values given by Odd Harald feb 2000  
61   fPinDiodeSize[1] = 0.0280 ; // 0.0280 is the depth of active layer in the silicon     
62   fPinDiodeSize[2] = 1.61 ;    
63   
64   fUpperCoolingPlateThickness   = 0.06 ; 
65   fSupportPlateThickness        = 10.0 ;
66   fLowerThermoPlateThickness    =  3.0 ; 
67   fLowerTextolitPlateThickness  =  1.0 ;
68   fGapBetweenCrystals           = 0.03 ;
69   
70   fTextolitBoxThickness[0] = 1.5 ;  
71   fTextolitBoxThickness[1] = 0.0 ;   
72   fTextolitBoxThickness[2] = 3.0 ; 
73   
74   fAirThickness[0] =  1.56   ;
75   fAirThickness[1] = 20.5175 ;  
76   fAirThickness[2] =  2.48   ;  
77   
78   Float_t xtalModulePhiSize =  fNPhi * ( fXtlSize[0] + 2 * fGapBetweenCrystals ) ; 
79   Float_t xtalModuleZSize   =  fNZ   * ( fXtlSize[2] + 2 * fGapBetweenCrystals ) ;
80   
81   // The next dimensions are calculated from the above parameters
82   
83   fOuterBoxSize[0] =  xtalModulePhiSize + 2 * ( fAirThickness[0] + fModuleBoxThickness
84                                                 + fTextolitBoxThickness[0] + fOuterBoxThickness[0] ) ; 
85   fOuterBoxSize[1] = ( fXtlSize[1] + fCrystalSupportHeight + fCrystalWrapThickness + fCrystalHolderThickness )
86     + 2 * (fAirThickness[1] +  fModuleBoxThickness + fTextolitBoxThickness[1] + fOuterBoxThickness[1] ) ;
87   fOuterBoxSize[2] =  xtalModuleZSize   + 2 * ( fAirThickness[2] + fModuleBoxThickness 
88                                                 + fTextolitBoxThickness[2] + fOuterBoxThickness[2] ) ; 
89   
90   fTextolitBoxSize[0]  = fOuterBoxSize[0] - 2 * fOuterBoxThickness[0] ;
91   fTextolitBoxSize[1]  = fOuterBoxSize[1] -  fOuterBoxThickness[1] - fUpperPlateThickness ;
92   fTextolitBoxSize[2]  = fOuterBoxSize[2] - 2 * fOuterBoxThickness[2] ;
93   
94   fAirFilledBoxSize[0] =  fTextolitBoxSize[0] - 2 * fTextolitBoxThickness[0] ; 
95   fAirFilledBoxSize[1] =  fTextolitBoxSize[1] - fSecondUpperPlateThickness ; 
96   fAirFilledBoxSize[2] =  fTextolitBoxSize[2] - 2 * fTextolitBoxThickness[2] ; 
97   
98 }
99 //____________________________________________________________________________