]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/hough/AliL3HoughTransformerVhdl.h
added data source and sink base components
[u/mrichter/AliRoot.git] / HLT / hough / AliL3HoughTransformerVhdl.h
1 // @(#) $Id$
2
3 #ifndef ALIL3HOUGHTRANSFORMERVHDL_H
4 #define ALIL3HOUGHTRANSFORMERVHDL_H
5
6 #include "AliL3Histogram.h"
7 #include "AliL3HoughTransformerLUT.h"
8 class AliL3Histogram;
9
10 class AliL3HoughTransformerVhdl : public AliL3HoughTransformerLUT 
11 {
12
13  public:
14
15   AliL3HoughTransformerVhdl(); 
16   AliL3HoughTransformerVhdl(Int_t slice,Int_t patch,Int_t netasegments,Int_t nits=0);
17   virtual ~AliL3HoughTransformerVhdl();
18
19   void CreateHistograms(Float_t ptmin,Float_t ptmax,Float_t pres,Int_t nybin,Float_t psi) {
20     AliL3HoughTransformerLUT::CreateHistograms(ptmin,ptmax,pres,nybin,psi);
21   }
22   void CreateHistograms(Int_t nxbin,Float_t ptmin,Int_t nybin,Float_t phimin,Float_t phimax);
23   void CreateHistograms(Int_t nxbin,Float_t xmin,Float_t xmax,
24                         Int_t nybin,Float_t ymin,Float_t ymax);
25
26   void TransformCircle();
27   void TransformCircle(Int_t *row_range,Int_t every) {
28     AliL3HoughTransformerLUT::TransformCircle(row_range,every);
29   }
30   void TransformCircleC(Int_t */*rowrange*/,Int_t /*every*/) {return;}
31   
32   void Init(Int_t slice=0,Int_t patch=0,Int_t netasegments=100,Int_t nits=-1);
33   void Print();
34   void PrintVhdl() const;
35
36  protected:
37   Float_t fEpsilon;//??
38   Float_t fSinEpsilon;//??
39   Float_t fCosEpsilon;//??
40   Int_t fIts;//??
41
42   Int_t fNxbin;//Number of bins in X
43   Float_t fXmin;//Lower limit in X
44   Float_t fXmax;//Upper limit in X
45   Int_t fNybin;//Number of bins in Y
46   Float_t fYmin;//Lower limit in Y
47   Float_t fYmax;//Upper limit in Y
48
49   ClassDef(AliL3HoughTransformerVhdl,1) //VHDL Hough transformation class
50
51 };
52
53 #endif
54
55
56
57
58
59