X-Git-Url: http://git.uio.no/git/?p=u%2Fmrichter%2FAliRoot.git;a=blobdiff_plain;f=HLT%2Fhough%2FAliL3Hough.h;h=44f9b4ef95b7262fd397601c16b3a9cfc1dd811e;hp=f70bdacf62db676bab020e44b076bbc730e5d860;hb=237d3f5ced1a4b243a343328c08a3c17b40da1cc;hpb=f000f8a5c5a35f5bd8e25424fd5923fd261ae1ad diff --git a/HLT/hough/AliL3Hough.h b/HLT/hough/AliL3Hough.h index f70bdacf62d..44f9b4ef95b 100644 --- a/HLT/hough/AliL3Hough.h +++ b/HLT/hough/AliL3Hough.h @@ -4,32 +4,89 @@ #include "AliL3RootTypes.h" class AliL3HoughMaxFinder; -class AliL3HoughTransformer; -class TH2F; +class AliL3HoughBaseTransformer; +class AliL3Histogram; +class AliL3MemHandler; +class AliL3FileHandler; +class AliL3HoughEval; +class AliL3Transform; +class AliL3TrackArray; +class AliL3HoughMerger; +class AliL3HoughIntMerger; +class AliL3HoughGlobalMerger; +class AliL3Transform; -class AliL3Hough : public TObject { +class AliL3Hough { private: + Char_t fPath[256]; + Bool_t fBinary; + Bool_t fAddHistograms; + Bool_t fDoIterative; + Bool_t fWriteDigits; + Int_t fNEtaSegments; + Int_t fNPatches; + Int_t fPeakThreshold; +#ifdef use_aliroot + AliL3FileHandler **fMemHandler; //! +#else + AliL3MemHandler **fMemHandler; //! +#endif + AliL3HoughBaseTransformer **fHoughTransformer; //! + AliL3HoughEval **fEval; //! + AliL3HoughMaxFinder *fPeakFinder; //! + AliL3TrackArray **fTracks; //! + AliL3HoughMerger *fMerger; //! + AliL3HoughIntMerger *fInterMerger; //! + AliL3HoughGlobalMerger *fGlobalMerger; //! + AliL3Transform *fTransform; //! - TH2F *fParamSpace; //! - Char_t fInputFile[100]; + void CleanUp(); + void Init(); - AliL3HoughTransformer *fHoughTransformer; - AliL3HoughMaxFinder *fPeakFinder; - - public: - + AliL3Hough(); - AliL3Hough(Char_t *rootfile,TH2F *hist); - AliL3Hough(Char_t *rootfile,Int_t xbin,Double_t *xrange,Int_t ybin,Double_t *yrange); + AliL3Hough(Char_t *path,Bool_t binary,Int_t n_eta_segments=100); virtual ~AliL3Hough(); - void ProcessSlice(Int_t slice); - void ProcessPatch(Int_t patch); - void ProcessEtaSlice(Int_t patch,Double_t *eta); + void Process(Int_t minslice,Int_t maxslice); + void ReadData(Int_t slice); + 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(Char_t *path="./"); +#ifdef use_aliroot + void WriteDigits(Char_t *outfile="output_digits.root"); +#endif + + //Setters + void SetNEtaSegments(Int_t i) {fNEtaSegments = i;} + void SetAddHistograms() {fAddHistograms = kTRUE;} + void DoIterative() {fDoIterative = kTRUE;} + void SetWriteDigits() {fWriteDigits = kTRUE;} + void SetPeakThreshold(Int_t i) {fPeakThreshold = i;} + + //Getters + 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;} +#ifdef use_aliroot + AliL3FileHandler *GetMemHandler(Int_t i) {if(!fMemHandler[i]) return 0; return fMemHandler[i];} +#else + AliL3MemHandler *GetMemHandler(Int_t i) {if(!fMemHandler[i]) return 0; return fMemHandler[i];} +#endif - ClassDef(AliL3Hough,1) + ClassDef(AliL3Hough,1) //Hough transform base class };