029d314bee7a9ab8c98e4f8ad829930f5c1706ca
[u/mrichter/AliRoot.git] / HLT / hough / AliL3HoughEval.h
1 #ifndef ALIL3_HOUGH_Eval
2 #define ALIL3_HOUGH_Eval
3
4 #include "AliL3RootTypes.h"
5
6
7 class AliL3HoughTransformer;
8 class AliL3Transform;
9 class AliL3HoughTrack;
10 class AliL3DigitRowData;
11 class AliL3Histogram;
12 class AliL3Histogram1D;
13
14 class AliL3HoughEval {
15   
16  private:
17
18   Int_t fSlice;
19   Int_t fPatch;
20   Int_t fNrows;
21   Int_t fNEtaSegments;
22   Double_t fEtaMin;
23   Double_t fEtaMax;
24   Int_t fNumOfPadsToLook;
25   Int_t fNumOfRowsToMiss;
26   AliL3Histogram1D **fEtaHistos; //!
27
28   //Flags
29   Bool_t fRemoveFoundTracks;
30   
31   AliL3Transform *fTransform; //!
32   AliL3HoughTransformer *fHoughTransformer; //!
33   AliL3DigitRowData **fRowPointers; //!
34   
35  public:
36   AliL3HoughEval(); 
37   virtual ~AliL3HoughEval();
38   
39   void InitTransformer(AliL3HoughTransformer *transformer);
40   void GenerateLUT();
41   void DisplayEtaSlice(Int_t eta_index,AliL3Histogram *hist);
42   Bool_t LookInsideRoad(AliL3HoughTrack *track,Int_t eta_index,Bool_t remove=kFALSE);
43 #ifdef use_root
44   void CompareMC(AliL3TrackArray *tracks,Char_t *goodtracks="good_tracks",Int_t treshold=0);
45 #endif
46   void FindEta(AliL3TrackArray *tracks);
47   
48   //Getters
49   AliL3Histogram1D *GetEtaHisto(Int_t i) {if(!fEtaHistos) return 0; if(!fEtaHistos[i]) return 0; return fEtaHistos[i];}
50
51   //Setters:
52   void RemoveFoundTracks() {fRemoveFoundTracks = kTRUE;}
53   void SetNumOfRowsToMiss(Int_t i) {fNumOfRowsToMiss = i;}
54   void SetNumOfPadsToLook(Int_t i) {fNumOfPadsToLook = i;}
55
56   ClassDef(AliL3HoughEval,1) //Hough transform verfication class
57
58 };
59
60 #endif