// @(#) $Id$ #ifndef ALIL3HOUGHTRANSFORMERROW_H #define ALIL3HOUGHTRANSFORMERROW_H #include "AliHLTRootTypes.h" #include "AliHLTHoughBaseTransformer.h" #define MAX_N_GAPS 5 #define MIN_TRACK_LENGTH 70 struct AliHLTEtaRow { UChar_t fStartPad; //First pad in the cluster UChar_t fEndPad; //Last pad in the cluster Bool_t fIsFound; //Is the cluster already found #ifdef do_mc Int_t fMcLabels[MaxTrack]; //Array to store mc labels inside cluster #endif }; struct AliHLTPadHoughParams { // Parameters which represent given pad in the hough space // Used in order to avoid as much as possible floating // point operations during the hough transform Float_t fAlpha; // Starting value for the hough parameter alpha1 Float_t fDeltaAlpha; // Slope of alpha1 Int_t fFirstBin; // First alpha2 bin to be filled Int_t fLastBin; // Last alpha2 bin to be filled }; class AliHLTDigitData; class AliHLTHistogram; class AliHLTHoughTransformerRow : public AliHLTHoughBaseTransformer { public: AliHLTHoughTransformerRow(); AliHLTHoughTransformerRow(Int_t slice,Int_t patch,Int_t netasegments,Bool_t DoMC=kFALSE,Float_t zvertex=0.0); virtual ~AliHLTHoughTransformerRow(); void CreateHistograms(Float_t ptmin,Float_t ptmax,Float_t pres,Int_t nybin,Float_t psi) { AliHLTHoughBaseTransformer::CreateHistograms(ptmin,ptmax,pres,nybin,psi); } void CreateHistograms(Int_t /*nxbin*/,Float_t /*ptmin*/,Int_t /*nybin*/,Float_t /*phimin*/,Float_t /*phimax*/) {STDCERR<<"This method for creation of parameter space histograms is not supported for this Transformer!"<