2 // origin: hough/AliL3HoughEval.h,v 1.17 Thu Jun 17 10:36:14 2004 UTC by cvetan
4 #ifndef ALIHLTTPCHOUGHEVAL_H
5 #define ALIHLTTPCHOUGHEVAL_H
7 #include "AliHLTTPCRootTypes.h"
9 class AliHLTTPCTrackArray;
10 class AliHLTTPCHoughTransformer;
11 class AliHLTTPCHoughTrack;
12 class AliHLTTPCDigitRowData;
13 class AliHLTTPCHistogram;
14 class AliHLTTPCHistogram1D;
16 class AliHLTTPCHoughEval {
20 virtual ~AliHLTTPCHoughEval();
22 void InitTransformer(AliHLTTPCHoughTransformer *transformer);
24 void DisplayEtaSlice(Int_t etaindex,AliHLTTPCHistogram *hist);
25 Bool_t LookInsideRoad(AliHLTTPCHoughTrack *track,Int_t &nrowscrossed,Int_t *rowrange,Bool_t remove=kFALSE);
26 void CompareMC(AliHLTTPCTrackArray *tracks,Char_t *goodtracks="good_tracks",Int_t treshold=0);
27 void FindEta(AliHLTTPCTrackArray *tracks);
30 AliHLTTPCHistogram1D *GetEtaHisto(Int_t i) {if(!fEtaHistos) return 0; if(!fEtaHistos[i]) return 0; return fEtaHistos[i];}
33 void RemoveFoundTracks() {fRemoveFoundTracks = kTRUE;}
34 void SetNumOfRowsToMiss(Int_t i) {fNumOfRowsToMiss = i;}
35 void SetNumOfPadsToLook(Int_t i) {fNumOfPadsToLook = i;}
36 void SetSlice(Int_t i) {fSlice=i;}
37 void SetZVertex(Float_t zvertex) {fZVertex=zvertex;}
41 Int_t fSlice;//Index of the slice being processed
42 Int_t fPatch;//Index of the patch being processed
43 Int_t fNrows;//Number of padrows inside the patch
44 Int_t fNEtaSegments;//Number of eta slices
45 Double_t fEtaMin;//Minimum allowed eta
46 Double_t fEtaMax;//Maximum allowed eta
47 Int_t fNumOfPadsToLook;//Padrow search window
48 Int_t fNumOfRowsToMiss;//Maximum numbers of padrow which could be missed
49 AliHLTTPCHistogram1D **fEtaHistos; //!
50 Float_t fZVertex;//Z position of the primary vertex
53 Bool_t fRemoveFoundTracks;//Remove the found tracks or not?
55 AliHLTTPCHoughTransformer *fHoughTransformer; //!
56 AliHLTTPCDigitRowData **fRowPointers; //!
58 ClassDef(AliHLTTPCHoughEval,1) //Hough transform verfication class