Belle II Software  release-08-01-10
HoughTransformationCircle.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 
9 //-----------------------------------------------------------------------------
10 // Description : A class to represent circle Hough transformation.
11 //-----------------------------------------------------------------------------
12 
13 #ifndef TRGCDCHoughTransformationCircle_FLAG_
14 #define TRGCDCHoughTransformationCircle_FLAG_
15 
16 #include "trg/cdc/HoughTransformation.h"
17 
18 #ifdef TRGCDC_SHORT_NAMES
19 #define TCHTransformationCircle TRGCDCHoughTransformationCircle
20 #endif
21 
22 namespace Belle2 {
30  : public TRGCDCHoughTransformation {
31 
32  public:
34  explicit TRGCDCHoughTransformationCircle(const std::string& name);
35 
38 
39  public:// Selectors
41  virtual float y(float xReal, float yReal, float x) const override;
42 
44  virtual bool diverge(float xReal, float yReal, float x0, float x1) const override;
45 
47  virtual bool positiveDiverge(float xReal, float yReal, float x0, float x1) const override;
48 
50  virtual bool negativeDiverge(float xReal, float yReal, float x0, float x1) const override;
51 
53  virtual TRGPoint2D circleCenter(const TRGPoint2D&) const;
54 
56  virtual TRGPoint2D convert(const TRGPoint2D&) const override;
57  };
58 
60 } // namespace Belle2
61 
62 #endif
A class to represent circle Hough transformation.
An abstract class to represent a Hough transformation.
A class to represent a point in 2D.
Definition: Point2D.h:27
virtual TRGPoint2D circleCenter(const TRGPoint2D &) const
returns Point2D(phi, r) of a circle in real plane.
virtual TRGPoint2D convert(const TRGPoint2D &) const override
converts Point2D(phi, r) in real plane into Point2D(phi, r) in Hough plane.
virtual bool diverge(float xReal, float yReal, float x0, float x1) const override
returns true if Y diverges in given region.
virtual float y(float xReal, float yReal, float x) const override
returns Y coordinate in a Hough parameter plane.
virtual bool positiveDiverge(float xReal, float yReal, float x0, float x1) const override
returns true if Y diverges in given region.
TRGCDCHoughTransformationCircle(const std::string &name)
Contructor.
std::string name(void) const
returns name.
virtual bool negativeDiverge(float xReal, float yReal, float x0, float x1) const override
returns true if Y diverges in given region.
Abstract base class for different kinds of events.