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