Belle II Software
release-05-02-19
Main Page
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Functions
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
z
Variables
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Typedefs
a
b
c
d
e
h
i
l
m
n
p
r
s
t
v
w
Enumerations
Enumerator
c
d
f
p
t
u
v
w
Classes
Class List
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
Enumerations
a
b
c
d
e
f
g
h
i
l
m
o
p
r
s
t
u
v
Enumerator
a
b
c
d
e
f
g
h
k
l
m
n
o
p
r
s
t
u
v
w
z
Related Functions
b
c
d
g
i
o
r
s
t
Files
File List
File Members
All
Functions
LineSegment2D.h
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
#pragma once
12
13
/* KLM headers. */
14
#include <klm/eklm/geometry/Line2D.h>
15
16
/* CLHEP headers. */
17
#include <CLHEP/Geometry/Point3D.h>
18
19
namespace
Belle2
{
25
namespace
EKLM {
26
30
class
LineSegment2D :
public
Line2D {
31
32
public
:
33
39
LineSegment2D
(
const
HepGeom::Point3D<double>
& point1,
40
const
HepGeom::Point3D<double>
& point2);
41
45
~LineSegment2D
();
46
53
int
findIntersection
(
const
Line2D
& line,
54
HepGeom::Point3D<double>
* intersection)
const
;
55
62
int
findIntersection
(
const
LineSegment2D
& lineSegment,
63
HepGeom::Point3D<double>
* intersection)
const
;
64
71
int
findIntersection
(
const
Circle2D& circle,
72
HepGeom::Point3D<double>
intersections[2])
const
;
73
80
int
findIntersection
(
const
Arc2D& arc,
81
HepGeom::Point3D<double>
intersections[2])
const
;
82
87
bool
tWithinRange
(
double
t)
const
;
88
89
};
90
91
}
92
94
}
Belle2::EKLM::LineSegment2D::tWithinRange
bool tWithinRange(double t) const
Check if t is within the line segment (0 <= t <= 1).
Definition:
LineSegment2D.cc:82
Belle2::EKLM::LineSegment2D::findIntersection
int findIntersection(const Line2D &line, HepGeom::Point3D< double > *intersection) const
Find intersection with a line.
Definition:
LineSegment2D.cc:28
Belle2
Abstract base class for different kinds of events.
Definition:
MillepedeAlgorithm.h:19
Belle2::EKLM::Line2D::Line2D
Line2D(double x, double y, double vecx, double vecy)
Constructor.
Definition:
Line2D.cc:19
HepGeom::Point3D< double >
Belle2::EKLM::LineSegment2D::~LineSegment2D
~LineSegment2D()
Destructor.
Definition:
LineSegment2D.cc:23
Belle2::EKLM::LineSegment2D::LineSegment2D
LineSegment2D(const HepGeom::Point3D< double > &point1, const HepGeom::Point3D< double > &point2)
Constructor.
Definition:
LineSegment2D.cc:16
klm
eklm
geometry
include
LineSegment2D.h
Generated on Tue Jan 4 2022 02:59:52 for Belle II Software by
1.8.17