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