New split libs
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALClusterizer.h
1 #ifndef ALIEMCALCLUSTERIZER_H
2 #define ALIEMCALCLUSTERIZER_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5                             
6 /* $Id$ */
7
8 //_________________________________________________________________________
9 //  Base class for the clusterization algorithm (pure abstract)
10 //*-- Author: Yves Schutz (SUBATECH) & Dmitri Peressounko (SUBATECH & Kurchatov Institute)
11 // Modif: 
12 //  August 2002 Yves Schutz: clone PHOS as closely as possible and intoduction
13 //                           of new  IO (à la PHOS)
14 // --- ROOT system ---
15
16 #include "TTask.h" 
17 #include "AliConfig.h"
18
19 // --- Standard library ---
20
21 // --- AliRoot header files ---
22
23 class AliEMCALClusterizer : public TTask {
24
25 public:
26
27   AliEMCALClusterizer() ;        // default ctor
28   AliEMCALClusterizer(const TString alirunFileName, const TString eventFolderName = AliConfig::GetDefaultEventFolderName()) ;
29   virtual ~AliEMCALClusterizer() ; // dtorEM
30
31   virtual Float_t GetTowerClusteringThreshold()const {Warning("GetTowerClusteringThreshold", "Not Defined") ; return 0. ; }
32   virtual Float_t GetTowerLocalMaxCut()const {Warning("GetTowerLocalMaxCut", "Not Defined") ; return 0. ; }
33   virtual Float_t GetTowerLogWeight()const {Warning("GetTowerLogWeight", "Not Defined") ; return 0. ; }
34   virtual Float_t GetTimeGate() const {Warning("GetTimeGate", "Not Defined") ; return 0. ; }
35   virtual const char *  GetRecPointsBranch() const {Warning("GetRecPointsBranch", "Not Defined") ; return 0 ; }
36   virtual const Int_t GetRecPointsInRun()  const {Warning("GetRecPointsInRun", "Not Defined") ; return 0 ; }
37   virtual const char *  GetDigitsBranch() const  {Warning("GetDigitsBranch", "Not Defined") ; return 0 ; }
38
39   virtual void MakeClusters() const {Warning("MakeClusters", "Not Defined") ; }
40   virtual void Print(Option_t * /*option*/)const {Warning("Print", "Not Defined") ; }
41
42   virtual void SetECAClusteringThreshold(Float_t) = 0;
43   virtual void SetECALocalMaxCut(Float_t)         = 0;
44   virtual void SetECALogWeight(Float_t)           = 0;
45   virtual void SetTimeGate(Float_t)               = 0;
46   virtual void SetUnfolding(Bool_t)               = 0;
47   void SetEventRange(Int_t first=0, Int_t last=-1) {fFirstEvent=first; fLastEvent=last; }
48   void SetEventFolderName(TString name) { fEventFolderName = name ; }
49
50   AliEMCALClusterizer & operator = (const AliEMCALClusterizer & /*rvalue*/)  {return *this ;} 
51
52   virtual const char * Version() const {Warning("Version", "Not Defined") ; return 0 ; } 
53
54 protected:
55   TString fEventFolderName ;  // event folder name
56   Int_t   fFirstEvent;        // first event to process
57   Int_t   fLastEvent;         // last  event to process
58
59   ClassDef(AliEMCALClusterizer,4)  // Clusterization algorithm class 
60
61 } ;
62
63 #endif // AliEMCALCLUSTERIZER_H