Belle II Software  release-05-01-25
Arc2D.cc
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2015 Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Kirill Chilikin *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 /* Own header. */
12 #include <klm/eklm/geometry/Arc2D.h>
13 
14 using namespace Belle2;
15 
16 EKLM::Arc2D::Arc2D(double x, double y, double radius,
17  double angle1, double angle2) :
18  Circle2D(x, y, radius),
19  m_Angle1(angle1),
20  m_Angle2(angle2)
21 {
22 }
23 
25 {
26 }
27 
28 bool EKLM::Arc2D::angleWithinRange(double angle) const
29 {
30  if (m_Angle2 > m_Angle1)
31  return (angle <= m_Angle2 && angle >= m_Angle1);
32  return (angle >= m_Angle1 || angle <= m_Angle2);
33 }
34 
36 {
38  p.setX(m_Radius * cos(m_Angle1));
39  p.setY(m_Radius * sin(m_Angle1));
40  p.setZ(0);
41  return p;
42 }
43 
Belle2::EKLM::Arc2D::~Arc2D
~Arc2D()
Destructor.
Definition: Arc2D.cc:24
Belle2::EKLM::Circle2D
2D circle.
Definition: Circle2D.h:35
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::EKLM::Arc2D::angleWithinRange
bool angleWithinRange(double angle) const
Check if angle is within the arc.
Definition: Arc2D.cc:28
Belle2::EKLM::Arc2D::Arc2D
Arc2D(double x, double y, double radius, double angle1, double angle2)
Constructor.
Definition: Arc2D.cc:16
HepGeom::Point3D< double >
Belle2::EKLM::Arc2D::getInitialPoint
HepGeom::Point3D< double > getInitialPoint() const
Get initial point.
Definition: Arc2D.cc:35