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