]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/hough/AliL3HoughEval.h
added data source and sink base components
[u/mrichter/AliRoot.git] / HLT / hough / AliL3HoughEval.h
1 // @(#) $Id$
2
3 #ifndef ALIL3HOUGHEVAL_H
4 #define ALIL3HOUGHEVAL_H
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  public:
18   AliL3HoughEval(); 
19   virtual ~AliL3HoughEval();
20   
21   void InitTransformer(AliL3HoughBaseTransformer *transformer);
22   void GenerateLUT();
23   void DisplayEtaSlice(Int_t etaindex,AliL3Histogram *hist);
24   Bool_t LookInsideRoad(AliL3HoughTrack *track,Int_t &nrowscrossed,Int_t *rowrange,Bool_t remove=kFALSE);
25 #ifdef use_root
26   void CompareMC(AliL3TrackArray *tracks,Char_t *goodtracks="good_tracks",Int_t treshold=0);
27 #endif
28   void FindEta(AliL3TrackArray *tracks);
29   
30   //Getters
31   AliL3Histogram1D *GetEtaHisto(Int_t i) {if(!fEtaHistos) return 0; if(!fEtaHistos[i]) return 0; return fEtaHistos[i];}
32
33   //Setters:
34   void RemoveFoundTracks() {fRemoveFoundTracks = kTRUE;}
35   void SetNumOfRowsToMiss(Int_t i) {fNumOfRowsToMiss = i;}
36   void SetNumOfPadsToLook(Int_t i) {fNumOfPadsToLook = i;}
37   void SetSlice(Int_t i) {fSlice=i;}
38   void SetZVertex(Float_t zvertex) {fZVertex=zvertex;}
39
40  private:
41
42   Int_t fSlice;//Index of the slice being processed
43   Int_t fPatch;//Index of the patch being processed
44   Int_t fNrows;//Number of padrows inside the patch
45   Int_t fNEtaSegments;//Number of eta slices
46   Double_t fEtaMin;//Minimum allowed eta
47   Double_t fEtaMax;//Maximum allowed eta
48   Int_t fNumOfPadsToLook;//Padrow search window
49   Int_t fNumOfRowsToMiss;//Maximum numbers of padrow which could be missed
50   AliL3Histogram1D **fEtaHistos; //!
51   Float_t fZVertex;//Z position of the primary vertex
52
53   //Flags
54   Bool_t fRemoveFoundTracks;//Remove the found tracks or not?
55   
56   AliL3HoughBaseTransformer *fHoughTransformer; //!
57   AliL3DigitRowData **fRowPointers; //!
58   
59   ClassDef(AliL3HoughEval,1) //Hough transform verfication class
60
61 };
62
63 #endif