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