adding clearance around alignable volumes
authorjklay <jklay@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 30 May 2008 20:07:38 +0000 (20:07 +0000)
committerjklay <jklay@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 30 May 2008 20:07:38 +0000 (20:07 +0000)
EMCAL/AliEMCALGeometry.cxx
EMCAL/AliEMCALv0.cxx

index 39c9759..78d8d91 100644 (file)
@@ -307,6 +307,9 @@ void AliEMCALGeometry::Init(void){
   fPhiModuleSize = 12.26 - fPhiGapForSM / Float_t(fNPhi); // first assumption
   fEtaModuleSize = fPhiModuleSize;
 
+  fZLength              = 700.;     // Z coverage (cm)
+
+
   //needs to be called for each geometry and before setting geometry
   //parameters which can depend on the outcome
   CheckAdditionalOptions();
@@ -343,16 +346,17 @@ void AliEMCALGeometry::Init(void){
   fLongModuleSize = fNECLayers*(fECScintThick + fECPbRadThickness);  
   f2Trd1Dx2 = fEtaModuleSize + 2.*fLongModuleSize*TMath::Tan(fTrd1Angle*TMath::DegToRad()/2.);
   if(!fGeoName.Contains("WSUC")) fShellThickness  = TMath::Sqrt(fLongModuleSize*fLongModuleSize + f2Trd1Dx2*f2Trd1Dx2);
-  
-  fZLength        = 2.*ZFromEtaR(fIPDistance+fShellThickness,fArm1EtaMax); // Z coverage
-  fEnvelop[0]     = fIPDistance; // mother volume inner radius
-  fEnvelop[1]     = fIPDistance + fShellThickness; // mother volume outer r.
-  fEnvelop[2]     = 1.00001*fZLength; // add some padding for mother volume. 
+
+  //These parameters are used to create the mother volume to hold the supermodules
+  //2cm padding added to allow for misalignments - JLK 30-May-2008
+  fEnvelop[0]     = fIPDistance - 1.; // mother volume inner radius
+  fEnvelop[1]     = fIPDistance + fShellThickness + 1.; // mother volume outer r.
+  fEnvelop[2]     = fZLength + 2.; //mother volume length 
 
   // Local coordinates
   fParSM[0] = GetShellThickness()/2.;        
   fParSM[1] = GetPhiModuleSize() * GetNPhi()/2.;
-  fParSM[2] = 350./2.;
+  fParSM[2] = fZLength/4.;  //divide by 4 to get half-length of SM
 
   // SM phi boundaries - (0,1),(2,3) .. (10,11) - has the same boundaries; Nov 7, 2006 
   fPhiBoundariesOfSM.Set(fNumberOfSuperModules);
index c992723..1c0b3ab 100644 (file)
@@ -124,10 +124,10 @@ void AliEMCALv0::BuildGeometry()
       fEnvelop1[1] = geom->GetArm1PhiMax() - geom->GetArm1PhiMin(); // angular range in phi
       fEnvelop1[2] = geom->GetNPhiSuperModule();
       fEnvelop1[3] = 2; // 2 z coordinates
-      fEnvelop1[4] = -350.;
+      fEnvelop1[4] = -geom->GetEnvelop(2)/2.; //zmin
       fEnvelop1[5] = geom->GetEnvelop(0) ; // rmin at z1
       fEnvelop1[6] = geom->GetEnvelop(1) ; // rmax at z1
-      fEnvelop1[7] = 350.;
+      fEnvelop1[7] = geom->GetEnvelop(2)/2.; //zmax
       fEnvelop1[8] = fEnvelop1[5] ;        // radii are the same.
       fEnvelop1[9] = fEnvelop1[6] ;        // radii are the same.      
     }
@@ -295,16 +295,10 @@ void AliEMCALv0::CreateGeometry()
     envelopA[1] = geom->GetArm1PhiMax() - geom->GetArm1PhiMin(); // angular range in phi
     envelopA[2] = geom->GetNPhiSuperModule();                    // number of sections in phi
     envelopA[3] = 2;                                             // 2 z coordinates
-    // envelopA[4] = geom->ZFromEtaR(geom->GetEnvelop(1),
-    //geom->GetArm1EtaMin());       // z coordinate 1
-    envelopA[4] = -350.; // AM 30/5/2006
-    
-    //add some padding for mother volume
-    envelopA[5] = geom->GetEnvelop(0) ;                          // rmin at z1
-    envelopA[6] = geom->GetEnvelop(1) ;                          // rmax at z1
-    //      envelopA[7] = geom->ZFromEtaR(geom->GetEnvelop(1),
-    //                           geom->GetArm1EtaMax());        // z coordinate 2
-    envelopA[7] = 350.; // AM 30/5/2006
+    envelopA[4] = -geom->GetEnvelop(2)/2.;                       // zmin - includes padding
+    envelopA[5] = geom->GetEnvelop(0) ;                          // rmin at z1 - includes padding
+    envelopA[6] = geom->GetEnvelop(1) ;                          // rmax at z1 - includes padding
+    envelopA[7] = geom->GetEnvelop(2)/2.;                        // zmax includes padding
     
     envelopA[8] = envelopA[5] ;                                  // radii are the same.
     envelopA[9] = envelopA[6] ;                                  // radii are the same.