#include "AliL3RootTypes.h"
class AliL3HoughMaxFinder;
-class AliL3HoughTransformer;
+class AliL3HoughBaseTransformer;
class AliL3Histogram;
+class AliL3MemHandler;
class AliL3FileHandler;
class AliL3HoughEval;
-class AliL3Transform;
class AliL3TrackArray;
class AliL3HoughMerger;
class AliL3HoughIntMerger;
Bool_t fAddHistograms;
Bool_t fDoIterative;
Bool_t fWriteDigits;
+ Bool_t fUse8bits;
Int_t fNEtaSegments;
Int_t fNPatches;
- AliL3FileHandler **fMemHandler; //!
- AliL3HoughTransformer **fHoughTransformer; //!
+ AliL3MemHandler **fMemHandler; //!
+ AliL3HoughBaseTransformer **fHoughTransformer; //!
AliL3HoughEval **fEval; //!
AliL3HoughMaxFinder *fPeakFinder; //!
AliL3TrackArray **fTracks; //!
AliL3HoughGlobalMerger *fGlobalMerger; //!
void CleanUp();
- void Init();
public:
AliL3Hough();
- AliL3Hough(Char_t *path,Bool_t binary,Int_t n_eta_segments=100);
virtual ~AliL3Hough();
+ void Init(Char_t *path,Bool_t binary,Int_t n_eta_segments,Bool_t bit8=kFALSE);
void Process(Int_t minslice,Int_t maxslice);
- void ReadData(Int_t slice);
- void Transform();
+ void ReadData(Int_t slice,Int_t eventnr=0);
+ void Transform(Int_t row_range = -1);
void ProcessSliceIter();
void ProcessPatchIter(Int_t patch);
void MergePatches();
void MergeInternally();
-
+
void FindTrackCandidates();
void AddAllHistograms();
void Evaluate(Int_t road_width=1);
void EvaluateWithEta();
- void WriteTracks();
+ void WriteTracks(Int_t slice,Char_t *path="./");
void WriteDigits(Char_t *outfile="output_digits.root");
+ void InitEvaluate();
//Setters
void SetNEtaSegments(Int_t i) {fNEtaSegments = i;}
void SetWriteDigits() {fWriteDigits = kTRUE;}
//Getters
- AliL3HoughTransformer *GetTransformer(Int_t i) {if(!fHoughTransformer[i]) return 0; return fHoughTransformer[i];}
+ AliL3HoughBaseTransformer *GetTransformer(Int_t i) {if(!fHoughTransformer[i]) return 0; return fHoughTransformer[i];}
AliL3TrackArray *GetTracks(Int_t i) {if(!fTracks[i]) return 0; return fTracks[i];}
AliL3HoughEval *GetEval(Int_t i) {if(!fEval[i]) return 0; return fEval[i];}
AliL3HoughMerger *GetMerger() {if(!fMerger) return 0; return fMerger;}
AliL3HoughIntMerger *GetInterMerger() {if(!fInterMerger) return 0; return fInterMerger;}
- AliL3FileHandler *GetMemHandler(Int_t i) {if(!fMemHandler[i]) return 0; return fMemHandler[i];}
+ AliL3MemHandler *GetMemHandler(Int_t i) {if(!fMemHandler[i]) return 0; return fMemHandler[i];}
+ AliL3HoughMaxFinder *GetMaxFinder() {return fPeakFinder;}
ClassDef(AliL3Hough,1) //Hough transform base class