]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PHOS/AliEMCAGeometry.h
New class AliPHOSCPVDigit
[u/mrichter/AliRoot.git] / PHOS / AliEMCAGeometry.h
CommitLineData
8ad94423 1#ifndef ALIEMCAGEOMETRY_H
2#define ALIEMCAGEOMETRY_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
7
8//_________________________________________________________________________
9// Geometry class for PHOS : EMCA (Electromagnetic Calirometer)
10//
11//*-- Author: Yves Schutz (Subatech)
12// Modified: Yuri Kharlov (IHEP, Protvino)
13// 15 September 2000
14
15// --- ROOT system ---
16
17#include "TObjArray.h"
18
19// --- AliRoot header files ---
20
21class AliEMCAGeometry : public TObject {
22
23public:
24
25 AliEMCAGeometry();
26 virtual ~AliEMCAGeometry(void) {}
27
28 Float_t GetAirFilledBoxSize(Int_t index) const {
29 return fAirFilledBoxSize[index] ;}
30 Float_t GetCrystalHolderThickness(void) const {
31 return fCrystalHolderThickness ; }
32 Float_t GetCrystalSize(Int_t index) const {
33 return fXtlSize[index] ; }
34 Float_t GetCrystalSupportHeight(void) const {
35 return fCrystalSupportHeight ; }
36 Float_t GetCrystalWrapThickness(void) const {
37 return fCrystalWrapThickness;}
38 Float_t GetGapBetweenCrystals(void) const {
39 return fGapBetweenCrystals ; }
40 Float_t GetIPtoCrystalSurface(void) const {
41 return fIPtoCrystalSurface ; }
42 Float_t GetIPtoOuterCoverDistance(void) const {
43 return fIPtoOuterCoverDistance ; }
44 Float_t GetLowerThermoPlateThickness(void) const {
45 return fLowerThermoPlateThickness ; }
46 Float_t GetLowerTextolitPlateThickness(void) const {
47 return fLowerTextolitPlateThickness ; }
48 Float_t GetModuleBoxThickness(void) const {
49 return fModuleBoxThickness ; }
50 Int_t GetNPhi(void) const {
51 return fNPhi ; }
52 Int_t GetNZ(void) const {
53 return fNZ ; }
54 Float_t GetOuterBoxSize(Int_t index) const {
55 return fOuterBoxSize[index] ; }
56 Float_t GetOuterBoxThickness(Int_t index) const {
57 return fOuterBoxThickness[index] ; }
58 Float_t GetPinDiodeSize(Int_t index) const {
59 return fPinDiodeSize[index] ; }
60 Float_t GetSecondUpperPlateThickness(void) const {
61 return fSecondUpperPlateThickness ; }
62 Float_t GetSupportPlateThickness(void) const {
63 return fSupportPlateThickness ; }
64 Float_t GetTextolitBoxSize(Int_t index) const {
65 return fTextolitBoxSize[index] ; }
66 Float_t GetTextolitBoxThickness(Int_t index) const {
67 return fTextolitBoxThickness[index]; }
68 Float_t GetUpperPlateThickness(void) const {
69 return fUpperPlateThickness ; }
70 Float_t GetUpperCoolingPlateThickness(void) const {
71 return fUpperCoolingPlateThickness ; }
72
73private:
74
75 Float_t fAirFilledBoxSize[3] ; // Air filled box containing one module
76 Float_t fAirThickness[3] ; // Space filled with air between the module box and the Textolit box
77 Float_t fCrystalSupportHeight ; // Height of the support of the crystal
78 Float_t fCrystalWrapThickness ; // Thickness of Tyvek wrapping the crystal
79 Float_t fCrystalHolderThickness ; // Titanium holder of the crystal
80 Float_t fGapBetweenCrystals ; // Total Gap between two adjacent crystals
81 Float_t fIPtoOuterCoverDistance ; // Distances from interaction point to outer cover
82 Float_t fIPtoCrystalSurface ; // Distances from interaction point to Xtal surface
83 Float_t fModuleBoxThickness ; // Thickness of the thermo insulating box containing one crystals module
84 Float_t fLowerTextolitPlateThickness ; // Thickness of lower textolit plate
85 Float_t fLowerThermoPlateThickness ; // Thickness of lower thermo insulating plate
86 Int_t fNPhi ; // Number of crystal units in X (phi) direction
87 Int_t fNZ ; // Number of crystal units in Z direction
88 Float_t fOuterBoxSize[3] ; // Size of the outer thermo insulating foam box
89 Float_t fOuterBoxThickness[3] ; // Thickness of the outer thermo insulating foam box
90 Float_t fPinDiodeSize[3] ; // Size of the PIN Diode
91 TObjArray * fRotMatrixArray ; // Liste of rotation matrices (one per phos module)
92 Float_t fSecondUpperPlateThickness ; // Thickness of upper polystyrene foam plate
93 Float_t fSupportPlateThickness ; // Thickness of the Aluminium support plate
94 Float_t fUpperCoolingPlateThickness ; // Thickness of the upper cooling plate
95 Float_t fUpperPlateThickness ; // Thickness of the uper thermo insulating foam plate
96 Float_t fTextolitBoxSize[3] ; // Size of the Textolit box inside the insulating foam box
97 Float_t fTextolitBoxThickness[3] ; // Thicknesses of th Textolit box
98 Float_t fXtlSize[3] ; // PWO4 crystal dimensions
99
100 ClassDef(AliEMCAGeometry,1) // EMCA geometry class
101
102} ;
103
104#endif // AliEMCAGEOMETRY_H