LCOV - code coverage report
Current view: top level - PHOS/PHOSUtils - AliPHOSEMCAGeometry.cxx (source / functions) Hit Total Coverage
Test: coverage.info Lines: 217 217 100.0 %
Date: 2016-06-14 17:26:59 Functions: 3 3 100.0 %

          Line data    Source code
       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             : // 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             : // Modified : Dmitri Peressounko (RRC "Kurchatov Institute")
      26             : // 6 August 2001
      27             : 
      28             : // --- AliRoot header files ---
      29             : 
      30             : #include "AliPHOSEMCAGeometry.h"
      31             : 
      32          46 : ClassImp(AliPHOSEMCAGeometry)
      33             : 
      34             : //____________________________________________________________________________
      35           3 : AliPHOSEMCAGeometry::AliPHOSEMCAGeometry():
      36           3 :                      fAirGapLed(0.f),
      37           3 :                      fStripWallWidthOut(0.f),
      38           3 :                      fStripWallWidthIn(0.f),
      39           3 :                      fTyvecThickness(0.f),
      40           3 :                      fInnerThermoWidthX(0.f),
      41           3 :                      fInnerThermoWidthY(0.f),
      42           3 :                      fInnerThermoWidthZ(0.f),
      43           3 :                      fAirGapWidthX(0.f),
      44           3 :                      fAirGapWidthY(0.f),
      45           3 :                      fAirGapWidthZ(0.f),
      46           3 :                      fCoolerWidthX(0.f),
      47           3 :                      fCoolerWidthY(0.f),
      48           3 :                      fCoolerWidthZ(0.f),
      49           3 :                      fAlCoverThickness(0.f),
      50           3 :                      fOuterThermoWidthXUp(0.f),
      51           3 :                      fOuterThermoWidthXLow(0.f),
      52           3 :                      fOuterThermoWidthY(0.f),
      53           3 :                      fOuterThermoWidthZ(0.f),
      54           3 :                      fAlFrontCoverX(0.f),
      55           3 :                      fAlFrontCoverZ(0.f),
      56           3 :                      fFiberGlassSup2X(0.f),
      57           3 :                      fFiberGlassSup1X(0.f),
      58           3 :                      fFrameHeight(0.f),
      59           3 :                      fFrameThickness(0.f),
      60           3 :                      fAirSpaceFeeX(0.f),
      61           3 :                      fAirSpaceFeeZ(0.f),
      62           3 :                      fAirSpaceFeeY(0.f),
      63           3 :                      fWarmUpperThickness(0.f),
      64           3 :                      fWarmBottomThickness(0.f),
      65           3 :                      fWarmAlCoverWidthX(0.f),
      66           3 :                      fWarmAlCoverWidthY(0.f),
      67           3 :                      fWarmAlCoverWidthZ(0.f),
      68           3 :                      fFiberGlassSup1Y(0.f),
      69           3 :                      fFiberGlassSup2Y(0.f),
      70           3 :                      fTSupportDist(0.f),
      71           3 :                      fTSupport1Thickness(0.f),
      72           3 :                      fTSupport2Thickness(0.f),
      73           3 :                      fTSupport1Width(0.f),
      74           3 :                      fTSupport2Width(0.f),
      75           3 :                      fIPtoOuterCoverDistance(0.f),
      76           3 :                      fIPtoCrystalSurface(0.f),
      77           3 :                      fSupportPlateThickness(0.f),
      78           3 :                      fNCellsXInStrip(0),
      79           3 :                      fNCellsZInStrip(0),
      80           3 :                      fNStripX(0),
      81           3 :                      fNStripZ(0),
      82           3 :                      fNTSupports(0),
      83           3 :                      fNPhi(0),
      84           3 :                      fNZ(0)
      85          15 : {
      86             : 
      87             : 
      88             :   // Initializes the EMC parameters
      89             :   // Coordinate system chosen: x across beam, z along beam, y out of beam.
      90             :   // Reference point for all volumes incide module is 
      91             :   // center of module in x,z on the upper surface of support beam
      92             : 
      93             :   //Distance from IP to surface of the crystals
      94           3 :   fIPtoCrystalSurface     = 460.0 ;    
      95             : 
      96             : 
      97             :   //CRYSTAL
      98             : 
      99           3 :   fCrystalHalfSize[0] =  2.2 /2 ;  //Half-Sizes of crystall
     100           3 :   fCrystalHalfSize[1] = 18.0 /2 ;
     101           3 :   fCrystalHalfSize[2] =  2.2 /2 ;
     102             : 
     103             :   //APD + preamplifier
     104             : 
     105             :   //fPinDiodeSize[0] = 1.71 ;   //Values of ame PIN diode  
     106             :   //fPinDiodeSize[1] = 0.0280 ; // OHO 0.0280 is the depth of active layer
     107             :   //fPinDiodeSize[2] = 1.61 ;    
     108             :  
     109           3 :   fPinDiodeHalfSize[0] = 0.5000 /2 ;    // APD 5 mm side
     110           3 :   fPinDiodeHalfSize[1] = 0.0100 /2 ;    // APD bulk thickness
     111           3 :   fPinDiodeHalfSize[2] = 0.5000 /2 ;    // APD 5 mm side 
     112             : 
     113           3 :   fPreampHalfSize[0] = 1.5 / 2 ;       // Preamplifier
     114           3 :   fPreampHalfSize[1] = 0.5 / 2 ;
     115           3 :   fPreampHalfSize[2] = 1.5 / 2 ;
     116             : 
     117             :   //Strip unit (8x2 crystals)
     118             : 
     119           3 :   fNCellsXInStrip =  8 ;       //Number of crystals in strip unit along x-axis
     120           3 :   fNCellsZInStrip =  2 ;       //Number of crystals in strip unit along z-axis
     121           3 :   fNStripX        =  8 ;       //Number of strip units across along x-axis
     122           3 :   fNStripZ        = 28 ;       //Number of strips along z-axis
     123             : 
     124           3 :   fStripWallWidthOut = 0.01 ;  // Side to another strip  
     125           3 :   fStripWallWidthIn  = 0.02 ;  // Side betveen crystals in one strip
     126             : 
     127           3 :   fTyvecThickness = 0.0175 ;     //Thickness of the tyvec
     128             : 
     129           3 :   fAirGapLed = 1.5 - 2 * fPreampHalfSize[1] - 2 * fPinDiodeHalfSize[1] ; // Air gap before crystalls for LED system
     130             :                                            // Note, that Cell in Strip 1.5 longer then crystall
     131             : 
     132             :   //---Now calculate thechnical sizes for GEANT implementation
     133             : 
     134           3 :   fWrappedHalfSize[0] = (2*fTyvecThickness + 2*fCrystalHalfSize[0])/2 ;   //This will be size of crystall
     135           3 :   fWrappedHalfSize[1] = fCrystalHalfSize[1] ;                             //wrapped into tyvec
     136           3 :   fWrappedHalfSize[2] = (2*fTyvecThickness + 2*fCrystalHalfSize[2])/2 ;   //
     137             : 
     138           3 :   fAirCellHalfSize[0] = fWrappedHalfSize[0] + 0.01;
     139           9 :   fAirCellHalfSize[1] = (fAirGapLed + 2*fPreampHalfSize[1] + 
     140           6 :                        2*fPinDiodeHalfSize[1] + 2*fWrappedHalfSize[1])/2 ;  //in strip
     141           3 :   fAirCellHalfSize[2] = fWrappedHalfSize[2] + 0.01;
     142             : 
     143             :   //  fSupportPlateHalfSize[0] = ( (fNCellsXInStrip-1)*fStripWallWidthIn + 2*fStripWallWidthOut + 
     144             :   //                           fNCellsXInStrip * (2*fTyvecThickness + 2*fCrystalHalfSize[0]) )/2 ;
     145           3 :   fSupportPlateHalfSize[0] = 18.04  /2 ;
     146           3 :   fSupportPlateHalfSize[1] =   6.0  /2 ;
     147             : //  fSupportPlateHalfSize[2] = ( (fNCellsZInStrip-1)*fStripWallWidthIn + 2*fStripWallWidthOut +
     148             : //                             fNCellsZInStrip * (2*fTyvecThickness + 2*fCrystalHalfSize[2]) )/2;
     149           3 :   fSupportPlateHalfSize[2] =  4.51  /2 ;
     150           3 :   fSupportPlateThickness = 0.3 ;  
     151           3 :   fSupportPlateInHalfSize[0] = fSupportPlateHalfSize[0] ;                         //Half-sizes of the air
     152           3 :   fSupportPlateInHalfSize[1] = fSupportPlateHalfSize[1]-fSupportPlateThickness ;  //box in the support plate
     153           3 :   fSupportPlateInHalfSize[2] = fSupportPlateHalfSize[2]-fSupportPlateThickness/2 ;
     154             : 
     155           3 :   fStripHalfSize[0]= fSupportPlateHalfSize[0] ;  
     156           3 :   fStripHalfSize[1]= ( 2*fSupportPlateHalfSize[1] + 2*fAirCellHalfSize[1] )/2;      
     157           3 :   fStripHalfSize[2]= fSupportPlateHalfSize[2] ;
     158             : 
     159             :   // ------- Inner hermoinsulation ---------------
     160           3 :   fInnerThermoWidthX = 2.0 ;         // Width of the innerthermoinsulation across the beam
     161           3 :   fInnerThermoWidthY = 2.0 ;         // Width of the upper cover of innerthermoinsulation 
     162           3 :   fInnerThermoWidthZ = 2.0 ;         // Width of the innerthermoinsulation along the beam
     163             : 
     164           3 :   fInnerThermoHalfSize[0] = (2 * fStripHalfSize[0] * fNStripX + 2 * fInnerThermoWidthX ) /2 ;
     165           3 :   fInnerThermoHalfSize[1] = (2 * fStripHalfSize[1] + fInnerThermoWidthY ) /2 ; 
     166           3 :   fInnerThermoHalfSize[2] = (2 * fStripHalfSize[2] * fNStripZ + 2 * fInnerThermoWidthZ ) /2 ;
     167             : 
     168             :   // ------- Air gap between inner thermoinsulation and passive coller ---------
     169             : 
     170           3 :   fAirGapWidthX = 0.2 ;         // Width of the air gap across the beam
     171           3 :   fAirGapWidthY = 0.2 ;         // Width of the upper air gap
     172           3 :   fAirGapWidthZ = 0.2 ;         // Width of the air gap along the beam
     173             : 
     174           3 :   fAirGapHalfSize[0] = (2 * fInnerThermoHalfSize[0] + 2 * fAirGapWidthX ) /2 ;
     175           3 :   fAirGapHalfSize[1] = (2 * fInnerThermoHalfSize[1] +     fAirGapWidthY ) /2 ; 
     176           3 :   fAirGapHalfSize[2] = (2 * fInnerThermoHalfSize[2] + 2 * fAirGapWidthZ ) /2 ;
     177             :   
     178             :   // ------- Passive Cooler ------------------------
     179             : 
     180           3 :   fCoolerWidthX = 2.0 ;         // Width of the passive coller across the beam 
     181           3 :   fCoolerWidthY = 0.3 ;         // Width of the upper cover of cooler
     182           3 :   fCoolerWidthZ = 2.0 ;         // Width of the passive cooler along the beam
     183             : 
     184           3 :   fCoolerHalfSize[0] = (2 * fAirGapHalfSize[0] + 2 * fCoolerWidthX ) /2 ; 
     185           3 :   fCoolerHalfSize[1] = (2 * fAirGapHalfSize[1] +     fCoolerWidthY ) /2 ; 
     186           3 :   fCoolerHalfSize[2] = (2 * fAirGapHalfSize[2] + 2 * fCoolerWidthZ ) /2 ; 
     187             : 
     188             :   // ------- Outer thermoinsulation and Al cover -------------------------------
     189             :   
     190           3 :   fAlCoverThickness = 0.1 ;   //Thickness of the Al cover of the module  
     191             : 
     192           3 :   fOuterThermoWidthXUp  = 156.0 - fAlCoverThickness ; 
     193             :                                   //width of the upper surface of the PHOS module accross the beam 
     194           3 :   fOuterThermoWidthY    = 6.0 ;   // with of the upper cover of outer thermoinsulation
     195           3 :   fOuterThermoWidthZ    = 6.0 ;   //width of the thermoinsulation along the beam 
     196             : 
     197           3 :   fAlFrontCoverX = 6.0 ;   //Width of Al strip around fiberglass window: across
     198           3 :   fAlFrontCoverZ = 6.0 ;   //and along the beam
     199             : 
     200             : 
     201             :   // Calculate distance from IP to upper cover
     202           9 :   fIPtoOuterCoverDistance = fIPtoCrystalSurface - fAirGapLed - fInnerThermoWidthY - fAirGapWidthY - 
     203           6 :                             fCoolerWidthY - fOuterThermoWidthY - fAlCoverThickness ; 
     204             : 
     205           3 :   Float_t tanA = fOuterThermoWidthXUp / (2.*fIPtoOuterCoverDistance) ; 
     206             :                   // tan(a) where A = angle between IP to center and IP to side across beam
     207             : 
     208           6 :   fOuterThermoWidthXLow = fOuterThermoWidthXUp + 
     209           3 :                           2 * (2* fCoolerHalfSize[1] + fOuterThermoWidthY) * tanA  
     210           3 :                           - fAlCoverThickness ; 
     211             :                           //width of the lower surface of the COOL section accross the beam 
     212             : 
     213             : 
     214           3 :   fOuterThermoParams[0] = fOuterThermoWidthXUp / 2 ;   // half-length along x at the z surface positioned at -DZ; 
     215           3 :   fOuterThermoParams[1] = fOuterThermoWidthXLow/ 2 ;   // half-length along x at the z surface positioned at +DZ; 
     216           3 :   fOuterThermoParams[2] = ( 2 * fCoolerHalfSize[2] + 2 * fOuterThermoWidthZ ) / 2 ;
     217             :                                                        // `half-length along the y-axis' in out case this is z axis 
     218           3 :   fOuterThermoParams[3] = ( 2* fCoolerHalfSize[1] + fOuterThermoWidthY) /2 ;    
     219             :                                                        // `half-length along the z-axis' in our case this is y axis 
     220             : 
     221           3 :   fAlCoverParams[0] = fOuterThermoParams[0] + fAlCoverThickness ;
     222           3 :   fAlCoverParams[1] = fOuterThermoParams[1] + fAlCoverThickness ;
     223           3 :   fAlCoverParams[2] = fOuterThermoParams[2] + fAlCoverThickness ;
     224           3 :   fAlCoverParams[3] = fOuterThermoParams[3] + fAlCoverThickness /2 ;
     225             : 
     226             : 
     227           3 :   fFiberGlassHalfSize[0] = fAlCoverParams[0] - fAlFrontCoverX  ;
     228           3 :   fFiberGlassHalfSize[1] = fAlCoverParams[2] - fAlFrontCoverZ  ; //Note, here other ref. system
     229           3 :   fFiberGlassHalfSize[2] = fAlCoverThickness / 2 ;
     230             : 
     231             : 
     232             :   //============Now warm section======================
     233             :   //Al Cover 
     234           3 :   fWarmAlCoverWidthX = 2 * fAlCoverParams[1] ;  //Across beam
     235           3 :   fWarmAlCoverWidthY = 159.0 ;                  //along beam
     236             : 
     237             :   //T-support
     238           3 :   fTSupport1Thickness = 3.5 ; 
     239           3 :   fTSupport2Thickness = 5.0 ; 
     240           3 :   fTSupport1Width =  10.6 ;
     241           3 :   fTSupport2Width = 3.1 ;
     242           3 :   fNTSupports = fNStripX + 1 ;
     243           3 :   fTSupportDist = 7.48 ;
     244             : 
     245             :   //Air space for FEE
     246           3 :   fAirSpaceFeeX = 148.6 ;   //Across beam
     247           3 :   fAirSpaceFeeY = 135.0 ;   //along beam
     248           3 :   fAirSpaceFeeZ =  19.0 ;   //out of beam
     249             : 
     250             :   //thermoinsulation
     251           3 :   fWarmBottomThickness = 4.0 ;
     252           3 :   fWarmUpperThickness  = 4.0 ;
     253             : 
     254             :   //Frame 
     255           3 :   fFrameThickness = 5.0 ;
     256           3 :   fFrameHeight    = 15.0 ;
     257             : 
     258             :   //Fiberglass support
     259           3 :   fFiberGlassSup1X = 6.0 ;
     260           3 :   fFiberGlassSup1Y = 3.9 + fWarmUpperThickness ; 
     261             : 
     262           3 :   fFiberGlassSup2X = 3.0 ;
     263           3 :   fFiberGlassSup2Y = fFrameHeight ;
     264             : 
     265             :   //Now calculate Half-sizes
     266             : 
     267           9 :   fWarmAlCoverWidthZ = fAirSpaceFeeZ + fWarmBottomThickness + fWarmUpperThickness +  
     268           6 :                        fTSupport1Thickness + fTSupport2Thickness ;
     269             : 
     270             : 
     271           3 :   fWarmAlCoverHalfSize[0] = fWarmAlCoverWidthX / 2 ;
     272           3 :   fWarmAlCoverHalfSize[1] = fWarmAlCoverWidthY / 2 ;
     273           3 :   fWarmAlCoverHalfSize[2] = fWarmAlCoverWidthZ / 2 ;
     274             : 
     275             :   
     276           3 :   fWarmThermoHalfSize[0] = fWarmAlCoverHalfSize[0] - fAlCoverThickness ; 
     277           3 :   fWarmThermoHalfSize[1] = fWarmAlCoverHalfSize[1] - fAlCoverThickness ; 
     278           3 :   fWarmThermoHalfSize[2] = fWarmAlCoverHalfSize[2] - fAlCoverThickness /2 ; 
     279             : 
     280             : 
     281             :   //T-support
     282           3 :   fTSupport1HalfSize[0] =  fTSupport1Width /2 ;   //Across beam
     283           3 :   fTSupport1HalfSize[1] =  (fAirSpaceFeeY + 2*fFiberGlassSup1X) /2 ;    //along beam
     284           3 :   fTSupport1HalfSize[2] =  fTSupport1Thickness  /2;    //out of beam
     285             : 
     286           3 :   fTSupport2HalfSize[0] = fTSupport2Width /2;               //Across beam  
     287           3 :   fTSupport2HalfSize[1] = fTSupport1HalfSize[1] ; //along beam
     288           3 :   fTSupport2HalfSize[2] = fTSupport2Thickness /2; //out of beam
     289             : 
     290             :   //cables
     291           3 :   fTCables1HalfSize[0] = (2*fTSupport1HalfSize[0]*fNTSupports + (fNTSupports-1)* fTSupportDist) / 2 ; //Across beam
     292           3 :   fTCables1HalfSize[1] = fTSupport1HalfSize[1] ;    //along beam
     293           3 :   fTCables1HalfSize[2] = fTSupport1HalfSize[2] ;    //out of beam
     294             : 
     295           3 :   fTCables2HalfSize[0] = fTCables1HalfSize[0]  ; //Across beam
     296           3 :   fTCables2HalfSize[1] = fTSupport2HalfSize[1] ; //along beam
     297           3 :   fTCables2HalfSize[2] = fTSupport2HalfSize[2] ; //out of beam
     298             : 
     299             :   //frame: we define two frames along beam ...Z and across beam ...X
     300           3 :   fFrameXHalfSize[0] = (fAirSpaceFeeX + 2 * fFiberGlassSup2X + 2* fFrameThickness) /2 ;
     301           3 :   fFrameXHalfSize[1] = fFrameThickness /2 ;
     302           3 :   fFrameXHalfSize[2] = fFrameHeight    /2 ;
     303             : 
     304           3 :   fFrameXPosition[0] = 0 ;
     305           3 :   fFrameXPosition[1] = fAirSpaceFeeY /2 + fFiberGlassSup2X + fFrameXHalfSize[1] ;
     306           3 :   fFrameXPosition[2] = fWarmThermoHalfSize[2] - fFrameHeight/ 2 - fWarmBottomThickness ;
     307             :     
     308           3 :   fFrameZHalfSize[0] = fFrameThickness /2 ;
     309           3 :   fFrameZHalfSize[1] = (fAirSpaceFeeY + 2 * fFiberGlassSup2X) /2 ;
     310           3 :   fFrameZHalfSize[2] = fFrameHeight    /2 ;
     311             : 
     312           3 :   fFrameZPosition[0] = fAirSpaceFeeX /2 + fFiberGlassSup2X + fFrameZHalfSize[0] ;
     313           3 :   fFrameZPosition[1] = 0 ;
     314           3 :   fFrameZPosition[2] = fWarmThermoHalfSize[2] - fFrameHeight/ 2 - fWarmBottomThickness ;
     315             : 
     316             :   //Fiberglass support define 4 fiber glass supports 2 along Z  and 2 along X
     317             :   
     318           3 :   fFGupXHalfSize[0] = fFrameXHalfSize[0] ;
     319           3 :   fFGupXHalfSize[1] = fFiberGlassSup1X /2 ;
     320           3 :   fFGupXHalfSize[2] = fFiberGlassSup1Y /2;
     321             : 
     322           3 :   fFGupXPosition[0] = 0 ;
     323           3 :   fFGupXPosition[1] = fAirSpaceFeeY /2 + fFGupXHalfSize[1] ;
     324           3 :   fFGupXPosition[2] = fWarmThermoHalfSize[2] - fFrameHeight - fWarmBottomThickness - fFGupXHalfSize[2] ; 
     325             : 
     326           3 :   fFGupZHalfSize[0] = fFiberGlassSup1X /2 ;
     327           3 :   fFGupZHalfSize[1] = fAirSpaceFeeY /2 ;
     328           3 :   fFGupZHalfSize[2] = fFiberGlassSup1Y /2;
     329             : 
     330           3 :   fFGupZPosition[0] = fAirSpaceFeeX /2 + fFGupZHalfSize[0] ;
     331           3 :   fFGupZPosition[1] = 0 ;
     332           3 :   fFGupZPosition[2] = fWarmThermoHalfSize[2] - fFrameHeight - fWarmBottomThickness - fFGupXHalfSize[2] ; 
     333             : 
     334           3 :   fFGlowXHalfSize[0] = fFrameXHalfSize[0] - 2*fFrameZHalfSize[0] ;
     335           3 :   fFGlowXHalfSize[1] = fFiberGlassSup2X /2 ;
     336           3 :   fFGlowXHalfSize[2] = fFrameXHalfSize[2] ;
     337             : 
     338           3 :   fFGlowXPosition[0] = 0 ;
     339           3 :   fFGlowXPosition[1] = fAirSpaceFeeY /2 + fFGlowXHalfSize[1] ;
     340           3 :   fFGlowXPosition[2] = fWarmThermoHalfSize[2] - fWarmBottomThickness - fFGlowXHalfSize[2] ; 
     341             : 
     342           3 :   fFGlowZHalfSize[0] = fFiberGlassSup2X /2 ;
     343           3 :   fFGlowZHalfSize[1] = fAirSpaceFeeY /2 ;
     344           3 :   fFGlowZHalfSize[2] = fFrameZHalfSize[2] ;
     345             : 
     346           3 :   fFGlowZPosition[0] = fAirSpaceFeeX /2 + fFGlowZHalfSize[0] ;
     347           3 :   fFGlowZPosition[1] = 0 ;
     348           3 :   fFGlowZPosition[2] = fWarmThermoHalfSize[2] - fWarmBottomThickness - fFGlowXHalfSize[2] ; 
     349             : 
     350             : 
     351             :   // --- Air Gap for FEE ----
     352             : 
     353           3 :   fFEEAirHalfSize[0] =  fAirSpaceFeeX /2 ;
     354           3 :   fFEEAirHalfSize[1] =  fAirSpaceFeeY /2;
     355           3 :   fFEEAirHalfSize[2] =  fAirSpaceFeeZ /2;
     356             : 
     357           3 :   fFEEAirPosition[0] = 0 ;
     358           3 :   fFEEAirPosition[1] = 0 ;
     359           3 :   fFEEAirPosition[2] = fWarmThermoHalfSize[2] - fWarmBottomThickness - fFEEAirHalfSize[2] ;
     360             : 
     361             :   // --- Calculate the oveol dimentions of the EMC module
     362             :   
     363           3 :   fEMCParams[3] = fAlCoverParams[3] + fWarmAlCoverHalfSize[2] ; //Size out of beam
     364           3 :   fEMCParams[0] = fAlCoverParams[0] ; //Upper size across the beam
     365           6 :   fEMCParams[1] = (fAlCoverParams[1] - fAlCoverParams[0])*fEMCParams[3]/fAlCoverParams[3] 
     366           3 :                  + fAlCoverParams[0]  ; //Lower size across the beam
     367           3 :   fEMCParams[2] = fWarmAlCoverHalfSize[1] ;                     // Size along the beam
     368             : 
     369           3 :   fNPhi = fNStripX * fNCellsXInStrip ;    //number of crystals across the beam
     370           3 :   fNZ   = fNStripZ * fNCellsZInStrip ;    //number of crystals along the beam
     371           6 : }
     372             : 

Generated by: LCOV version 1.11