// @(#) $Id$ #ifndef ALIL3HOUGHBASETRANSFORMER_H #define ALIL3HOUGHBASETRANSFORMER_H //------------------------------------------------------------------------- // Class AliL3HoughBaseTransformer // This is the base class for all the Hough Transformer tracking // algorithms for HLT. //------------------------------------------------------------------------- #include "AliL3RootTypes.h" #ifdef do_mc const UInt_t MaxTrack=120; struct AliL3TrackIndex { Int_t fLabel[MaxTrack];//MC label UChar_t fNHits[MaxTrack];//Number of different mc labels UChar_t fCurrentRow[MaxTrack];//Index of the current row while filling Hough space }; typedef struct AliL3TrackIndex AliL3TrackIndex; #endif class AliL3DigitRowData; class AliL3Histogram; #include "AliTPCRawStream.h" class AliL3HoughBaseTransformer { public: AliL3HoughBaseTransformer(); AliL3HoughBaseTransformer(Int_t slice,Int_t patch,Int_t netasegments,Float_t zvertex=0.0); virtual ~AliL3HoughBaseTransformer(); void SetInputData(UInt_t /*ndigits*/,AliL3DigitRowData *ptr) {fDigitRowData = ptr;} //this is for adaptave histograms virtual void CreateHistograms(Float_t /*ptmin*/,Float_t /*ptmax*/,Float_t /*pres*/,Int_t /*nybin*/,Float_t /*psi*/) {STDCERR<<"Adaptive histograms are not supported for this Transformer!"<