the MIXT geometry (IHEP+GPS2) has been introduced
[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 //  Base class for the clusterization algorithm (pure abstract)
10 //*-- Author: Yves Schutz (SUBATECH)
11
12 // --- ROOT system ---
13
14 #include "TObject.h" 
15 #include "TClonesArray.h"
16
17 // --- Standard library ---
18
19 // --- AliRoot header files ---
20
21 #include "AliPHOSDigit.h"
22 #include "AliPHOSRecPoint.h"
23
24 class AliPHOSClusterizer : public TObject {
25
26 public:
27
28   AliPHOSClusterizer() ;          // ctor            
29   virtual ~AliPHOSClusterizer() ; // dtor
30
31   virtual Float_t Calibrate(Int_t Amp) = 0 ; 
32   virtual Bool_t IsInEmc(AliPHOSDigit * digit)= 0 ;   
33   virtual void    GetNumberOfClustersFound(Int_t * numb) = 0 ; 
34   virtual void    GetCalibrationParameters(Float_t & A, Float_t &B) = 0 ; 
35   virtual Float_t GetEmcClusteringThreshold() = 0 ; 
36   virtual Float_t GetEmcEnergyThreshold() = 0 ;  
37   virtual Float_t GetLocalMaxCut() = 0 ; 
38   virtual Float_t GetLogWeightCut() = 0 ; 
39   virtual Float_t GetLocalMaxCutCPV() = 0 ; 
40   virtual Float_t GetLogWeightCutCPV() = 0 ; 
41   virtual Float_t GetPpsdClusteringThreshold() = 0 ; 
42   virtual Float_t GetPpsdEnergyThreshold() = 0 ; 
43
44   virtual void MakeClusters(const DigitsList * dl,
45                             AliPHOSRecPoint::RecPointsList * emccl,
46                             AliPHOSRecPoint::RecPointsList * ppsdl,
47                             AliPHOSRecPoint::RecPointsList * cpvl) = 0 ; 
48   virtual void PrintParameters() = 0 ;  
49   virtual void SetCalibrationParameters(Float_t A, Float_t B) = 0 ; 
50   virtual void SetEmcClusteringThreshold(Float_t cluth) = 0 ; 
51   virtual void SetEmcEnergyThreshold(Float_t enth) = 0 ;  
52   virtual void SetLocalMaxCut(Float_t cut) = 0 ; 
53   virtual void SetLogWeightCut(Float_t w) = 0 ; 
54   virtual void SetLocalMaxCutCPV(Float_t cut) = 0 ; 
55   virtual void SetLogWeightCutCPV(Float_t w) = 0 ; 
56   virtual void SetPpsdClusteringThreshold(Float_t cluth) = 0 ; 
57   virtual void SetPpsdEnergyThreshold(Float_t enth) = 0 ; 
58   virtual void SetCpvClusteringThreshold(Float_t cluth) = 0 ; 
59   virtual void SetCpvEnergyThreshold(Float_t enth) = 0 ;  
60  
61   ClassDef(AliPHOSClusterizer,1)  // Clusterization algorithm class (abstract base class)
62
63 } ;
64
65 #endif // AliPHOSCLUSTERIZER_H