Belle II Software  release-05-01-25
HoughTransformation.h
1 //-----------------------------------------------------------------------------
2 // $Id$
3 //-----------------------------------------------------------------------------
4 // Filename : HoughTransformation.h
5 // Section : TRG CDC
6 // Owner : Yoshihito Iwasaki
7 // Email : yoshihito.iwasaki@kek.jp
8 //-----------------------------------------------------------------------------
9 // Description : An abstract class to represent a Hough transformation.
10 //-----------------------------------------------------------------------------
11 // $Log$
12 //-----------------------------------------------------------------------------
13 
14 #ifndef TRGCDCHoughTransformation_FLAG_
15 #define TRGCDCHoughTransformation_FLAG_
16 
17 #include <string>
18 
19 #ifdef TRGCDC_SHORT_NAMES
20 #define TCHTransformation TRGCDCHoughTransformation
21 #endif
22 
23 namespace Belle2 {
29  class TRGPoint2D;
30 
33 
34  public:
36  TRGCDCHoughTransformation(const std::string& name);
37 
40 
41  public:// Selectors
43  std::string name(void) const;
44 
46  virtual float y(float xReal, float yReal, float x) const = 0;
47 
49  virtual bool diverge(float xReal, float yReal, float x0, float x1)
50  const = 0;
51 
53  virtual bool positiveDiverge(float xReal, float yReal, float x0, float x1)
54  const = 0;
55 
57  virtual bool negativeDiverge(float xReal, float yReal, float x0, float x1)
58  const = 0;
59 
60 // /// returns a gradient at given regsion.
61 // virtual float gradient(float xReal, float yReal, float x) const = 0;
62 
64  virtual TRGPoint2D convert(const TRGPoint2D&) const;
65 
66  public:// Modifiers
67 
68  private:
70  const std::string _name;
71  };
72 
73  inline
74  std::string
76  {
77  return _name;
78  }
79 
81 } // namespace Belle
82 
83 #endif
Belle2::TRGPoint2D
A class to represent a point in 2D.
Definition: Point2D.h:32
Belle2::TRGCDCHoughTransformation::convert
virtual TRGPoint2D convert(const TRGPoint2D &) const
converts Point2D(r, phi) in real plane into Point2D(r, phi) in Hough plane.
Definition: HoughTransformation.cc:35
Belle2::TRGCDCHoughTransformation::name
std::string name(void) const
returns name.
Definition: HoughTransformation.h:75
Belle2::TRGCDCHoughTransformation::~TRGCDCHoughTransformation
virtual ~TRGCDCHoughTransformation()
Destructor.
Definition: HoughTransformation.cc:30
Belle2::TRGCDCHoughTransformation
An abstract class to represent a Hough transformation.
Definition: HoughTransformation.h:32
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TRGCDCHoughTransformation::diverge
virtual bool diverge(float xReal, float yReal, float x0, float x1) const =0
returns true if Y diverges in given region.
Belle2::TRGCDCHoughTransformation::TRGCDCHoughTransformation
TRGCDCHoughTransformation(const std::string &name)
Contructor.
Definition: HoughTransformation.cc:23
Belle2::TRGCDCHoughTransformation::positiveDiverge
virtual bool positiveDiverge(float xReal, float yReal, float x0, float x1) const =0
returns true if Y diverges in given region.
Belle2::TRGCDCHoughTransformation::negativeDiverge
virtual bool negativeDiverge(float xReal, float yReal, float x0, float x1) const =0
returns true if Y diverges in given region.
Belle2::TRGCDCHoughTransformation::y
virtual float y(float xReal, float yReal, float x) const =0
returns Y coordinate in a Hough parameter plane.
Belle2::TRGCDCHoughTransformation::_name
const std::string _name
name
Definition: HoughTransformation.h:70