Example how to run script
[u/mrichter/AliRoot.git] / HLT / hough / AliL3Hough.h
CommitLineData
f000f8a5 1#ifndef ALIL3_HOUGH
2#define ALIL3_HOUGH
3
4#include "AliL3RootTypes.h"
5
6class AliL3HoughMaxFinder;
7class AliL3HoughTransformer;
f80b98cb 8class AliL3Histogram;
9class AliL3FileHandler;
10class AliL3HoughEval;
11class AliL3Transform;
12class AliL3TrackArray;
b1886074 13class AliL3HoughMerger;
14class AliL3HoughIntMerger;
1c404dd5 15class AliL3HoughGlobalMerger;
f000f8a5 16
b1886074 17class AliL3Hough {
f000f8a5 18
19 private:
f80b98cb 20 Char_t fPath[256];
4fc9a6a4 21 Bool_t fBinary;
a6008206 22 Bool_t fAddHistograms;
b1886074 23 Bool_t fDoIterative;
a6008206 24 Bool_t fWriteDigits;
f80b98cb 25 Int_t fNEtaSegments;
1c404dd5 26 Int_t fNPatches;
4fc9a6a4 27 AliL3FileHandler **fMemHandler; //!
28 AliL3HoughTransformer **fHoughTransformer; //!
a6008206 29 AliL3HoughEval **fEval; //!
30 AliL3HoughMaxFinder *fPeakFinder; //!
b1886074 31 AliL3TrackArray **fTracks; //!
32 AliL3HoughMerger *fMerger; //!
33 AliL3HoughIntMerger *fInterMerger; //!
1c404dd5 34 AliL3HoughGlobalMerger *fGlobalMerger; //!
35
b1886074 36 void CleanUp();
4fc9a6a4 37 void Init();
38
f000f8a5 39 public:
4fc9a6a4 40
f000f8a5 41 AliL3Hough();
4fc9a6a4 42 AliL3Hough(Char_t *path,Bool_t binary,Int_t n_eta_segments=100);
f000f8a5 43 virtual ~AliL3Hough();
44
a6008206 45 void Process(Int_t minslice,Int_t maxslice);
b1886074 46 void ReadData(Int_t slice);
47 void Transform();
48 void ProcessSliceIter();
49 void ProcessPatchIter(Int_t patch);
50 void MergePatches();
51 void MergeInternally();
52
a6008206 53 void FindTrackCandidates();
a6008206 54 void AddAllHistograms();
b1886074 55 void Evaluate(Int_t road_width=1);
56 void EvaluateWithEta();
1c404dd5 57 void WriteTracks();
a6008206 58 void WriteDigits(Char_t *outfile="output_digits.root");
59
4fc9a6a4 60 //Setters
61 void SetNEtaSegments(Int_t i) {fNEtaSegments = i;}
a6008206 62 void SetAddHistograms() {fAddHistograms = kTRUE;}
b1886074 63 void DoIterative() {fDoIterative = kTRUE;}
a6008206 64 void SetWriteDigits() {fWriteDigits = kTRUE;}
f80b98cb 65
4fc9a6a4 66 //Getters
67 AliL3HoughTransformer *GetTransformer(Int_t i) {if(!fHoughTransformer[i]) return 0; return fHoughTransformer[i];}
b1886074 68 AliL3TrackArray *GetTracks(Int_t i) {if(!fTracks[i]) return 0; return fTracks[i];}
69 AliL3HoughEval *GetEval(Int_t i) {if(!fEval[i]) return 0; return fEval[i];}
70 AliL3HoughMerger *GetMerger() {if(!fMerger) return 0; return fMerger;}
71 AliL3HoughIntMerger *GetInterMerger() {if(!fInterMerger) return 0; return fInterMerger;}
72 AliL3FileHandler *GetMemHandler(Int_t i) {if(!fMemHandler[i]) return 0; return fMemHandler[i];}
f000f8a5 73
b1886074 74 ClassDef(AliL3Hough,1) //Hough transform base class
f000f8a5 75
76};
77
78#endif