]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PHOS/AliPHOSEMCAGeometry.cxx
Abort in case unexisting geometry is invoked
[u/mrichter/AliRoot.git] / PHOS / AliPHOSEMCAGeometry.cxx
CommitLineData
2f2c3b32 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)
a3dfe79c 20// Its data members provide geometry parametrization of EMCA
21// which can be changed in the constructor only.
22// Author : Yves Schutz (SUBATECH)
23// Modified : Yuri Kharlov (IHEP, Protvino)
24// 13 September 2000
25
2f2c3b32 26// --- AliRoot header files ---
27
28#include "AliPHOSEMCAGeometry.h"
29
30ClassImp(AliPHOSEMCAGeometry) ;
31
32//____________________________________________________________________________
33AliPHOSEMCAGeometry::AliPHOSEMCAGeometry()
34{
35
36 // Initializes the EMC parameters
37
38 fNPhi = 64 ;
39 fNZ = 64 ;
40
41 fXtlSize[0] = 2.2 ;
9f418137 42 fXtlSize[1] = 18.0 ;
2f2c3b32 43 fXtlSize[2] = 2.2 ;
44
45 // all these numbers coming next are subject to changes
46
ed4205d8 47 fOuterBoxThickness[0] = 2.5 ;
2f2c3b32 48 fOuterBoxThickness[1] = 5.0 ;
49 fOuterBoxThickness[2] = 5.0 ;
50
51 fUpperPlateThickness = 4.0 ;
52
53 fSecondUpperPlateThickness = 5.0 ;
54
55 fCrystalSupportHeight = 6.95 ;
56 fCrystalWrapThickness = 0.01 ;
57 fCrystalHolderThickness = 0.005 ;
58 fModuleBoxThickness = 2.0 ;
59 fIPtoOuterCoverDistance = 447.0 ;
60 fIPtoCrystalSurface = 460.0 ;
61
50abc6f8 62 //fPinDiodeSize[0] = 1.71 ; //Values of ame PIN diode
9f418137 63 //fPinDiodeSize[1] = 0.0280 ; // OHO 0.0280 is the depth of active layer
50abc6f8 64 //fPinDiodeSize[2] = 1.61 ;
65
66 fPinDiodeSize[0] = 0.5000 ; // APD 5 mm side
67 //fPinDiodeSize[1] = 0.0200 ; // APD bulk thickness
68 fPinDiodeSize[1] = 0.0100 ; // APD bulk thickness
9f418137 69 //According to Y. M. (cms) is it 50 micrometer I use 100 micrometers OHO
50abc6f8 70 fPinDiodeSize[2] = 0.5000 ; // APD 5 mm side
71
2f2c3b32 72 fUpperCoolingPlateThickness = 0.06 ;
73 fSupportPlateThickness = 10.0 ;
74 fLowerThermoPlateThickness = 3.0 ;
75 fLowerTextolitPlateThickness = 1.0 ;
76 fGapBetweenCrystals = 0.03 ;
77
78 fTextolitBoxThickness[0] = 1.5 ;
79 fTextolitBoxThickness[1] = 0.0 ;
80 fTextolitBoxThickness[2] = 3.0 ;
81
ed4205d8 82 fAirThickness[0] = 0.4 ;
2f2c3b32 83 fAirThickness[1] = 20.5175 ;
84 fAirThickness[2] = 2.48 ;
85
86 Float_t xtalModulePhiSize = fNPhi * ( fXtlSize[0] + 2 * fGapBetweenCrystals ) ;
87 Float_t xtalModuleZSize = fNZ * ( fXtlSize[2] + 2 * fGapBetweenCrystals ) ;
88
89 // The next dimensions are calculated from the above parameters
90
91 fOuterBoxSize[0] = xtalModulePhiSize + 2 * ( fAirThickness[0] + fModuleBoxThickness
92 + fTextolitBoxThickness[0] + fOuterBoxThickness[0] ) ;
93 fOuterBoxSize[1] = ( fXtlSize[1] + fCrystalSupportHeight + fCrystalWrapThickness + fCrystalHolderThickness )
94 + 2 * (fAirThickness[1] + fModuleBoxThickness + fTextolitBoxThickness[1] + fOuterBoxThickness[1] ) ;
95 fOuterBoxSize[2] = xtalModuleZSize + 2 * ( fAirThickness[2] + fModuleBoxThickness
96 + fTextolitBoxThickness[2] + fOuterBoxThickness[2] ) ;
97
98 fTextolitBoxSize[0] = fOuterBoxSize[0] - 2 * fOuterBoxThickness[0] ;
99 fTextolitBoxSize[1] = fOuterBoxSize[1] - fOuterBoxThickness[1] - fUpperPlateThickness ;
100 fTextolitBoxSize[2] = fOuterBoxSize[2] - 2 * fOuterBoxThickness[2] ;
101
102 fAirFilledBoxSize[0] = fTextolitBoxSize[0] - 2 * fTextolitBoxThickness[0] ;
103 fAirFilledBoxSize[1] = fTextolitBoxSize[1] - fSecondUpperPlateThickness ;
104 fAirFilledBoxSize[2] = fTextolitBoxSize[2] - 2 * fTextolitBoxThickness[2] ;
a16982ea 105 fRotMatrixArray = 0;
2f2c3b32 106}
107//____________________________________________________________________________