]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliESDCaloCluster.h
Base class (AliMisaligner); each detector will provide its derived class,
[u/mrichter/AliRoot.git] / STEER / AliESDCaloCluster.h
index 8d7f1a8a907c01e035b5a6e36b92a25dfdd2bfec..3fd4e5d75c8089567649143f4f6ebaf6ff816811 100644 (file)
@@ -31,6 +31,7 @@ public:
   AliESDCaloCluster(const AliESDCaloCluster& clus);
   AliESDCaloCluster & operator=(const AliESDCaloCluster& source);
   virtual ~AliESDCaloCluster();
+  virtual void Copy(TObject &) const;
 
   void SetID(Int_t id) {fID = id;}
   Int_t GetID() const {return fID;}
@@ -74,9 +75,6 @@ public:
   void SetM02(Float_t m02)                { fM02 = m02; }
   Double_t GetM02() const                  { return fM02; }
 
-  void SetM11(Float_t m11)                { fM11 = m11; }
-  Double_t GetM11() const                  { return fM11; }
-
   void SetNExMax(UChar_t nExMax)         { fNExMax = nExMax; }
   UChar_t GetNExMax() const              { return fNExMax; }
 
@@ -86,19 +84,28 @@ public:
   void SetDistanceToBadChannel(Float_t dist) {fDistToBadChannel=dist;}
   Double_t GetDistanceToBadChannel() const {return fDistToBadChannel;}
 
-  void AddTracksMatched(TArrayI & array)  { fTracksMatched   = new TArrayI(array) ; }
-  void AddLabels(TArrayI & array)         { fLabels = new TArrayI(array) ; }
-
+  void SetTOF(Double_t tof) { fTOF = tof; }
+  Double_t GetTOF() const { return fTOF; }
+  
+  void AddTracksMatched(TArrayI & array)  { 
+    if(!fTracksMatched)fTracksMatched   = new TArrayI(array);
+    else *fTracksMatched = array;
+  }
+  void AddLabels(TArrayI & array)         { 
+    if(!fLabels)fLabels = new TArrayI(array) ; 
+    else *fLabels = array;
+}
+  
   TArrayI * GetTracksMatched() const  {return  fTracksMatched;}
   TArrayI * GetLabels() const         {return  fLabels;}
+  
   Int_t GetTrackMatched() const   
   {if( fTracksMatched &&  fTracksMatched->GetSize() >0)  return  fTracksMatched->At(0); 
     else return -1;} //Most likely the track associated to the cluster
   Int_t GetLabel() const   
   {if( fLabels &&  fLabels->GetSize() >0)  return  fLabels->At(0); 
     else return -1;} //Most likely the track associated to the cluster
-
+  
   Int_t GetNTracksMatched() const {if (fTracksMatched) return  fTracksMatched->GetSize(); 
     else return -1;}
   Int_t GetNLabels() const        { if (fLabels) return  fLabels->GetSize(); 
@@ -108,12 +115,12 @@ public:
 
   // --- NEW ---
   void SetNCells(Int_t n) { fNCells = n;}
-  Double_t GetNCells() const   { return fNCells;}
+  Int_t GetNCells() const   { return fNCells;}
   
-  void SetCellsAbsId(UShort_t *array) { fCellsAbsId = array; }
+  void SetCellsAbsId(UShort_t *array) ;
   UShort_t *GetCellsAbsId() {return  fCellsAbsId;}
   
-  void SetCellsAmplitudeFraction(Double32_t *array) { fCellsAmpFraction = array; }
+  void SetCellsAmplitudeFraction(Double32_t *array) ;
   Double32_t *GetCellsAmplitudeFraction() {return  fCellsAmpFraction;}
   
   Int_t GetCellAbsId(Int_t i) const {  
@@ -158,15 +165,16 @@ protected:
   Double32_t   fChi2;             // chi2 of cluster fi
   Double32_t   fM20;              // 2-nd moment along the main eigen axis
   Double32_t   fM02;              // 2-nd moment along the second eigen axis
-  Double32_t   fM11;              // 2-nd mixed moment Mxy
+
   Double32_t   fEmcCpvDistance;   // the distance from PHOS EMC rec.point to the closest CPV rec.point
   Double32_t   fDistToBadChannel; // Distance to nearest bad channel
   Double32_t   fPID[AliPID::kSPECIESN]; //[0,1,8]"detector response  probabilities" (for the PID)
   Int_t       fID;               // Unique Id of the cluster
   UChar_t  fNExMax ;          // number of (Ex-)maxima before unfolding  
   Char_t  fClusterType;      // Flag for different cluster type/versions
+  Double32_t fTOF; //[0,0,12] time-of-flight
 
-  ClassDef(AliESDCaloCluster,7)  //ESDCaloCluster 
+  ClassDef(AliESDCaloCluster,8)  //ESDCaloCluster 
 };
 
 #endif