Some additional changes related to the previous changes. AliL3Transform
[u/mrichter/AliRoot.git] / HLT / hough / AliL3HoughEval.h
index 49c5e27511d1b0efb531b485ccfdd08a43cad5c5..f88d7f0fd1ba3a018d2231fa0de56b7a772c307a 100644 (file)
@@ -3,45 +3,57 @@
 
 #include "AliL3RootTypes.h"
 
 
 #include "AliL3RootTypes.h"
 
-class TClonesArray;
-class TObjArray;
-class TH2F;
-class TH1F;
+
+class AliL3HoughBaseTransformer;
 class AliL3Transform;
 class AliL3Transform;
-class AliL3TrackArray;
-class AliL3HoughTransformer;
+class AliL3HoughTrack;
+class AliL3DigitRowData;
+class AliL3Histogram;
+class AliL3Histogram1D;
 
 
-class AliL3HoughEval : public TObject {
+class AliL3HoughEval {
   
  private:
   
  private:
-  
-  AliL3HoughTransformer *fHoughTransformer;
-  AliL3Transform *fTransform; //!
+
+  Int_t fSlice;
+  Int_t fPatch;
+  Int_t fNrows;
+  Int_t fNEtaSegments;
+  Double_t fEtaMin;
+  Double_t fEtaMax;
   Int_t fNumOfPadsToLook;
   Int_t fNumOfRowsToMiss;
   Int_t fNumOfPadsToLook;
   Int_t fNumOfRowsToMiss;
-  Int_t *fMcTrackTable;
+  AliL3Histogram1D **fEtaHistos; //!
+
+  //Flags
+  Bool_t fRemoveFoundTracks;
+  
+  AliL3Transform *fTransform; //!
+  AliL3HoughBaseTransformer *fHoughTransformer; //!
+  AliL3DigitRowData **fRowPointers; //!
   
  public:
   AliL3HoughEval(); 
   
  public:
   AliL3HoughEval(); 
-  AliL3HoughEval(AliL3HoughTransformer *transformer);
   virtual ~AliL3HoughEval();
   virtual ~AliL3HoughEval();
-
-  void DefineGoodParticles(Char_t *rootfile,Double_t pet);
-  Bool_t LookInsideRoad(AliL3HoughTrack *track,Int_t eta_index,Bool_t remove=(Bool_t)kFALSE);
-  void LookInsideRawRoad(AliL3TrackArray *tracks,Int_t eta_index,Bool_t remove=(Bool_t)kFALSE);
-  void RemoveTrackFromImage(AliL3HoughTrack *track,Int_t eta_index);
-
-  void DisplaySlice(TH2F *hist);
-  void CompareMC(Char_t *rootfile,AliL3TrackArray *merged_tracks,Float_t *eta);
-  Int_t *GetMcTrackTable() {return fMcTrackTable;}
   
   
-  void SetNumOfPadsToLook(Int_t f) {fNumOfPadsToLook = f;}
-  void SetNumOfRowsToMiss(Int_t f) {fNumOfRowsToMiss = f;}
-  void SetTransformer(AliL3HoughTransformer *t) {fHoughTransformer=t;}
+  void InitTransformer(AliL3HoughBaseTransformer *transformer);
+  void GenerateLUT();
+  void DisplayEtaSlice(Int_t eta_index,AliL3Histogram *hist);
+  Bool_t LookInsideRoad(AliL3HoughTrack *track,Int_t eta_index,Bool_t remove=kFALSE);
+#ifdef use_root
+  void CompareMC(AliL3TrackArray *tracks,Char_t *goodtracks="good_tracks",Int_t treshold=0);
+#endif
+  void FindEta(AliL3TrackArray *tracks);
   
   
+  //Getters
+  AliL3Histogram1D *GetEtaHisto(Int_t i) {if(!fEtaHistos) return 0; if(!fEtaHistos[i]) return 0; return fEtaHistos[i];}
 
 
+  //Setters:
+  void RemoveFoundTracks() {fRemoveFoundTracks = kTRUE;}
+  void SetNumOfRowsToMiss(Int_t i) {fNumOfRowsToMiss = i;}
+  void SetNumOfPadsToLook(Int_t i) {fNumOfPadsToLook = i;}
 
 
-  ClassDef(AliL3HoughEval,1)
+  ClassDef(AliL3HoughEval,1) //Hough transform verfication class
 
 };
 
 
 };