3 #ifndef ALIL3_HOUGHTRANSFORMERROW
4 #define ALIL3_HOUGHTRANSFORMERROW
6 #include "AliL3RootTypes.h"
7 #include "AliL3HoughBaseTransformer.h"
10 #define MAX_GAP_SIZE 4
11 #define MIN_TRACK_LENGTH 70
12 #define MAX_MISS_ROWS 2
16 class AliL3HoughTransformerRow : public AliL3HoughBaseTransformer {
20 AliL3Histogram **fParamSpace; //!
23 static TrackIndex **fTrackID; //!
27 void DeleteHistograms();
29 static UChar_t **fRowCount; //!
30 static UChar_t **fGapCount; //!
31 static UChar_t **fCurrentRowCount; //!
33 static UChar_t *fTrackNRows; //!
34 static UChar_t *fTrackFirstRow; //!
35 static UChar_t *fTrackLastRow; //!
37 Float_t *fLUTforwardZ; //!
38 Float_t *fLUTforwardZ2; //!
39 Float_t *fLUTbackwardZ; //!
40 Float_t *fLUTbackwardZ2; //!
42 static Float_t fBeta1,fBeta2;
45 AliL3HoughTransformerRow();
46 AliL3HoughTransformerRow(Int_t slice,Int_t patch,Int_t n_eta_segments,Bool_t DoMC=kFALSE,Float_t zvertex=0.0);
47 virtual ~AliL3HoughTransformerRow();
49 //void CreateHistograms(Float_t ptmin,Float_t ptmax,Float_t ptres,Int_t nybin,Float_t psi);
50 void CreateHistograms(Int_t nxbin,Float_t ptmin,Int_t nybin,Float_t phimin,Float_t phimax);
51 void CreateHistograms(Int_t nxbin,Float_t xmin,Float_t xmax,
52 Int_t nybin,Float_t ymin,Float_t ymax);
54 void TransformCircle();
56 Int_t GetEtaIndex(Double_t eta);
57 AliL3Histogram *GetHistogram(Int_t eta_index);
58 Double_t GetEta(Int_t eta_index,Int_t slice);
59 Int_t GetTrackID(Int_t eta_index,Double_t kappa,Double_t psi);
60 UChar_t *GetRowCount(Int_t eta_index);
61 UChar_t *GetGapCount(Int_t eta_index);
62 UChar_t *GetCurrentRowCount(Int_t eta_index);
63 static UChar_t *GetTrackNRows();
64 static UChar_t *GetTrackFirstRow();
65 static UChar_t *GetTrackLastRow();
66 static Float_t GetBeta1() {return fBeta1;}
67 static Float_t GetBeta2() {return fBeta2;}
69 ClassDef(AliL3HoughTransformerRow,1) //TPC Rows Hough transformation class