]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EMCAL/AliEMCALClusterizer.h
Updates for new ADD + ZDC modules
[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 #include "AliLog.h"
16 #include "TObject.h" 
17 class TTree;
18
19 // --- Standard library ---
20
21 // --- AliRoot header files ---
22
23 class AliEMCALClusterizer : public TObject {
24
25 public:
26
27   AliEMCALClusterizer() ;        // default ctor
28   virtual ~AliEMCALClusterizer() ; // dtorEM
29
30   virtual void    Digits2Clusters(Option_t *option) = 0;
31
32   virtual Float_t GetTimeCut() const = 0;
33
34   virtual void SetECAClusteringThreshold(Float_t) = 0;
35   virtual void SetECALocalMaxCut(Float_t)         = 0;
36   virtual void SetECALogWeight(Float_t)           = 0;
37   virtual void SetTimeCut(Float_t)                = 0;
38   virtual void SetUnfolding(Bool_t)               = 0;
39
40   virtual const char * Version() const {Warning("Version", "Not Defined") ; return 0 ; } 
41
42   virtual void SetInput(TTree *digitsTree);
43   virtual void SetOutput(TTree *clustersTree);
44   virtual void InitParameters() { AliInfo("Overload this method."); }
45
46 protected:
47
48   virtual void MakeClusters() = 0;
49
50   TClonesArray *fDigitsArr; // Array with EMCAL digits
51   TTree *fTreeR;            // Tree with output clusters
52   TObjArray    *fRecPoints; // Array with EMCAL clusters
53
54 private:
55   AliEMCALClusterizer(const AliEMCALClusterizer &); //copy ctor
56   AliEMCALClusterizer & operator = (const AliEMCALClusterizer &);
57
58   ClassDef(AliEMCALClusterizer,1)  // Clusterization algorithm class 
59 } ;
60
61 #endif // AliEMCALCLUSTERIZER_H