]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EMCAL/AliEMCALClusterizer.h
write to special output (needed for CAF)
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALClusterizer.h
index e7299a8ca74b5a15f39a12dda9e478d2337ac459..388213f078a0ad188f49a84695f8585c4b5feb15 100644 (file)
 //  August 2002 Yves Schutz: clone PHOS as closely as possible and intoduction
 //                           of new  IO (à la PHOS)
 // --- ROOT system ---
-
-#include "TTask.h" 
+#include "AliLog.h"
+#include "TObject.h" 
+class TTree;
 
 // --- Standard library ---
 
 // --- AliRoot header files ---
-#include "AliConfig.h"
 
-class AliEMCALClusterizer : public TTask {
+class AliEMCALClusterizer : public TObject {
 
 public:
 
   AliEMCALClusterizer() ;        // default ctor
-  AliEMCALClusterizer(const TString alirunFileName, const TString eventFolderName = AliConfig::fgkDefaultEventFolderName) ;
-  virtual ~AliEMCALClusterizer() ; // dtor
-
-  virtual Float_t GetTowerClusteringThreshold()const {Warning("GetTowerClusteringThreshold", "Not Defined") ; return 0. ; }
-  virtual Float_t GetTowerLocalMaxCut()const {Warning("GetTowerLocalMaxCut", "Not Defined") ; return 0. ; }
-  virtual Float_t GetTowerLogWeight()const {Warning("GetTowerLogWeight", "Not Defined") ; return 0. ; }
-  virtual Float_t GetTimeGate() const {Warning("GetTimeGate", "Not Defined") ; return 0. ; }
-  virtual Float_t GetPreShoClusteringThreshold()const {Warning("GetPreShoClusteringThreshold", "Not Defined") ; return 0. ; }
-  virtual Float_t GetPreShoLocalMaxCut()const {Warning("GetPreShoLocalMaxCut", "Not Defined") ; return 0. ; }
-  virtual Float_t GetPreShoLogWeight()const {Warning("GetPreShoLogWeight", "Not Defined") ; return 0. ; }
-  virtual const char *  GetRecPointsBranch() const {Warning("GetRecPointsBranch", "Not Defined") ; return 0 ; }
-  virtual const Int_t GetRecPointsInRun()  const {Warning("GetRecPointsInRun", "Not Defined") ; return 0 ; }
-  virtual const char *  GetDigitsBranch() const  {Warning("GetDigitsBranch", "Not Defined") ; return 0 ; }
-
-  virtual void MakeClusters() {Warning("MakeClusters", "Not Defined") ; }
-  virtual void Print(Option_t * option)const {Warning("Print", "Not Defined") ; }
-
-  virtual void SetECClusteringThreshold(Float_t cluth) {Warning("SetECClusteringThreshold", "Not Defined") ; }
-  virtual void SetECLocalMaxCut(Float_t cut) {Warning("SetECLocalMaxCut", "Not Defined") ; }
-  virtual void SetECLogWeight(Float_t w) {Warning("SetECLogWeight", "Not Defined") ; }
-  virtual void SetHCClusteringThreshold(Float_t cluth) {Warning("SetHCLogWeight", "Not Defined") ; }
-  virtual void SetHCLocalMaxCut(Float_t cut)            {Warning("SetHCLogWeight", "Not Defined") ; }
-  virtual void SetHCLogWeight(Float_t w)                {Warning("SetHCLogWeight", "Not Defined") ; }
-  virtual void SetTimeGate(Float_t gate) {Warning("SetTimeGate", "Not Defined") ; }
-  virtual void SetPREClusteringThreshold(Float_t cluth) {Warning("SetPREClusteringThreshold", "Not Defined") ; }
-  virtual void SetPRELocalMaxCut(Float_t cut) {Warning("SetPRELocalMaxCut", "Not Defined") ; }
-  virtual void SetPRELogWeight(Float_t w) {Warning("SetPRELogWeight", "Not Defined") ; }
-  virtual void SetDigitsBranch(const char * title) {Warning("SetDigitsBranch", "Not Defined") ; }
-  virtual void SetRecPointsBranch(const char *title) {Warning("SetRecPointsBranch", "Not Defined") ; } 
-  virtual void SetUnfolding(Bool_t toUnfold ) {Warning("SetUnfolding", "Not Defined") ; }
+  virtual ~AliEMCALClusterizer() ; // dtorEM
+
+  virtual void    Digits2Clusters(Option_t *option) = 0;
+
+  virtual Float_t GetTimeCut() const = 0;
+
+  virtual void SetECAClusteringThreshold(Float_t) = 0;
+  virtual void SetECALocalMaxCut(Float_t)         = 0;
+  virtual void SetECALogWeight(Float_t)           = 0;
+  virtual void SetTimeCut(Float_t)                = 0;
+  virtual void SetUnfolding(Bool_t)               = 0;
+
   virtual const char * Version() const {Warning("Version", "Not Defined") ; return 0 ; } 
 
+  virtual void SetInput(TTree *digitsTree);
+  virtual void SetOutput(TTree *clustersTree);
+  virtual void InitParameters() { AliInfo("Overload this method."); }
+
 protected:
-  TString fEventFolderName ;  // event folder name
 
-  ClassDef(AliEMCALClusterizer,3)  // Clusterization algorithm class 
+  virtual void MakeClusters() = 0;
+
+  TClonesArray *fDigitsArr; // Array with EMCAL digits
+  TTree *fTreeR;            // Tree with output clusters
+  TObjArray    *fRecPoints; // Array with EMCAL clusters
+
+private:
+  AliEMCALClusterizer(const AliEMCALClusterizer &); //copy ctor
+  AliEMCALClusterizer & operator = (const AliEMCALClusterizer &);
 
+  ClassDef(AliEMCALClusterizer,1)  // Clusterization algorithm class 
 } ;
 
 #endif // AliEMCALCLUSTERIZER_H