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 */
8 ////////////////////////////////////////////////
9 // Clusterizer implementation version 1 //
10 // algorithme class //
12 // Author Yves Schutz SUBATECH //
15 ////////////////////////////////////////////////
17 // --- ROOT system ---
19 // --- Standard library ---
21 // --- AliRoot header files ---
23 #include "AliPHOSClusterizer.h"
24 #include "AliPHOSDigit.h"
28 class AliPHOSClusterizerv1 : public AliPHOSClusterizer {
32 AliPHOSClusterizerv1() ; // ctor
33 virtual ~AliPHOSClusterizerv1(){} ; // dtor
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) ;
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; }
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 ; }
65 Float_t fEmcClusteringThreshold ;
66 Float_t fEmcEnergyThreshold ;
68 Int_t fNumberOfEmcClusters ;
69 Int_t fNumberOfPpsdClusters ;
70 Float_t fPpsdClusteringThreshold ;
71 Float_t fPpsdEnergyThreshold ;
74 ClassDef(AliPHOSClusterizerv1,1) // Clusterizer implementation , version 1
78 #endif // AliPHOSCLUSTERIZERV1_H