// @(#) $Id$ #ifndef ALIL3HOUGHTRANSFORMERROW_H #define ALIL3HOUGHTRANSFORMERROW_H #include "AliL3RootTypes.h" #include "AliL3HoughBaseTransformer.h" #define MAX_N_GAPS 5 #define MIN_TRACK_LENGTH 70 struct AliL3EtaRow { 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 AliL3PadHoughParams { // 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 AliL3DigitData; class AliL3Histogram; class AliL3HoughTransformerRow : public AliL3HoughBaseTransformer { public: AliL3HoughTransformerRow(); AliL3HoughTransformerRow(Int_t slice,Int_t patch,Int_t netasegments,Bool_t DoMC=kFALSE,Float_t zvertex=0.0); virtual ~AliL3HoughTransformerRow(); void CreateHistograms(Float_t ptmin,Float_t ptmax,Float_t pres,Int_t nybin,Float_t psi) { AliL3HoughBaseTransformer::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!"<