Rewriting and cleaning up
[u/mrichter/AliRoot.git] / HLT / hough / AliL3HoughTransformer.h
CommitLineData
4de874d1 1#ifndef ALIL3_HOUGHTRANSFORMER
2#define ALIL3_HOUGHTRANSFORMER
3
4#include "AliL3RootTypes.h"
5
4de874d1 6class AliL3Transform;
99e7186b 7class AliL3Histogram;
4cafa5fc 8class AliL3DigitRowData;
4de874d1 9
10class AliL3HoughTransformer : public TObject {
11
12 private:
13
99e7186b 14 Int_t fSlice;
15 Int_t fPatch;
16 Int_t fNEtaSegments;
17 Double_t fEtaMin;
18 Double_t fEtaMax;
19 Int_t fThreshold;
4de874d1 20 AliL3Transform *fTransform; //!
99e7186b 21
4fc9a6a4 22 //Pointers to histograms
99e7186b 23 AliL3Histogram **fParamSpace; //!
4de874d1 24
99e7186b 25 //Data pointers
26 UInt_t fNDigitRowData;
4cafa5fc 27 AliL3DigitRowData *fDigitRowData; //!
4de874d1 28
99e7186b 29 void DeleteHistograms();
4de874d1 30
31 public:
32 AliL3HoughTransformer();
99e7186b 33 AliL3HoughTransformer(Int_t slice,Int_t patch,Int_t n_eta_segments);
4de874d1 34 virtual ~AliL3HoughTransformer();
99e7186b 35
4cafa5fc 36 void SetInputData(UInt_t ndigits,AliL3DigitRowData *ptr);
4fc9a6a4 37 void UpdateDataPointer(AliL3DigitRowData *&tempPt);
38 void CreateHistograms(Int_t nxbin=64,Double_t xmin=-0.006,Double_t xmax=0.006,
39 Int_t nybin=64,Double_t ymin=-0.26,Double_t ymax=0.26);
40 void TransformCircle();
41 void TransformLine();
42
43 //Getters
99e7186b 44 Int_t GetSlice() {return fSlice;}
45 Int_t GetPatch() {return fPatch;}
46 Int_t GetNEtaSegments() {return fNEtaSegments;}
4fc9a6a4 47 Int_t GetThreshold() {return fThreshold;}
99e7186b 48 Double_t GetEtaMin() {return fEtaMin;}
49 Double_t GetEtaMax() {return fEtaMax;}
50 void *GetDataPointer() {return (void*)fDigitRowData;}
51 AliL3Histogram *GetHistogram(Int_t eta_index);
4fc9a6a4 52
53 //setters
54 void SetThreshold(Int_t i) {fThreshold = i;}
99e7186b 55
4de874d1 56 ClassDef(AliL3HoughTransformer,1)
57
58};
59
99e7186b 60inline AliL3Histogram *AliL3HoughTransformer::GetHistogram(Int_t eta_index)
61{
62 if(!fParamSpace || eta_index >= fNEtaSegments)
63 return 0;
64 if(!fParamSpace[eta_index])
65 return 0;
66 return fParamSpace[eta_index];
67}
68
4de874d1 69#endif