]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSClusterFinderSDD.h
Replaced private segmentation calculation with that of segmentation class.
[u/mrichter/AliRoot.git] / ITS / AliITSClusterFinderSDD.h
CommitLineData
b0f5e3fc 1#ifndef ALIITSCLUSTERFINDERSDD_H
2#define ALIITSCLUSTERFINDERSDD_H
3
4////////////////////////////////////////////////
5// ITS Cluster Finder Class //
6////////////////////////////////////////////////
7
78a228db 8
b0f5e3fc 9#include "AliITSClusterFinder.h"
10
e8189707 11class AliITSMapA2;
78a228db 12class TFile;
e8189707 13
50d05d7b 14class AliITSClusterFinderSDD : public AliITSClusterFinder{
15 public:
16
17 AliITSClusterFinderSDD(AliITSsegmentation *seg,AliITSresponse *response,
18 TClonesArray *digits,TClonesArray *recpoints);
19 AliITSClusterFinderSDD();
20 virtual ~AliITSClusterFinderSDD();
21
22 virtual void SetCutAmplitude(Float_t nsigma=4);
23 virtual Int_t CutAmplitude() {// get cut amplitude
24 return fCutAmplitude;}
25 virtual void SetDAnode(Float_t danode=4.2) {// setDAnode
26 fDAnode=danode;}
27 virtual Float_t DAnode() {// get DAnode
28 return fDAnode;}
29 virtual void SetDTime(Float_t dtime=75) {// SetDTime
30 fDTime=dtime;}
31 virtual Float_t DTime() {// get DTime
32 return fDTime;}
33 virtual void SetMinPeak(Int_t minpeak=10) {// SetMinPeak
34 fMinPeak=minpeak;}
35 virtual Int_t MinPeak() {// get MinPeak
36 return fMinPeak;}
37 virtual void SetMinCharge(Int_t mincharge=30) {// SetMinCharge
38 fMinCharge=mincharge;}
39 virtual Int_t MinCharge() {// get MinCharge
40 return fMinCharge;}
41 virtual void SetMinNCells(Int_t minc=3) {// setNCells
42 fMinNCells=minc;}
43 virtual Int_t MinNCells() {// get MinNCells
44 return fMinNCells;}
45 virtual void SetMaxNCells(Int_t maxc=10) {// setNCells
46 fMaxNCells=maxc;}
47 virtual Int_t MaxNCells() {// get MaxNCells
48 return fMaxNCells;}
49 virtual void SetTimeCorr(Float_t timec=23.) {// setNCells
50 fTimeCorr=timec;}
51 virtual Float_t TimeCorr() {// get Time Correction (ns)
52 return fTimeCorr;}
53
54 // Search for clusters
55 virtual void FindRawClusters(Int_t mod=0);
56 void Find1DClusters();
57 void Find1DClustersE();
58 void GroupClusters();
59 void SelectClusters();
60 void GetRecPoints();
61 void ResolveClusters(); // Boris........
62 void ResolveClustersE(); // Ernesto
63 Int_t SearchPeak(Float_t *spect,Int_t xdim,Int_t zdim,Int_t *peakX, Int_t
64 *peakZ, Float_t *peakAmp, Float_t minpeak ); // Ernesto
65 Int_t NoLinearFit(Int_t xdim,Int_t zdim,Float_t *param,Float_t *spe,
66 Int_t *niter, Float_t *chir );
67 void Minim( Int_t xdim, Int_t zdim, Float_t *param, Float_t *prm0,
68 Float_t *steprm,Float_t *chisqr,Float_t *spe,Float_t *speFit );
69 Float_t ChiSqr( Int_t xdim, Int_t zdim, Float_t *spe, Float_t *speFit );
70 void PeakFunc( Int_t xdim, Int_t zdim, Float_t *par, Float_t *spe, Float_t
71 *Integral=0 );
72 void Print();
73
74 private:
75 AliITSClusterFinderSDD(const AliITSClusterFinderSDD &source); // copy ctor
76 AliITSClusterFinderSDD& operator=(const AliITSClusterFinderSDD &source);
77
78 private:
79 Int_t fModule; //! ITS current module
80 TClonesArray *fClusters; //! clusters
81 Int_t fNclusters; //! num of clusters
82 Float_t fDAnode; //! fDanode
83 Float_t fDTime; //! fDtime
84 Float_t fTimeCorr; //! Correction factor along time coord
85 Int_t fCutAmplitude; //! cut amplitude
86 Int_t fMinPeak; //! min peak
87 Int_t fMinCharge; //! min charge
88 Int_t fMinNCells; //! min num of cells
89 Int_t fMaxNCells; //! max num of cells
90
91 ClassDef(AliITSClusterFinderSDD,1) // SDD clustering - Piergiorgio C. algo
92
93};
b0f5e3fc 94
b0f5e3fc 95#endif