fMaxTrack = 0 ;
fTheta = fPhi = 0. ;
fEMCALArm = 0;
- fTower = kFALSE ;
+ fPRESection = fECALSection = fHCALSection = kFALSE ;
}
//____________________________________________________________________________
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 *)
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 ;
// 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) ;
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)