53 std::vector<CDCSegment2D>& outputSegments)
58 outputSegments = inputSegments;
61 outputSegments.reserve(2 * inputSegments.size());
63 outputSegments.push_back(segment);
64 if (segment->hasReverseFlag())
continue;
65 outputSegments.back()->setReverseFlag();
66 outputSegments.push_back(segment.reversed());
67 outputSegments.back()->setReverseFlag();
73 outputSegments.reserve(1.5 * inputSegments.size());
75 if (segment->hasReverseFlag()) {
76 outputSegments.push_back(segment);
80 bool isFitted = trajectory2D.
isFitted();
81 bool isCurler = trajectory2D.
isCurler(1.1);
84 bool isLeaver = isFitted and (not isCurler) and isOriginer;
90 outputSegments.push_back(segment.reversed());
92 outputSegments.push_back(segment);
96 outputSegments.push_back(segment);
97 outputSegments.back()->setReverseFlag();
98 outputSegments.push_back(segment.reversed());
99 outputSegments.back()->setReverseFlag();
104 outputSegments.reserve(inputSegments.size());
109 outputSegments.push_back(segment.reversed());
111 outputSegments.push_back(segment);
115 outputSegments.reserve(inputSegments.size());
120 outputSegments.push_back(segment.reversed());
122 outputSegments.push_back(segment);
127 B2WARNING(
"Unexpected 'SegmentOrientation' parameter of segment finder module : '" <<
129 "'. No segments are put out.");