]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PHOS/AliPHOSEMCAGeometry.cxx
Corrected copy constructor and assignment operator, fixed memory leaks (Christian)
[u/mrichter/AliRoot.git] / PHOS / AliPHOSEMCAGeometry.cxx
index 7d8745e9f9aefac95c502f9cc06a38d6f938382b..c8cb891d9035b1a57bb897647acb764886e455fb 100644 (file)
 ClassImp(AliPHOSEMCAGeometry)
 
 //____________________________________________________________________________
-AliPHOSEMCAGeometry::AliPHOSEMCAGeometry()
+AliPHOSEMCAGeometry::AliPHOSEMCAGeometry():
+                     fAirGapLed(0.f),
+                     fStripWallWidthOut(0.f),
+                     fStripWallWidthIn(0.f),
+                     fTyvecThickness(0.f),
+                     fInnerThermoWidthX(0.f),
+                     fInnerThermoWidthY(0.f),
+                     fInnerThermoWidthZ(0.f),
+                     fAirGapWidthX(0.f),
+                     fAirGapWidthY(0.f),
+                     fAirGapWidthZ(0.f),
+                     fCoolerWidthX(0.f),
+                     fCoolerWidthY(0.f),
+                     fCoolerWidthZ(0.f),
+                     fAlCoverThickness(0.f),
+                     fOuterThermoWidthXUp(0.f),
+                     fOuterThermoWidthXLow(0.f),
+                     fOuterThermoWidthY(0.f),
+                     fOuterThermoWidthZ(0.f),
+                     fAlFrontCoverX(0.f),
+                     fAlFrontCoverZ(0.f),
+                     fFiberGlassSup2X(0.f),
+                     fFiberGlassSup1X(0.f),
+                     fFrameHeight(0.f),
+                     fFrameThickness(0.f),
+                     fAirSpaceFeeX(0.f),
+                     fAirSpaceFeeZ(0.f),
+                     fAirSpaceFeeY(0.f),
+                     fWarmUpperThickness(0.f),
+                     fWarmBottomThickness(0.f),
+                     fWarmAlCoverWidthX(0.f),
+                     fWarmAlCoverWidthY(0.f),
+                     fWarmAlCoverWidthZ(0.f),
+                     fFiberGlassSup1Y(0.f),
+                     fFiberGlassSup2Y(0.f),
+                     fTSupportDist(0.f),
+                     fTSupport1Thickness(0.f),
+                     fTSupport2Thickness(0.f),
+                     fTSupport1Width(0.f),
+                     fTSupport2Width(0.f),
+                     fIPtoOuterCoverDistance(0.f),
+                     fIPtoCrystalSurface(0.f),
+                     fSupportPlateThickness(0.f),
+                     fNCellsXInStrip(0),
+                     fNCellsZInStrip(0),
+                     fNStripX(0),
+                     fNStripZ(0),
+                     fNTSupports(0),
+                     fNPhi(0),
+                     fNZ(0)
 {
 
 
@@ -65,16 +114,17 @@ AliPHOSEMCAGeometry::AliPHOSEMCAGeometry()
   fPreampHalfSize[1] = 0.5 / 2 ;
   fPreampHalfSize[2] = 1.5 / 2 ;
 
-  //STRIP
+  //Strip unit (8x2 crystals)
 
-  fNCellsInStrip = 8 ;     //Number of crystals in strip
-  fNStripX = 8 ;           //Number of strips acros beam
-  fNStripZ = 56 ;          //Number of strips along beam
+  fNCellsXInStrip =  8 ;       //Number of crystals in strip unit along x-axis
+  fNCellsZInStrip =  2 ;       //Number of crystals in strip unit along z-axis
+  fNStripX        =  8 ;       //Number of strip units across along x-axis
+  fNStripZ        = 28 ;       //Number of strips along z-axis
 
-  fStripWallWidthOut = 0.01 ;     // Side to another strip  
-  fStripWallWidthIn  = 0.02 ;     // Side betveen crystals in one strip
+  fStripWallWidthOut = 0.01 ;  // Side to another strip  
+  fStripWallWidthIn  = 0.02 ;  // Side betveen crystals in one strip
 
-  fTyvecThickness = 0.01 ;        //Thickness of the tyvec
+  fTyvecThickness = 0.0175 ;     //Thickness of the tyvec
 
   fAirGapLed = 1.5 - 2 * fPreampHalfSize[1] - 2 * fPinDiodeHalfSize[1] ; // Air gap before crystalls for LED system
                                            // Note, that Cell in Strip 1.5 longer then crystall
@@ -85,23 +135,25 @@ AliPHOSEMCAGeometry::AliPHOSEMCAGeometry()
   fWrappedHalfSize[1] = fCrystalHalfSize[1] ;                             //wrapped into tyvec
   fWrappedHalfSize[2] = (2*fTyvecThickness + 2*fCrystalHalfSize[2])/2 ;   //
 
-  fAirCellHalfSize[0] = fWrappedHalfSize[0] ;                     //This is HALF-size of one cell
-  fAirCellHalfSize[1] = (fAirGapLed + 2*fPreampHalfSize[1] + 
-                         2*fPinDiodeHalfSize[1] + 2*fWrappedHalfSize[1])/2 ;  //in strip
-  fAirCellHalfSize[2] = fWrappedHalfSize[2]  ;                    //
-
-  fSupportPlateHalfSize[0] = ( (fNCellsInStrip-1)*fStripWallWidthIn + 2* fStripWallWidthOut + 
-                  fNCellsInStrip * (2 * fTyvecThickness + 2*fCrystalHalfSize[0]) )/2 ;
-  fSupportPlateHalfSize[1] =  6.0  /2 ;
-  fSupportPlateHalfSize[2] =  ( 2 * fTyvecThickness + 2*fCrystalHalfSize[0] + 2*fStripWallWidthOut )/2 ;
-
+  fSteelCellHalfSize[0] = fWrappedHalfSize[0] + 0.01;
+  fSteelCellHalfSize[1] = (fAirGapLed + 2*fPreampHalfSize[1] + 
+                       2*fPinDiodeHalfSize[1] + 2*fWrappedHalfSize[1])/2 ;  //in strip
+  fSteelCellHalfSize[2] = fWrappedHalfSize[2] + 0.01;
+
+  //  fSupportPlateHalfSize[0] = ( (fNCellsXInStrip-1)*fStripWallWidthIn + 2*fStripWallWidthOut + 
+  //                          fNCellsXInStrip * (2*fTyvecThickness + 2*fCrystalHalfSize[0]) )/2 ;
+  fSupportPlateHalfSize[0] = 18.04  /2 ;
+  fSupportPlateHalfSize[1] =   6.0  /2 ;
+//  fSupportPlateHalfSize[2] = ( (fNCellsZInStrip-1)*fStripWallWidthIn + 2*fStripWallWidthOut +
+//                            fNCellsZInStrip * (2*fTyvecThickness + 2*fCrystalHalfSize[2]) )/2;
+  fSupportPlateHalfSize[2] =  4.51  /2 ;
   fSupportPlateThickness = 0.3 ;  
   fSupportPlateInHalfSize[0] = fSupportPlateHalfSize[0] ;                         //Half-sizes of the air
   fSupportPlateInHalfSize[1] = fSupportPlateHalfSize[1]-fSupportPlateThickness ;  //box in the support plate
   fSupportPlateInHalfSize[2] = fSupportPlateHalfSize[2]-fSupportPlateThickness/2 ;
 
   fStripHalfSize[0]= fSupportPlateHalfSize[0] ;  
-  fStripHalfSize[1]= ( 2*fSupportPlateHalfSize[1] + 2*fAirCellHalfSize[1] )/2;      
+  fStripHalfSize[1]= ( 2*fSupportPlateHalfSize[1] + 2*fSteelCellHalfSize[1] )/2;      
   fStripHalfSize[2]= fSupportPlateHalfSize[2] ;
 
   // ------- Inner hermoinsulation ---------------
@@ -314,8 +366,7 @@ AliPHOSEMCAGeometry::AliPHOSEMCAGeometry()
                  + fAlCoverParams[0]  ; //Lower size across the beam
   fEMCParams[2] = fWarmAlCoverHalfSize[1] ;                     // Size along the beam
 
-  fNPhi = fNStripX * fNCellsInStrip ;    //Number of crystalls across beam
-  fNZ   = fNStripZ ;                     //number of crystals along beam
+  fNPhi = fNStripX * fNCellsXInStrip ;    //number of crystals across the beam
+  fNZ   = fNStripZ * fNCellsZInStrip ;    //number of crystals along the beam
 }
 
-//____________________________________________________________________________