- void SetPHOSAngles() ; // calculates the PHOS modules PHI angle
-
- ///////////// PHOS related parameters
-
- Float_t fAirFilledBoxSize[3] ; // Air filled box containing one module
- Float_t fAirThickness[3] ; // Space filled with air between the module box and the Textolit box
- Float_t fCrystalSupportHeight ; // Height of the support of the crystal
- Float_t fCrystalWrapThickness ; // Thickness of Tyvek wrapping the crystal
- Float_t fCrystalHolderThickness ; // Titanium holder of the crystal
- Float_t fGapBetweenCrystals ; // Total Gap between two adjacent crystals
- Bool_t fInit ; // Tells if geometry has been succesfully set up
- Float_t fIPtoOuterCoverDistance ; // Distances from interaction point to outer cover
- Float_t fIPtoCrystalSurface ; // Distances from interaction point to Xtal surface
- Float_t fModuleBoxThickness ; // Thickness of the thermo insulating box containing one crystals module
- Float_t fLowerTextolitPlateThickness ; // Thickness of lower textolit plate
- Float_t fLowerThermoPlateThickness ; // Thickness of lower thermo insulating plate
- Int_t fNModules ; // Number of modules constituing PHOS
- Int_t fNPhi ; // Number of crystal units in X (phi) direction
- Int_t fNZ ; // Number of crystal units in Z direction
- Float_t fOuterBoxSize[3] ; // Size of the outer thermo insulating foam box
- Float_t fOuterBoxThickness[3] ; // Thickness of the outer thermo insulating foam box
- Float_t * fPHOSAngle ; //[fNModules] Position angles of modules
- Float_t fPinDiodeSize[3] ; // Size of the PIN Diode
- TObjArray * fRotMatrixArray ; // Liste of rotation matrices (one per phos module)
- Float_t fSecondUpperPlateThickness ; // Thickness of upper polystyrene foam plate
- Float_t fSupportPlateThickness ; // Thickness of the Aluminium support plate
- Float_t fUpperCoolingPlateThickness ; // Thickness of the upper cooling plate
- Float_t fUpperPlateThickness ; // Thickness of the uper thermo insulating foam plate
- Float_t fTextolitBoxSize[3] ; // Size of the Textolit box inside the insulating foam box
- Float_t fTextolitBoxThickness[3] ; // Thicknesses of th Textolit box
- Float_t fXtlSize[3] ; // PWO4 crystal dimensions
-
-
- ///////////// PPSD (PHOS PRE SHOWER DETECTOR) related parameters
-
- Float_t fAnodeThickness ; // Thickness of the copper layer which makes the anode
- Float_t fAvalancheGap ; // Thickness of the gas in the avalanche stage
- Float_t fCathodeThickness ; // Thickeness of composite material ensuring rigidity of cathode
- Float_t fCompositeThickness ; // Thickeness of composite material ensuring rigidity of anode
- Float_t fConversionGap ; // Thickness of the gas in the conversion stage
- Float_t fIPtoTopLidDistance ; // Distance from interaction point to top lid of PPSD
- Float_t fLeadConverterThickness ; // Thickness of the Lead converter
- Float_t fLeadToMicro2Gap ; // Thickness of the air gap between the Lead and Micromegas 2
- Float_t fLidThickness ; // Thickness of top lid
- Float_t fMicromegas1Thickness ; // Thickness of the first downstream Micromegas
- Float_t fMicromegas2Thickness ; // Thickness of the second downstream Micromegas
- Float_t fMicromegasWallThickness ; // Thickness of the Micromegas leak tight box
- Float_t fMicro1ToLeadGap ; // Thickness of the air gap between Micromegas 1 and the Lead
- Int_t fNumberOfPadsPhi ; // Number of pads on a micromegas module ;
- Int_t fNumberOfPadsZ ; // Number of pads on a micromegas module ;
- Int_t fNumberOfModulesPhi ; // Number of micromegas modules in phi
- Int_t fNumberOfModulesZ ; // Number of micromegas modules in z
- Float_t fPCThickness ; // Thickness of the printed circuit board of the anode
- Float_t fPhiDisplacement ; // Phi displacement of micromegas1 with respect to micromegas2
- Float_t fPPSDBoxSize[3] ; // Size of large box which contains PPSD; matches PHOS module size
- Float_t fPPSDModuleSize[3] ; // Size of an individual micromegas module
- Float_t fZDisplacement ; // Z displacement of micromegas1 with respect to micromegas2
+ Int_t fNModules ; // Number of modules constituing PHOS
+ Float_t fAngle ; // Position angles between modules
+ Float_t *fPHOSAngle ; //[fNModules] Position angles of modules
+ Float_t fPHOSParams[4] ; // Half-sizes of PHOS trapecoid
+ Float_t fIPtoUpperCPVsurface; // Minimal distance from IP to PHOS
+ Float_t fCrystalShift ; //Distance from crystal center to front surface
+ Float_t fCryCellShift ; //Distance from crystal center to front surface
+ TObjArray *fRotMatrixArray ; // Liste of rotation matrices (one per phos module)
+ AliPHOSEMCAGeometry *fGeometryEMCA ; // Geometry object for Electromagnetic calorimeter
+ AliPHOSCPVGeometry *fGeometryCPV ; // Geometry object for CPV (IHEP)
+ AliPHOSSupportGeometry *fGeometrySUPP ; // Geometry object for PHOS support
+ Float_t fModuleCenter[5][3]; // xyz-position of the module center
+ Float_t fModuleAngle[5][3][2]; // polar and azymuth angles for 3 axes of modules
+
+ void SetPHOSAngles(); // calculates the PHOS modules PHI angle