added the HCAL section and a method to get the local position
authorschutz <schutz@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 8 Jan 2003 17:23:17 +0000 (17:23 +0000)
committerschutz <schutz@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 8 Jan 2003 17:23:17 +0000 (17:23 +0000)
EMCAL/AliEMCALRecPoint.cxx
EMCAL/AliEMCALRecPoint.h

index 9f235a653883f0202bf26c3712f6a34634b86f78..0ef89886e39fd95f3783808edd1491ecc348a6b8 100644 (file)
@@ -46,7 +46,7 @@ AliEMCALRecPoint::AliEMCALRecPoint()
   fMaxTrack = 0 ;
   fTheta = fPhi = 0. ; 
   fEMCALArm = 0;
-  fTower = kFALSE ; 
+  fPRESection = fECALSection = fHCALSection = kFALSE ; 
 }
 
 //____________________________________________________________________________
@@ -249,13 +249,26 @@ void AliEMCALRecPoint::GetGlobalPosition(TVector3 & gpos) const
   
   AliEMCALGeometry * emcalgeom = AliEMCALGetter::GetInstance()->EMCALGeometry();  
   gpos.SetX(fPhi) ;
-  if (IsTower() ) 
-    gpos.SetY(emcalgeom->GetIP2Tower()) ;
+  if ( IsInECAL() ) 
+    gpos.SetY(emcalgeom->GetIP2ECALSection()) ;
+  else if ( IsInPRE() )
+    gpos.SetY(emcalgeom->GetIP2PRESection()) ;
+  else if ( IsInHCAL() )
+    gpos.SetY(emcalgeom->GetIP2HCALSection()) ;
   else 
-    gpos.SetY(emcalgeom->GetIP2PreShower()) ;
+    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 *)
index 8921babd02b182d7921b347a52ed525b9fd9e232..b8fb75150b1eae844dcf58d5ffa32bb47e042540 100644 (file)
@@ -54,11 +54,14 @@ class AliEMCALRecPoint : public AliRecPoint {
   virtual Int_t   GetEMCALArm(void) const {return fEMCALArm ; }
   virtual void    GetGlobalPosition(TVector3 & gpos, TMatrix & gmat) const {;} // return global position in ALICE
   virtual void    GetGlobalPosition(TVector3 & gpos) const ; // return global position (r, theta, phi) in ALICE
+  virtual void    GetLocalPosition(TVector3 & lpos) const ; // return loca position (x, y, z) in EMCAL
   //  virtual Int_t   GetEMCALMod(void) const {return fEMCALMod ; }
   virtual Int_t * GetPrimaries(Int_t & number) const {number = fMulTrack ; 
                                                       return fTracksList ; }
   virtual Bool_t  IsEmc(void)const { return kTRUE ;  }
-  const Bool_t IsTower(void) const { return fTower ; } 
+  const Bool_t IsInECAL(void) const { return fECALSection ; } 
+  const Bool_t IsInHCAL(void) const { return fHCALSection ; } 
+  const Bool_t IsInPRE(void) const { return fPRESection ; } 
   virtual Bool_t  IsSortable() const { 
     // tells that this is a sortable object
     return kTRUE ; 
@@ -68,7 +71,9 @@ class AliEMCALRecPoint : public AliRecPoint {
     // Print prototype
   } 
   
-  void SetTower() { fTower = kTRUE ; } 
+  void SetECAL() { fECALSection = kTRUE ; } 
+  void SetHCAL() { fHCALSection = kTRUE ; } 
+  void SetPRE()  { fPRESection  = kTRUE ; } 
   AliEMCALRecPoint & operator = (const AliEMCALRecPoint & )  {
     // assignement operator requested by coding convention but not needed
     assert(0==1) ;
@@ -80,7 +85,9 @@ protected:
   Int_t fEMCALArm ; // EMCAM Arm number
   Float_t fTheta ; // theta angle in Alice
   Float_t fPhi ;   // phi angle in Alice
-  Bool_t  fTower ; // tells if the recpoint is a tower or not 
+  Bool_t  fECALSection ; // tells if the recpoint is in ECAL section 
+  Bool_t  fHCALSection ; // tells if the recpoint is in HCAL section 
+  Bool_t  fPRESection ;  // tells if the recpoint is in PRE section 
 
   ClassDef(AliEMCALRecPoint,2) // RecPoint for EMCAL (Base Class)