Belle II Software
development
Toggle main menu visibility
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
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
v
w
x
z
Typedefs
a
b
c
d
e
g
i
k
l
m
n
p
r
s
t
u
v
w
Enumerations
Enumerator
c
d
f
p
t
v
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
Typedefs
Macros
LineSegment2D.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
#pragma once
10
11
/* KLM headers. */
12
#include <klm/eklm/geometry/Line2D.h>
13
14
/* CLHEP headers. */
15
#include <CLHEP/Geometry/Point3D.h>
16
17
namespace
Belle2
{
23
namespace
EKLM {
24
28
class
LineSegment2D
:
public
Line2D
{
29
30
public
:
31
37
LineSegment2D
(
const
HepGeom::Point3D<double>
& point1,
38
const
HepGeom::Point3D<double>
& point2);
39
43
~LineSegment2D
();
44
51
int
findIntersection
(
const
Line2D
& line,
52
HepGeom::Point3D<double>
* intersection)
const
;
53
60
int
findIntersection
(
const
LineSegment2D
& lineSegment,
61
HepGeom::Point3D<double>
* intersection)
const
;
62
69
int
findIntersection
(
const
Circle2D
& circle,
70
HepGeom::Point3D<double>
intersections[2])
const
;
71
78
int
findIntersection
(
const
Arc2D
& arc,
79
HepGeom::Point3D<double>
intersections[2])
const
;
80
85
bool
tWithinRange
(
double
t)
const
;
86
87
};
88
89
}
90
92
}
Belle2::EKLM::Arc2D
2D arc.
Definition:
Arc2D.h:25
Belle2::EKLM::Circle2D
2D circle.
Definition:
Circle2D.h:25
Belle2::EKLM::Line2D
2D line.
Definition:
Line2D.h:30
Belle2::EKLM::LineSegment2D
2D line segment.
Definition:
LineSegment2D.h:28
Belle2::EKLM::LineSegment2D::~LineSegment2D
~LineSegment2D()
Destructor.
Definition:
LineSegment2D.cc:21
Belle2::EKLM::LineSegment2D::findIntersection
int findIntersection(const Line2D &line, HepGeom::Point3D< double > *intersection) const
Find intersection with a line.
Definition:
LineSegment2D.cc:26
Belle2::EKLM::LineSegment2D::tWithinRange
bool tWithinRange(double t) const
Check if t is within the line segment (0 <= t <= 1).
Definition:
LineSegment2D.cc:80
HepGeom::Point3D
Definition:
TRGCDC.h:27
Belle2
Abstract base class for different kinds of events.
Definition:
MillepedeAlgorithm.h:17
klm
eklm
geometry
include
LineSegment2D.h
Generated on Wed Apr 9 2025 02:42:50 for Belle II Software by
1.9.6