]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/hough/AliL3HoughTransformerRow.h
Merged Bergen, mergen Cvetan TransformerRow and
[u/mrichter/AliRoot.git] / HLT / hough / AliL3HoughTransformerRow.h
1 // @(#) $Id$
2
3 #ifndef ALIL3_HOUGHTRANSFORMERROW
4 #define ALIL3_HOUGHTRANSFORMERROW
5
6 #include "AliL3RootTypes.h"
7 #include "AliL3HoughBaseTransformer.h"
8
9 #define MAX_N_GAPS 4
10 #define MAX_GAP_SIZE 4
11 #define MIN_TRACK_LENGTH 70
12 #define MAX_MISS_ROWS 2
13
14 class AliL3Histogram;
15
16 class AliL3HoughTransformerRow : public AliL3HoughBaseTransformer {
17   
18  private:
19   
20   AliL3Histogram **fParamSpace; //!
21
22 #ifdef do_mc
23   static TrackIndex **fTrackID; //!
24 #endif
25   Bool_t fDoMC;
26
27   void DeleteHistograms();
28
29   static UChar_t **fRowCount; //!
30   static UChar_t **fGapCount; //!
31   static UChar_t **fCurrentRowCount; //!
32
33   static UChar_t *fTrackNRows; //!
34   static UChar_t *fTrackFirstRow; //!
35   static UChar_t *fTrackLastRow; //!
36
37   Float_t *fLUTforwardZ; //!
38   Float_t *fLUTforwardZ2; //!
39   Float_t *fLUTbackwardZ; //!
40   Float_t *fLUTbackwardZ2; //!
41
42   static Float_t fBeta1,fBeta2;
43
44  public:
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();
48
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);
53   void Reset();
54   void TransformCircle();
55
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;}
68
69   ClassDef(AliL3HoughTransformerRow,1) //TPC Rows Hough transformation class
70
71 };
72
73 #endif
74
75
76
77