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