]>
Commit | Line | Data |
---|---|---|
237c933d | 1 | #ifndef ALIRICHCLUSTERFINDER_H |
2 | #define ALIRICHCLUSTERFINDER_H | |
8265fa96 | 3 | |
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | /* $Id$ */ | |
8 | ||
9 | ||
10 | //////////////////////////////////////////////// | |
11 | // RICH Cluster Finder Class // | |
12 | //////////////////////////////////////////////// | |
237c933d | 13 | class AliRICHHitMapA1; |
14 | ||
8265fa96 | 15 | #include "TF1.h" |
237c933d | 16 | #include "TObject.h" |
17 | class TClonesArray; | |
a2f7eaf6 | 18 | class AliSegmentation; |
237c933d | 19 | class AliRICHRawCluster; |
20 | class AliRICHResponse; | |
21 | class TClonesArray; | |
22 | ||
23 | ||
f5f1abe8 | 24 | class AliRICHClusterFinder : public TObject |
8265fa96 | 25 | { |
8265fa96 | 26 | public: |
27 | AliRICHClusterFinder | |
a2f7eaf6 | 28 | (AliSegmentation *segmentation, |
8265fa96 | 29 | AliRICHResponse *response, TClonesArray *digits, Int_t chamber); |
30 | AliRICHClusterFinder(); | |
237c933d | 31 | AliRICHClusterFinder(const AliRICHClusterFinder & ClusterFinder); |
32 | virtual ~AliRICHClusterFinder(); | |
8265fa96 | 33 | virtual void SetSegmentation( |
a2f7eaf6 | 34 | AliSegmentation *segmentation){ |
8265fa96 | 35 | fSegmentation=segmentation; |
36 | } | |
37 | virtual void SetResponse(AliRICHResponse *response) { | |
38 | fResponse=response; | |
39 | } | |
40 | ||
237c933d | 41 | virtual void SetDigits(TClonesArray *RICHdigits); |
8265fa96 | 42 | |
43 | virtual void SetChamber(Int_t ich){ | |
44 | fChamber=ich; | |
45 | } | |
46 | ||
237c933d | 47 | virtual void AddRawCluster(const AliRICHRawCluster c); |
8265fa96 | 48 | // Search for raw clusters |
49 | virtual void FindRawClusters(); | |
50 | virtual void FindCluster(Int_t i, Int_t j, AliRICHRawCluster &c); | |
51 | // Decluster | |
52 | virtual void Decluster(AliRICHRawCluster *cluster); | |
53 | // Set max. Number of pads per local cluster | |
54 | virtual void SetNperMax(Int_t npermax=5) {fNperMax = npermax;} | |
55 | // Decluster ? | |
56 | virtual void SetDeclusterFlag(Int_t flag=1) {fDeclusterFlag =flag;} | |
57 | // Set max. cluster size ; bigger clusters will be rejected | |
58 | virtual void SetClusterSize(Int_t clsize=5) {fClusterSize = clsize;} | |
59 | // Self Calibration of COG | |
60 | virtual void CalibrateCOG(); | |
61 | virtual void SinoidalFit(Float_t x, Float_t y, TF1 &func); | |
62 | // | |
63 | virtual void CorrectCOG(){;} | |
64 | ||
65 | // | |
66 | virtual Bool_t Centered(AliRICHRawCluster *cluster); | |
67 | virtual void SplitByLocalMaxima(AliRICHRawCluster *cluster); | |
237c933d | 68 | virtual void FillCluster(AliRICHRawCluster *cluster, Int_t flag); |
8265fa96 | 69 | virtual void FillCluster(AliRICHRawCluster *cluster) { |
70 | FillCluster(cluster,1);} | |
f5f1abe8 | 71 | |
8265fa96 | 72 | TClonesArray* RawClusters(){return fRawClusters;} |
237c933d | 73 | AliRICHClusterFinder& operator=(const AliRICHClusterFinder& rhs); |
8265fa96 | 74 | ClassDef(AliRICHClusterFinder,1) //Class for clustering and reconstruction of space points |
f5f1abe8 | 75 | |
237c933d | 76 | protected: |
a2f7eaf6 | 77 | AliSegmentation* fSegmentation; //Segmentation model |
237c933d | 78 | AliRICHResponse* fResponse; //Response model |
79 | TClonesArray* fRawClusters; //Raw clusters list | |
237c933d | 80 | AliRICHHitMapA1* fHitMap; //Hit Map with digit positions |
81 | TF1* fCogCorr; //Correction for center of gravity | |
f5f1abe8 | 82 | TClonesArray* fDigits; //List of digits |
83 | Int_t fNdigits; //Number of digits | |
84 | Int_t fChamber; //Chamber number | |
85 | Int_t fNRawClusters; //Number of raw clusters | |
237c933d | 86 | Int_t fNperMax; //Number of pad hits per local maximum |
87 | Int_t fDeclusterFlag; //Split clusters flag | |
88 | Int_t fClusterSize; //Size of cluster | |
89 | Int_t fNPeaks; //Number of maxima in the cluster | |
8265fa96 | 90 | }; |
91 | #endif | |
92 | ||
93 | ||
94 | ||
95 | ||
96 | ||
97 | ||
98 |