]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/AliITSClusterFinderSPD.h
V2 clusterer moved to the standard framework. V2 clusters and recpoints are still...
[u/mrichter/AliRoot.git] / ITS / AliITSClusterFinderSPD.h
1 #ifndef ALIITSCLUSTERFINDERSPD_H
2 #define ALIITSCLUSTERFINDERSPD_H
3
4 ////////////////////////////////////////////////
5 //  ITS Cluster Finder Class                 //
6 ////////////////////////////////////////////////
7
8 #include "AliITSClusterFinder.h"
9
10 class AliITSMapA1;
11 class AliITSsegmentation;
12 class AliITSsegmentationSPD;
13 class AliITSresponse;
14 class AliITSresponseSPD;
15 class TClonesArray;
16
17 class AliITSClusterFinderSPD : public AliITSClusterFinder{
18  public:
19     AliITSClusterFinderSPD();
20     AliITSClusterFinderSPD(AliITSsegmentation *segmentation,
21                            AliITSresponse *res);
22     AliITSClusterFinderSPD(AliITSsegmentation *segmentation,
23                            TClonesArray *digits,TClonesArray *recpoints);
24     virtual ~AliITSClusterFinderSPD(){}// destructor
25
26     virtual AliITSresponseSPD* GetResp()const{
27         return (AliITSresponseSPD*) GetResponse();}//Return Response
28     //Returns fSegmentation
29     virtual AliITSsegmentationSPD* GetSeg()const{
30         return (AliITSsegmentationSPD*)GetSegmentation();}  
31     virtual void SetDx(Double_t dx=1.) {fDx=dx;}// set dx
32     virtual void SetDz(Double_t dz=0.) {fDz=dz;}// set dz
33     // Search for clusters
34     virtual void FindRawClusters(Int_t module); 
35     void  DigitToPoint(Int_t nclus, Double_t *xcenter, Double_t *zcenter,
36                        Double_t *errxcenter,Double_t *errzcenter,
37                        Int_t *tr1clus, Int_t *tr2clus, Int_t *tr3clus);
38     void  ClusterFinder(Int_t ndigits,Int_t digx[],Int_t digz[],
39                         Int_t digtr1[],Int_t digtr2[],Int_t digtr3[],
40                         Int_t digtr4[],
41                         Int_t &nclus,
42                         Double_t xcenter[],Double_t zcenter[],
43                         Double_t errxcenter[],Double_t errzcenter[],  
44                         Int_t tr1clus[],Int_t tr2clus[], Int_t tr3clus[]);
45  protected:
46     // copy constructor
47     AliITSClusterFinderSPD(const AliITSClusterFinderSPD &source);
48     // assignment operator
49     AliITSClusterFinderSPD& operator=(const AliITSClusterFinderSPD &source);
50
51     Double_t             fDz;            // dz
52     Double_t             fDx;            // dx
53     Int_t               fMinNCells;     // min num of cells in the cluster
54   
55     ClassDef(AliITSClusterFinderSPD,2)  // SPD clustering
56 };
57 #endif