]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/AliITSClusterFinder.h
Mostly minor changes to keep things consistant.
[u/mrichter/AliRoot.git] / ITS / AliITSClusterFinder.h
1 #ifndef ALIITSCLUSTERFINDER_H
2 #define ALIITSCLUSTERFINDER_H
3
4
5 ////////////////////////////////////////////////
6 //  ITS Cluster Finder Class                  //
7 ////////////////////////////////////////////////
8
9 #include <TObject.h>
10 #include <TClonesArray.h>
11
12 class AliITSMap;
13 class AliITSresponse;
14 class AliITSsegmentation;
15 class AliITSRawCluster;
16 class AliITS;
17 class AliITSRecPoint;
18
19 //---------------------------------------------------------------
20 class AliITSClusterFinder :public TObject
21 {
22 public:
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   
51   AliITSMap   *Map()  {
52     // map
53     return fMap;
54   }
55   //
56   virtual void AddCluster(Int_t branch, AliITSRawCluster *c);
57   virtual void AddCluster(Int_t branch, AliITSRawCluster *c, AliITSRecPoint &rp);
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 
104
105   // data members
106
107   TClonesArray           *fDigits;      // digits
108   Int_t                   fNdigits;     // num of digits
109   
110 protected:
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