added the HCAL section and a method to get the local position
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALRecPoint.cxx
index 7a19c5d2bf3714f1506322fce9d38b841ac683a2..0ef89886e39fd95f3783808edd1491ecc348a6b8 100644 (file)
@@ -46,7 +46,7 @@ AliEMCALRecPoint::AliEMCALRecPoint()
   fMaxTrack = 0 ;
   fTheta = fPhi = 0. ; 
   fEMCALArm = 0;
-
+  fPRESection = fECALSection = fHCALSection = kFALSE ; 
 }
 
 //____________________________________________________________________________
@@ -241,19 +241,34 @@ void  AliEMCALRecPoint::EvalPrimaries(TClonesArray * digits)
   delete tempo ;
 
 }
+
 //____________________________________________________________________________
 void AliEMCALRecPoint::GetGlobalPosition(TVector3 & gpos) const
 {
   // returns the position of the cluster in the global reference system of ALICE
-  // and the uncertainty on this position
   
   AliEMCALGeometry * emcalgeom = AliEMCALGetter::GetInstance()->EMCALGeometry();  
   gpos.SetX(fPhi) ;
-  gpos.SetY(emcalgeom->GetIPDistance() + emcalgeom->GetAirGap()) ;
+  if ( IsInECAL() ) 
+    gpos.SetY(emcalgeom->GetIP2ECALSection()) ;
+  else if ( IsInPRE() )
+    gpos.SetY(emcalgeom->GetIP2PRESection()) ;
+  else if ( IsInHCAL() )
+    gpos.SetY(emcalgeom->GetIP2HCALSection()) ;
+  else 
+    Fatal("GetGlobalPosition", "Unexpected tower section") ; 
   gpos.SetZ(fTheta) ; 
 }
 
+//____________________________________________________________________________
+void AliEMCALRecPoint::GetLocalPosition(TVector3 & lpos) const
+{
+  // returns the position of the cluster in the global reference system of ALICE
+  
+  lpos.SetX(fLocPos.X()) ;
+  lpos.SetY(fLocPos.Y()) ;
+  lpos.SetZ(fLocPos.Z()) ;
+}
 
 //______________________________________________________________________________
 void AliEMCALRecPoint::Paint(Option_t *)