]>
Commit | Line | Data |
---|---|---|
b0f5e3fc | 1 | #ifndef ALIITSCLUSTERFINDER_H |
2 | #define ALIITSCLUSTERFINDER_H | |
9de0700b | 3 | |
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | /* $Id$ */ | |
b0f5e3fc | 8 | |
9 | //////////////////////////////////////////////// | |
e8189707 | 10 | // ITS Cluster Finder Class // |
b0f5e3fc | 11 | //////////////////////////////////////////////// |
12 | ||
e8189707 | 13 | #include <TObject.h> |
14 | #include <TClonesArray.h> | |
15 | ||
16 | class AliITSMap; | |
17 | class AliITSresponse; | |
18 | class AliITSsegmentation; | |
19 | class AliITSRawCluster; | |
20 | class AliITS; | |
8ca6a9a5 | 21 | class AliITSdigit; |
9355b256 | 22 | class AliITSRecPoint; |
b0f5e3fc | 23 | |
9de0700b | 24 | //---------------------------------------------------------------------- |
25 | class AliITSClusterFinder :public TObject{ | |
26 | public: | |
27 | AliITSClusterFinder(); | |
28 | AliITSClusterFinder(AliITSsegmentation *seg, AliITSresponse *resp, | |
29 | TClonesArray *digits); | |
30 | virtual ~AliITSClusterFinder(); | |
31 | AliITSClusterFinder(const AliITSClusterFinder &source); // copy constructor | |
32 | // assignment operator | |
33 | AliITSClusterFinder& operator=(const AliITSClusterFinder &source); | |
34 | virtual void SetResponse(AliITSresponse *response) { | |
35 | // set response | |
36 | fResponse=response; | |
37 | } | |
38 | virtual void SetSegmentation(AliITSsegmentation *segmentation) { | |
39 | // set segmentation | |
40 | fSegmentation=segmentation; | |
41 | } | |
42 | virtual void SetDigits(TClonesArray *ITSdigits) { | |
43 | // set digits | |
44 | fDigits=ITSdigits; | |
45 | fNdigits = fDigits->GetEntriesFast(); | |
46 | } | |
47 | virtual AliITSdigit* GetDigit(Int_t i){ | |
48 | return (AliITSdigit*) fDigits->UncheckedAt(i); | |
49 | } | |
50 | virtual TClonesArray* Digits(){ | |
51 | return fDigits; | |
52 | } | |
53 | virtual Int_t NDigits() { | |
54 | // Get Number of Digits | |
55 | return fNdigits; | |
56 | } | |
57 | AliITSMap *Map() { | |
58 | // map | |
59 | return fMap; | |
60 | } | |
61 | // | |
62 | virtual void AddCluster(Int_t branch, AliITSRawCluster *c); | |
63 | virtual void AddCluster(Int_t branch, AliITSRawCluster *c, | |
64 | AliITSRecPoint &rp); | |
65 | virtual void FindRawClusters(Int_t mod=0) { | |
66 | // Search for raw clusters | |
67 | } | |
68 | virtual void FindCluster(Int_t i, Int_t j, AliITSRawCluster *c) { | |
69 | // find cluster | |
70 | } | |
71 | virtual void Decluster(AliITSRawCluster *cluster) { | |
72 | // Decluster | |
73 | } | |
74 | virtual void SetNperMax(Int_t npermax=3) { | |
75 | // Set max. Number of cells per local cluster | |
76 | fNperMax = npermax; | |
77 | } | |
78 | virtual void SetDeclusterFlag(Int_t flag=1) { | |
79 | // Decluster ? | |
80 | fDeclusterFlag =flag; | |
81 | } | |
82 | virtual void SetClusterSize(Int_t clsize=3) { | |
83 | // Set max. cluster size ; bigger clusters will be rejected | |
84 | fClusterSize = clsize; | |
85 | } | |
86 | virtual void CalibrateCOG() { | |
87 | // Self Calibration of COG | |
88 | } | |
89 | virtual void CorrectCOG(){ | |
90 | // correct COG | |
91 | } | |
92 | virtual Bool_t Centered(AliITSRawCluster *cluster) { | |
93 | // cluster | |
94 | return kTRUE; | |
95 | } | |
96 | virtual void SplitByLocalMaxima(AliITSRawCluster *cluster) { | |
97 | // split by local maxima | |
98 | } | |
99 | virtual void FillCluster(AliITSRawCluster *cluster, Int_t) { | |
100 | // fiil cluster | |
101 | } | |
102 | virtual void FillCluster(AliITSRawCluster *cluster) { | |
103 | // fill cluster | |
104 | FillCluster(cluster,1); | |
105 | } | |
106 | // set the fitting methods in the derived classes | |
107 | // data members | |
e8189707 | 108 | |
9de0700b | 109 | TClonesArray *fDigits; //! digits |
110 | Int_t fNdigits; //! num of digits | |
e8189707 | 111 | |
9de0700b | 112 | protected: |
113 | AliITSresponse *fResponse; //! response | |
114 | AliITSsegmentation *fSegmentation; //!segmentation | |
115 | Int_t fNRawClusters; //! in case we split the cluster | |
116 | // and want to keep track of | |
117 | // the cluster which was splitted | |
118 | AliITSMap *fMap; //! map | |
119 | Int_t fNperMax; //! NperMax | |
120 | Int_t fDeclusterFlag; //! DeclusterFlag | |
121 | Int_t fClusterSize; //! ClusterSize | |
122 | Int_t fNPeaks; //! NPeaks | |
b0f5e3fc | 123 | |
2b00434a | 124 | ClassDef(AliITSClusterFinder,2) //Class for clustering and reconstruction of space points |
9de0700b | 125 | }; |
b0f5e3fc | 126 | #endif |