f0ce488e3c8038b66f71ee00c365a721d09bac22
[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 : public TObject {
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   void CompareMC(AliL3TrackArray *tracks,Char_t *goodtracks="good_tracks");
44   void FindEta(AliL3TrackArray *tracks);
45   
46   //Getters
47   AliL3Histogram1D *GetEtaHisto(Int_t i) {if(!fEtaHistos) return 0; if(!fEtaHistos[i]) return 0; return fEtaHistos[i];}
48
49   //Setters:
50   void RemoveFoundTracks() {fRemoveFoundTracks = kTRUE;}
51   void SetNumOfRowsToMiss(Int_t i) {fNumOfRowsToMiss = i;}
52   void SetNumOfPadsToLook(Int_t i) {fNumOfPadsToLook = i;}
53
54   ClassDef(AliL3HoughEval,1)
55
56 };
57
58 #endif