]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/AliITSClusterFinderSDD.h
Added a dummy argument to FindRawClusters. Argument used for SSD version.
[u/mrichter/AliRoot.git] / ITS / AliITSClusterFinderSDD.h
1 #ifndef ALIITSCLUSTERFINDERSDD_H
2 #define ALIITSCLUSTERFINDERSDD_H
3
4 ////////////////////////////////////////////////
5 //  ITS Cluster Finder Class                 //
6 ////////////////////////////////////////////////
7
8
9 #include "AliITSClusterFinder.h"
10
11 class AliITSMapA2;
12 class TFile;
13
14 class AliITSClusterFinderSDD :
15  public AliITSClusterFinder
16
17 {
18 public:
19   AliITSClusterFinderSDD
20   (AliITSsegmentation *seg, 
21    AliITSresponse *response, TClonesArray *digits,TClonesArray *recpoints);
22   AliITSClusterFinderSDD();
23   virtual ~AliITSClusterFinderSDD();
24   AliITSClusterFinderSDD(const AliITSClusterFinderSDD &source); // copy constructor
25   AliITSClusterFinderSDD& operator=(const AliITSClusterFinderSDD &source); // assignment operator
26   
27   virtual void SetCutAmplitude(Int_t thres=0) {
28     // set cut amplitude
29     fCutAmplitude=thres;
30   }
31   virtual Int_t CutAmplitude() {
32     // get cut amplitude
33     return fCutAmplitude;
34   }
35   virtual void SetDAnode(Float_t danode=4.2) {
36     // setDAnode
37     fDAnode=danode;
38   }
39   virtual Float_t DAnode() {
40     // get DAnode
41     return fDAnode;
42   }
43   virtual void SetDTime(Float_t dtime=75) {
44     // SetDTime
45     fDTime=dtime;
46   }
47   virtual Float_t DTime() {
48     // get DTime
49     return fDTime;
50   }
51   virtual void SetMinPeak(Int_t minpeak=10) {
52     // SetMinPeak
53     fMinPeak=minpeak;
54   }
55   virtual Int_t MinPeak() {
56     // get MinPeak
57     return fMinPeak;
58   }
59   virtual void SetMinCharge(Int_t mincharge=30) {
60     // SetMinCharge
61     fMinCharge=mincharge;
62   }
63   virtual Int_t MinCharge() {
64     // get MinCharge
65     return fMinCharge;
66   }
67   virtual void SetMinNCells(Int_t minc=3) {
68     // setNCells
69     fMinNCells=minc;
70   }
71   virtual Int_t MinNCells() {
72     // get MinNCells
73     return fMinNCells;
74   }
75    virtual void SetMaxNCells(Int_t maxc=10) {
76     // setNCells
77     fMaxNCells=maxc;
78   }
79   virtual Int_t MaxNCells() {
80     // get MaxNCells
81     return fMaxNCells;
82   }
83    virtual void SetTimeCorr(Float_t timec=23.) {
84     // setNCells
85     fTimeCorr=timec;
86   }
87   virtual Float_t TimeCorr() {
88     // get Time Correction (ns)
89     return fTimeCorr;
90   }
91   
92   // Search for clusters
93   virtual void FindRawClusters(Int_t mod=0);
94   void  Find1DClusters();
95   void  Find1DClustersE();
96   void  GroupClusters();
97   void  SelectClusters();
98   void  GetRecPoints();
99   void ResolveClusters(); // Boris........ 
100   void ResolveClustersE(); // Ernesto 
101   Int_t SearchPeak( Float_t *spect, Int_t xdim, Int_t zdim, Int_t *peakX, Int_t
102                     *peakZ, Float_t *peakAmp, Float_t minpeak ); // Ernesto
103   Int_t noLinearFit( Int_t xdim, Int_t zdim, Float_t *param, Float_t *spe, Int_t
104                      *niter, Float_t *chir );
105   void minim( Int_t xdim, Int_t zdim, Float_t *param, Float_t *prm0, Float_t *steprm, Float_t *chisqr, 
106                       Float_t *spe, Float_t *speFit );
107   Float_t chisq( Int_t xdim, Int_t zdim, Float_t *spe, Float_t *speFit );
108   void PeakFunc( Int_t xdim, Int_t zdim, Float_t *par, Float_t *spe, Float_t
109                  *Integral=0 ); 
110
111   virtual void Print();
112
113 private:
114   
115   TClonesArray       *fClusters;      // clusters
116   Int_t               fNclusters;     // num of clusters
117   Float_t             fDAnode;        // fDanode
118   Float_t             fDTime;         // fDtime
119   Float_t             fTimeCorr;      // Correction factor along time coord
120   
121   Int_t               fCutAmplitude;  // cut amplitude
122   Int_t               fMinPeak;       // min peak
123   Int_t               fMinCharge;     // min charge
124   Int_t               fMinNCells;     // min num of cells
125   Int_t               fMaxNCells;     // max num of cells
126   ClassDef(AliITSClusterFinderSDD,1) // SDD clustering - Piergiorgio C. algo
127     };
128 #endif
129
130
131
132
133
134
135