New ALIPHOSv1: includes the light transport in the Xtal
[u/mrichter/AliRoot.git] / PHOS / AliPHOSClusterizerv1.h
CommitLineData
d15a28e7 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
6ad0bfa0 6/* $Id$ */
7
d15a28e7 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
28class AliPHOSClusterizerv1 : public AliPHOSClusterizer {
29
30public:
31
32 AliPHOSClusterizerv1() ; // ctor
33 virtual ~AliPHOSClusterizerv1(){} ; // dtor
34
9f616d61 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
d15a28e7 38 Float_t GetLogWeightCut(void){return fW0 ; }
39 Float_t GetLocalMaxCut(void) {return fLocMaxCut ; }
40 virtual void GetNumberOfClustersFound(Int_t * numb) ;
9f616d61 41 Bool_t IsInEmc(AliPHOSDigit * digit) ; // Tells if id digit is in EMC
d15a28e7 42 virtual void MakeClusters(const DigitsList * dl, RecPointsList * emcl, RecPointsList * ppsdl) ; // does the job
6ad0bfa0 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 ; }
d15a28e7 51
52private:
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
65public:
66
67 ClassDef(AliPHOSClusterizerv1,1) // Clusterizer implementation , version 1
68
69};
70
71#endif // AliPHOSCLUSTERIZERV1_H