54 std::vector<CDCSegment2D>& outputSegments)
59 outputSegments = inputSegments;
62 outputSegments.reserve(2 * inputSegments.size());
64 outputSegments.push_back(segment);
65 if (segment->hasReverseFlag())
continue;
66 outputSegments.back()->setReverseFlag();
67 outputSegments.push_back(segment.reversed());
68 outputSegments.back()->setReverseFlag();
74 outputSegments.reserve(1.5 * inputSegments.size());
76 if (segment->hasReverseFlag()) {
77 outputSegments.push_back(segment);
81 bool isFitted = trajectory2D.
isFitted();
82 bool isCurler = trajectory2D.
isCurler(1.1);
85 bool isLeaver = isFitted and (not isCurler) and isOriginer;
91 outputSegments.push_back(segment.reversed());
93 outputSegments.push_back(segment);
97 outputSegments.push_back(segment);
98 outputSegments.back()->setReverseFlag();
99 outputSegments.push_back(segment.reversed());
100 outputSegments.back()->setReverseFlag();
105 outputSegments.reserve(inputSegments.size());
110 outputSegments.push_back(segment.reversed());
112 outputSegments.push_back(segment);
116 outputSegments.reserve(inputSegments.size());
121 outputSegments.push_back(segment.reversed());
123 outputSegments.push_back(segment);
128 B2WARNING(
"Unexpected 'SegmentOrientation' parameter of segment finder module : '" <<
130 "'. No segments are put out.");