Belle II Software  release-05-02-19
HoughTransformationCircle.h
1 //-----------------------------------------------------------------------------
2 // $Id$
3 //-----------------------------------------------------------------------------
4 // Filename : HoughTransformationCircle.h
5 // Section : TRG CDC
6 // Owner : Yoshihito Iwasaki
7 // Email : yoshihito.iwasaki@kek.jp
8 //-----------------------------------------------------------------------------
9 // Description : A class to represent circle Hough transformation.
10 //-----------------------------------------------------------------------------
11 // $Log$
12 //-----------------------------------------------------------------------------
13 
14 #ifndef TRGCDCHoughTransformationCircle_FLAG_
15 #define TRGCDCHoughTransformationCircle_FLAG_
16 
17 #include "trg/cdc/HoughTransformation.h"
18 
19 #ifdef TRGCDC_SHORT_NAMES
20 #define TCHTransformationCircle TRGCDCHoughTransformationCircle
21 #endif
22 
23 namespace Belle2 {
29  class TRGCDCHoughTransformationCircle
31  : public TRGCDCHoughTransformation {
32 
33  public:
35  explicit TRGCDCHoughTransformationCircle(const std::string& name);
36 
39 
40  public:// Selectors
42  virtual float y(float xReal, float yReal, float x) const override;
43 
45  virtual bool diverge(float xReal, float yReal, float x0, float x1) const override;
46 
48  virtual bool positiveDiverge(float xReal, float yReal, float x0, float x1) const override;
49 
51  virtual bool negativeDiverge(float xReal, float yReal, float x0, float x1) const override;
52 
54  virtual TRGPoint2D circleCenter(const TRGPoint2D&) const;
55 
57  virtual TRGPoint2D convert(const TRGPoint2D&) const override;
58  };
59 
61 } // namespace Belle2
62 
63 #endif
Belle2::TRGCDCHoughTransformationCircle::convert
virtual TRGPoint2D convert(const TRGPoint2D &) const override
converts Point2D(phi, r) in real plane into Point2D(phi, r) in Hough plane.
Definition: HoughTransformationCircle.cc:57
Belle2::TRGCDCHoughTransformation::name
std::string name(void) const
returns name.
Definition: HoughTransformation.h:75
Belle2::TRGCDCHoughTransformationCircle::~TRGCDCHoughTransformationCircle
virtual ~TRGCDCHoughTransformationCircle()
Destructor.
Definition: HoughTransformationCircle.cc:32
Belle2::TRGCDCHoughTransformationCircle::diverge
virtual bool diverge(float xReal, float yReal, float x0, float x1) const override
returns true if Y diverges in given region.
Definition: HoughTransformationCircle.cc:63
Belle2::TRGCDCHoughTransformationCircle::negativeDiverge
virtual bool negativeDiverge(float xReal, float yReal, float x0, float x1) const override
returns true if Y diverges in given region.
Definition: HoughTransformationCircle.cc:93
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TRGCDCHoughTransformationCircle::circleCenter
virtual TRGPoint2D circleCenter(const TRGPoint2D &) const
returns Point2D(phi, r) of a circle in real plane.
Definition: HoughTransformationCircle.cc:50
Belle2::TRGCDCHoughTransformationCircle::TRGCDCHoughTransformationCircle
TRGCDCHoughTransformationCircle(const std::string &name)
Contructor.
Definition: HoughTransformationCircle.cc:26
Belle2::TRGCDCHoughTransformationCircle::y
virtual float y(float xReal, float yReal, float x) const override
returns Y coordinate in a Hough parameter plane.
Definition: HoughTransformationCircle.cc:37
Belle2::TRGCDCHoughTransformationCircle::positiveDiverge
virtual bool positiveDiverge(float xReal, float yReal, float x0, float x1) const override
returns true if Y diverges in given region.
Definition: HoughTransformationCircle.cc:84