Modifications to follow the Coding Convention Rules (make check)
[u/mrichter/AliRoot.git] / PHOS / AliPHOSClusterizerv1.h
1 #ifndef ALIPHOSCLUSTERIZERV1_H
2 #define ALIPHOSCLUSTERIZERV1_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 //  Clusterizer implementation version 1      //
10 //  algorithme class                          //
11 //                                            //
12 //  Author Yves Schutz     SUBATECH           //
13 //                                            //  
14 //                                            //
15 ////////////////////////////////////////////////
16
17 // --- ROOT system ---
18
19 // --- Standard library ---
20
21 // --- AliRoot header files ---
22
23 #include "AliPHOSClusterizer.h"
24 #include "AliPHOSDigit.h" 
25
26
27
28 class AliPHOSClusterizerv1 : public AliPHOSClusterizer {
29   
30 public:
31   
32   AliPHOSClusterizerv1() ;             // ctor            
33   virtual ~AliPHOSClusterizerv1(){} ;  // dtor
34   
35   Int_t AreNeighbours(AliPHOSDigit * d1, AliPHOSDigit * d2) ; // Checks if digits are in neighbour cells 
36   Float_t Calibrate(Int_t Amp){ return (fA + fB * Amp) ;}     // Tranforms Amp to energy 
37   void FillandSort(const DigitsList * dl, TObjArray * tl) ;   // Sorts the list according to increasing id
38   Float_t GetLogWeightCut(void){return  fW0 ; }
39   Float_t GetLocalMaxCut(void) {return  fLocMaxCut ; }
40   virtual void GetNumberOfClustersFound(Int_t * numb) ;   
41   virtual Bool_t IsInEmc(AliPHOSDigit * digit) ;                      // Tells if id digit is in EMC
42   virtual void MakeClusters(const DigitsList * dl, RecPointsList * emcl, RecPointsList * ppsdl) ; // does the job 
43   virtual void PrintParameters() ;  
44   virtual void SetCalibrationParameters(Float_t A,Float_t B){ fA = A ; fB = B;} 
45   virtual void SetEmcClusteringThreshold(Float_t cluth) { fEmcClusteringThreshold = cluth ; }
46   virtual void SetEmcEnergyThreshold(Float_t enth) { fEmcEnergyThreshold = enth ; } 
47   virtual void SetLocalMaxCut(Float_t cut) { fLocMaxCut = cut ; }
48   virtual void SetLogWeightCut(Float_t w) { fW0 = w ; }
49   virtual void SetPpsdClusteringThreshold(Float_t cluth) { fPpsdClusteringThreshold = cluth ; }
50   virtual void SetPpsdEnergyThreshold(Float_t enth) { fPpsdEnergyThreshold = enth ; } 
51   
52 private:
53   
54   Float_t fA ;
55   Float_t fB ;
56   Float_t fEmcClusteringThreshold ; 
57   Float_t fEmcEnergyThreshold ; 
58   Float_t fLocMaxCut ;   
59   Int_t   fNumberOfEmcClusters ; 
60   Int_t   fNumberOfPpsdClusters ; 
61   Float_t fPpsdClusteringThreshold ; 
62   Float_t fPpsdEnergyThreshold ;  
63   Float_t fW0 ;   
64     
65   ClassDef(AliPHOSClusterizerv1,1)  // Clusterizer implementation , version 1
66
67 };
68
69 #endif // AliPHOSCLUSTERIZERV1_H