Adding Get functions to Clusterizerv1
[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  
42   virtual void GetCalibrationParameters(Float_t & A, Float_t &B) { A = fA; B = fB; } 
43   virtual void GetEmcClusteringThreshold(Float_t & cluth) { cluth = fEmcClusteringThreshold;}
44   virtual void GetEmcEnergyThreshold(Float_t & enth) { enth =  fEmcEnergyThreshold; }  
45   virtual void GetLocalMaxCut(Float_t & cut) { cut =  fLocMaxCut;} 
46   virtual void GetLogWeightCut(Float_t & w) { w =fW0;}  
47   virtual void GetPpsdClusteringThreshold(Float_t & cluth) { cluth =  fPpsdClusteringThreshold;  } 
48   virtual void GetPpsdEnergyThreshold(Float_t & enth) { enth = fPpsdEnergyThreshold;  }
49
50   virtual Bool_t IsInEmc(AliPHOSDigit * digit) ;                      // Tells if id digit is in EMC
51   virtual void MakeClusters(const DigitsList * dl, RecPointsList * emcl, RecPointsList * ppsdl) ; // does the job 
52   virtual void PrintParameters() ;  
53   virtual void SetCalibrationParameters(Float_t A,Float_t B){ fA = A ; fB = B;} 
54   virtual void SetEmcClusteringThreshold(Float_t cluth) { fEmcClusteringThreshold = cluth ; }
55   virtual void SetEmcEnergyThreshold(Float_t enth) { fEmcEnergyThreshold = enth ; } 
56   virtual void SetLocalMaxCut(Float_t cut) { fLocMaxCut = cut ; }
57   virtual void SetLogWeightCut(Float_t w) { fW0 = w ; }
58   virtual void SetPpsdClusteringThreshold(Float_t cluth) { fPpsdClusteringThreshold = cluth ; }
59   virtual void SetPpsdEnergyThreshold(Float_t enth) { fPpsdEnergyThreshold = enth ; } 
60   
61 private:
62   
63   Float_t fA ;
64   Float_t fB ;
65   Float_t fEmcClusteringThreshold ; 
66   Float_t fEmcEnergyThreshold ; 
67   Float_t fLocMaxCut ;   
68   Int_t   fNumberOfEmcClusters ; 
69   Int_t   fNumberOfPpsdClusters ; 
70   Float_t fPpsdClusteringThreshold ; 
71   Float_t fPpsdEnergyThreshold ;  
72   Float_t fW0 ;   
73     
74   ClassDef(AliPHOSClusterizerv1,1)  // Clusterizer implementation , version 1
75
76 };
77
78 #endif // AliPHOSCLUSTERIZERV1_H