]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/AliITSClusterFinderSPD.h
Print removed
[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     // copy constructor
26     AliITSClusterFinderSPD(const AliITSClusterFinderSPD &source);
27     // assignment operator
28     AliITSClusterFinderSPD& operator=(const AliITSClusterFinderSPD &source);
29
30     virtual AliITSresponseSPD* GetResp()const{
31         return (AliITSresponseSPD*) GetResponse();}//Return Response
32     //Returns fSegmentation
33     virtual AliITSsegmentationSPD* GetSeg()const{
34         return (AliITSsegmentationSPD*)GetSegmentation();}  
35     virtual void SetDx(Double_t dx=1.) {fDx=dx;}// set dx
36     virtual void SetDz(Double_t dz=0.) {fDz=dz;}// set dz
37     // Search for clusters
38     virtual void FindRawClusters(Int_t module); 
39     void  DigitToPoint(Int_t nclus, Double_t *xcenter, Double_t *zcenter,
40                        Double_t *errxcenter,Double_t *errzcenter,
41                        Int_t *tr1clus, Int_t *tr2clus, Int_t *tr3clus);
42     void  ClusterFinder(Int_t ndigits,Int_t digx[],Int_t digz[],
43                         Int_t digtr1[],Int_t digtr2[],Int_t digtr3[],
44                         Int_t digtr4[],
45                         Int_t &nclus,
46                         Double_t xcenter[],Double_t zcenter[],
47                         Double_t errxcenter[],Double_t errzcenter[],  
48                         Int_t tr1clus[],Int_t tr2clus[], Int_t tr3clus[]);
49   private:
50     Double_t             fDz;            // dz
51     Double_t             fDx;            // dx
52     Int_t               fMinNCells;     // min num of cells in the cluster
53   
54     ClassDef(AliITSClusterFinderSPD,2)  // SPD clustering
55 };
56 #endif