3 #ifndef ALIL3_HOUGH_MaxFinder
4 #define ALIL3_HOUGH_MaxFinder
6 #include "AliL3RootTypes.h"
10 class AliL3HoughTrack;
21 class AliL3HoughMaxFinder {
26 AliL3Histogram *fCurrentHisto; //!
39 TNtuple *fNtuppel; //!
43 AliL3HoughMaxFinder();
44 AliL3HoughMaxFinder(Char_t *histotype,Int_t nmax,AliL3Histogram *hist=0);
45 virtual ~AliL3HoughMaxFinder();
49 void WriteNtuppel(Char_t *filename);
51 //Simple maxima finders:
54 void FindMaxima(Int_t threshold=0);
55 void FindAdaptedPeaks(Int_t nkappawindow,Float_t cut_ratio);
56 //Peak finder for HoughTransformerRow
57 void FindAdaptedRowPeaks(Int_t kappawindow,Int_t xsize,Int_t ysize);
58 //More sophisticated peak finders:
59 void FindPeak(Int_t t1,Double_t t2,Int_t t3);
60 void FindPeak1(Int_t y_window=2,Int_t x_bin_sides=1);
61 void SortPeaks(struct AxisWindow **a,Int_t first,Int_t last);
62 Int_t PeakCompare(struct AxisWindow *a,struct AxisWindow *b);
65 void SetGradient(Float_t x,Float_t y) {fGradX=x; fGradY=y;}
66 void SetThreshold(Int_t f) {fThreshold = f;}
67 void SetHistogram(AliL3Histogram *hist) {fCurrentHisto = hist;}
70 Float_t GetXPeak(Int_t i);
71 Float_t GetYPeak(Int_t i);
72 Int_t GetWeight(Int_t i);
73 Int_t GetEntries() {return fNPeaks;}
75 ClassDef(AliL3HoughMaxFinder,1) //Maximum finder class
79 inline Float_t AliL3HoughMaxFinder::GetXPeak(Int_t i)
83 STDCERR<<"AliL3HoughMaxFinder::GetXPeak : Invalid index "<<i<<STDENDL;
89 inline Float_t AliL3HoughMaxFinder::GetYPeak(Int_t i)
93 STDCERR<<"AliL3HoughMaxFinder::GetYPeak : Invalid index "<<i<<STDENDL;
100 inline Int_t AliL3HoughMaxFinder::GetWeight(Int_t i)
104 STDCERR<<"AliL3HoughMaxFinder::GetWeight : Invalid index "<<i<<STDENDL;