]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PHOS/AliPHOSEmcRecPoint.h
Coding convention obeyed
[u/mrichter/AliRoot.git] / PHOS / AliPHOSEmcRecPoint.h
index d00ff9d9250409de45b3b42561df2f6bf989738f..f61ab7c6642a060e06084e226cb2c702d77ccda5 100644 (file)
@@ -28,6 +28,7 @@ class AliPHOSEmcRecPoint : public AliPHOSRecPoint  {
 public:
 
   AliPHOSEmcRecPoint() ;
+  AliPHOSEmcRecPoint(const char * opt) ;
   AliPHOSEmcRecPoint(const AliPHOSEmcRecPoint & rp) {
     // cpy ctor requested by Coding Convention 
     // but not yet needed
@@ -40,10 +41,7 @@ public:
   Int_t       Compare(const TObject * obj) const;                         // method for sorting  
 
   virtual void  EvalAll(Float_t logWeight,TClonesArray * digits) ;
-          void  EvalCoreEnergy(TClonesArray * digits) ;             
-  virtual void  EvalLocalPosition(Float_t logWeight,TClonesArray * digits) ;// computes the position in the PHOS module 
-  virtual void  EvalDispersion(Float_t logWeight,TClonesArray * digits) ;   // computes the dispersion of the shower
-  virtual void  EvalElipsAxis(Float_t logWeight, TClonesArray * digits );   // computes the axis of shower ellipsoide
+
   virtual void  ExecuteEvent(Int_t event, Int_t px, Int_t py) const; 
 
   Float_t         GetCoreEnergy()const {return fCoreEnergy ;}
@@ -56,12 +54,19 @@ public:
   Int_t       GetMultiplicity(void) const { return fMulDigit ; }   // gets the number of digits making this recpoint
   Int_t       GetMultiplicityAtLevel(const Float_t level) const ;  // computes multiplicity of digits with 
                                                                    // energy above relative level
-  virtual Int_t GetNumberOfLocalMax(Int_t *  maxAt, Float_t * maxAtEnergy,
+  Short_t     GetNExMax(void) const {return fNExMax ;}             // Number of maxima found in cluster in unfolding:
+                                                                   // 0: was no unfolging
+                                                                   //-1: unfolding failed
+  void        SetNExMax(Int_t nmax){fNExMax = static_cast<Short_t>(nmax) ;}
+  virtual Int_t GetNumberOfLocalMax(AliPHOSDigit **  maxAt, Float_t * maxAtEnergy,
                                     Float_t locMaxCut,TClonesArray * digits ) const ; 
                                                                    // searches for the local maxima 
+  //returns number of local maxima in parent cluster or -2 if unfolding failed
+  Float_t     GetTime(void) const{return  fTime ; } 
   Bool_t      IsEmc(void) const { return kTRUE ; }                 // true if the recpoint is in EMC
   Bool_t      IsSortable() const {return kTRUE ; }                 // says that emcrecpoints are sortable objects 
-  void        Print(Option_t * opt = "void") ; 
+  void        Print(Option_t * opt = "void")const ; 
+  void        Purify(Float_t threshold) ;                          //Removes digits below threshold
 
   AliPHOSEmcRecPoint & operator = (const AliPHOSEmcRecPoint & rvalue)  {
     // assignement operator requested by coding convention but not needed
@@ -70,13 +75,19 @@ public:
   }
 
  protected:
-
+          void  EvalCoreEnergy(Float_t logWeight,TClonesArray * digits) ;             
+  virtual void  EvalLocalPosition(Float_t logWeight,TClonesArray * digits) ;// computes the position in the PHOS module 
+  virtual void  EvalDispersion(Float_t logWeight,TClonesArray * digits) ;   // computes the dispersion of the shower
+  virtual void  EvalElipsAxis(Float_t logWeight, TClonesArray * digits );   // computes the axis of shower ellipsoide
+          void  EvalTime( TClonesArray * digits );
   virtual Bool_t AreNeighbours(AliPHOSDigit * digit1, AliPHOSDigit * digit2 ) const ;
 
   Float_t fCoreEnergy ;       // energy in a shower core 
   Float_t fLambda[2] ;        // shower ellipse axes
   Float_t fDispersion ;       // shower dispersion
   Float_t *fEnergyList ;      //[fMulDigit] energy of digits
+  Float_t fTime ;             // Time of the digit with maximal energy deposition
+  Short_t fNExMax ;           //number of (Ex-)maxima before unfolding
   
   ClassDef(AliPHOSEmcRecPoint,1)  // EMC RecPoint (cluster)