]>
Commit | Line | Data |
---|---|---|
8265fa96 | 1 | #ifndef AliRICHClusterFinder_H |
2 | #define AliRICHClusterFinder_H | |
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 | //////////////////////////////////////////////// | |
13 | #include "AliRICHHitMap.h" | |
14 | #include "TF1.h" | |
15 | class AliRICHClusterFinder : | |
16 | public TObject | |
17 | { | |
18 | public: | |
19 | TClonesArray* fDigits; | |
20 | Int_t fNdigits; | |
21 | protected: | |
22 | AliRICHSegmentation* fSegmentation; | |
23 | AliRICHResponse* fResponse; | |
24 | TClonesArray* fRawClusters; | |
25 | Int_t fChamber; | |
26 | Int_t fNRawClusters; | |
27 | AliRICHHitMapA1* fHitMap; | |
28 | TF1* fCogCorr; | |
29 | Int_t fNperMax; | |
30 | Int_t fDeclusterFlag; | |
31 | Int_t fClusterSize; | |
32 | Int_t fNPeaks; | |
33 | public: | |
34 | AliRICHClusterFinder | |
35 | (AliRICHSegmentation *segmentation, | |
36 | AliRICHResponse *response, TClonesArray *digits, Int_t chamber); | |
37 | AliRICHClusterFinder(); | |
38 | ~AliRICHClusterFinder(){delete fRawClusters;} | |
39 | virtual void SetSegmentation( | |
40 | AliRICHSegmentation *segmentation){ | |
41 | fSegmentation=segmentation; | |
42 | } | |
43 | virtual void SetResponse(AliRICHResponse *response) { | |
44 | fResponse=response; | |
45 | } | |
46 | ||
47 | virtual void SetDigits(TClonesArray *RICHdigits) { | |
48 | fDigits=RICHdigits; | |
49 | fNdigits = fDigits->GetEntriesFast(); | |
50 | } | |
51 | ||
52 | virtual void SetChamber(Int_t ich){ | |
53 | fChamber=ich; | |
54 | } | |
55 | ||
56 | virtual void AddRawCluster(const AliRICHRawCluster); | |
57 | // Search for raw clusters | |
58 | virtual void FindRawClusters(); | |
59 | virtual void FindCluster(Int_t i, Int_t j, AliRICHRawCluster &c); | |
60 | // Decluster | |
61 | virtual void Decluster(AliRICHRawCluster *cluster); | |
62 | // Set max. Number of pads per local cluster | |
63 | virtual void SetNperMax(Int_t npermax=5) {fNperMax = npermax;} | |
64 | // Decluster ? | |
65 | virtual void SetDeclusterFlag(Int_t flag=1) {fDeclusterFlag =flag;} | |
66 | // Set max. cluster size ; bigger clusters will be rejected | |
67 | virtual void SetClusterSize(Int_t clsize=5) {fClusterSize = clsize;} | |
68 | // Self Calibration of COG | |
69 | virtual void CalibrateCOG(); | |
70 | virtual void SinoidalFit(Float_t x, Float_t y, TF1 &func); | |
71 | // | |
72 | virtual void CorrectCOG(){;} | |
73 | ||
74 | // | |
75 | virtual Bool_t Centered(AliRICHRawCluster *cluster); | |
76 | virtual void SplitByLocalMaxima(AliRICHRawCluster *cluster); | |
77 | virtual void FillCluster(AliRICHRawCluster *cluster, Int_t); | |
78 | virtual void FillCluster(AliRICHRawCluster *cluster) { | |
79 | FillCluster(cluster,1);} | |
80 | TClonesArray* RawClusters(){return fRawClusters;} | |
81 | ClassDef(AliRICHClusterFinder,1) //Class for clustering and reconstruction of space points | |
82 | }; | |
83 | #endif | |
84 | ||
85 | ||
86 | ||
87 | ||
88 | ||
89 | ||
90 |