Adding Get virtual functions to Clusterizer
[u/mrichter/AliRoot.git] / PHOS / AliPHOSClusterizer.h
1 #ifndef ALIPHOSCLUSTERIZER_H
2 #define ALIPHOSCLUSTERIZER_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 //  Algorithme class for the clusterization   //
10 //  interface class                           //
11 //  Version SUBATECH                          //
12 //  Author Yves Schutz     SUBATECH           //
13 //                                            //  
14 //   pABC                                     //
15 ////////////////////////////////////////////////
16
17 // --- ROOT system ---
18
19 #include "TObject.h" 
20 #include "TClonesArray.h"
21
22 // --- Standard library ---
23
24 // --- AliRoot header files ---
25
26 #include "AliPHOSDigit.h"
27
28 typedef TClonesArray    RecPointsList ; // a cluster has a variable size (see ROOT FAQ)  
29 typedef TClonesArray    DigitsList ; //for digits saved on disk
30
31 class AliPHOSClusterizer : public TObject {
32
33 public:
34
35   AliPHOSClusterizer() ;          // ctor            
36   virtual ~AliPHOSClusterizer() ; // dtor
37
38   virtual Float_t Calibrate(Int_t Amp) = 0 ; 
39   virtual Bool_t IsInEmc(AliPHOSDigit * digit)= 0 ;   
40   virtual void GetNumberOfClustersFound(Int_t * numb) = 0 ; 
41   virtual void GetCalibrationParameters(Float_t & A, Float_t &B) = 0 ; 
42   virtual void GetEmcClusteringThreshold(Float_t & cluth) = 0 ; 
43   virtual void GetEmcEnergyThreshold(Float_t & enth) = 0 ;  
44   virtual void GetLocalMaxCut(Float_t & cut) = 0 ; 
45   virtual void GetLogWeightCut(Float_t & w) = 0 ; 
46   virtual void GetPpsdClusteringThreshold(Float_t & cluth) = 0 ; 
47   virtual void GetPpsdEnergyThreshold(Float_t & enth) = 0 ; 
48
49   virtual void  MakeClusters(const DigitsList * dl, RecPointsList * emccl, RecPointsList * ppsdl) = 0 ; 
50   virtual void PrintParameters() = 0 ;  
51   virtual void SetCalibrationParameters(Float_t A, Float_t B) = 0 ; 
52   virtual void SetEmcClusteringThreshold(Float_t cluth) = 0 ; 
53   virtual void SetEmcEnergyThreshold(Float_t enth) = 0 ;  
54   virtual void SetLocalMaxCut(Float_t cut) = 0 ; 
55   virtual void SetLogWeightCut(Float_t w) = 0 ; 
56   virtual void SetPpsdClusteringThreshold(Float_t cluth) = 0 ; 
57   virtual void SetPpsdEnergyThreshold(Float_t enth) = 0 ; 
58  
59   ClassDef(AliPHOSClusterizer,1)  // clusterization interface, version 1
60
61 } ;
62
63 #endif // AliPHOSCLUSTERIZER_H