#include <VolumeSplitterUtils.h>
Definition at line 174 of file VolumeSplitterUtils.h.
◆ addChildSegment()
| Ray InDetDD::SegmentSplitter::addChildSegment |
( |
const Zone * | zone, |
|
|
const Ray & | ray ) |
|
private |
Definition at line 19 of file VolumeSplitterUtils.cxx.
19 {
20
21
22
23
24
25 Ray nextRay = ray;
26
27 if (!ray.foundStart()) {
29 }
31 while (nextRay.valid() && !exit) {
34
35
36
37
38
39
40
41 if (nextPoint.last()) {
42 nextRay.setInvalid();
43 } else {
44 nextRay.set(nextPoint, nextRay.end());
45 }
46 exit = nextPoint.exit();
47 if (nextPoint.child()) {
49 }
50 }
51 return nextRay;
52 }
ChargedTracksWeightFilter::Spline::Point Point
void addSegment(const Zone *, const Point &start, const Point &end)
Ray searchPoint(const Zone *zone, const Ray &ray)
Point getNextBoundary(const Zone *, const Ray &)
Ray addChildSegment(const Zone *, const Ray &)
◆ addSegment()
| void InDetDD::SegmentSplitter::addSegment |
( |
const Zone * | zone, |
|
|
const Point & | start, |
|
|
const Point & | end ) |
|
private |
◆ getNextBoundary()
| Point InDetDD::SegmentSplitter::getNextBoundary |
( |
const Zone * | zone, |
|
|
const Ray & | ray ) |
|
private |
Definition at line 60 of file VolumeSplitterUtils.cxx.
60 {
62
63
65 const Zone* child = *
iter;
66
67 Point newPoint = child->findEntry(ray);
69 }
70
72 if (!nextPoint.valid()) {
73
74 return ray.end();
75 }
76 return nextPoint;
77 }
Point nearestPoint(const Point &point1, const Point &point2)
std::vector< constZone * >::const_iterator ChildIterator
◆ nearestPoint()
| Point InDetDD::SegmentSplitter::nearestPoint |
( |
const Point & | point1, |
|
|
const Point & | point2 ) |
|
private |
Definition at line 80 of file VolumeSplitterUtils.cxx.
80 {
81 if (!point2.valid()) return point1;
82
83 if (!point1.valid()) return point2;
84
85 if ((point2.r() == point1.r() && point2.z() < point1.z()) ||
86 (point2.z() == point1.z() && point2.r() < point1.r())) {
87 return point2;
88 }
89 return point1;
90
91
92 }
◆ searchPoint()
| Ray InDetDD::SegmentSplitter::searchPoint |
( |
const Zone * | zone, |
|
|
const Ray & | ray ) |
|
private |
Definition at line 95 of file VolumeSplitterUtils.cxx.
95 {
96
97
98 Ray nextRay = ray;
99
101 const Zone* child = *
iter;
102 if (child->inSide(ray.start())) {
103
105 break;
106 }
107 }
108 nextRay.setFound();
109 return nextRay;
110 }
◆ split()
| const SegmentList & InDetDD::SegmentSplitter::split |
( |
const Zone * | zone, |
|
|
const Ray & | ray ) |
◆ m_segments
The documentation for this class was generated from the following files: