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