8 #include <tracking/trackFindingCDC/filters/segmentPairRelation/BaseSegmentPairRelationFilter.h>
10 #include <tracking/trackFindingCDC/eventdata/tracks/CDCSegmentPair.h>
12 #include <tracking/trackFindingCDC/filters/base/RelationFilter.icc.h>
14 #include <tracking/trackFindingCDC/utilities/VectorRange.h>
15 #include <tracking/trackFindingCDC/utilities/Functional.h>
21 using namespace TrackFindingCDC;
31 const std::vector<const CDCSegmentPair*>& segmentPairs)
const
33 assert(std::is_sorted(segmentPairs.begin(), segmentPairs.end(),
LessOf<Deref>()) &&
34 "Expected segment pairs to be sorted");
39 std::equal_range(segmentPairs.begin(), segmentPairs.end(), &toSegment,
LessOf<Deref>())};
40 return {neighbors.
begin(), neighbors.end()};
std::vector< const CDCSegmentPair * > getPossibleTos(const CDCSegmentPair *from, const std::vector< const CDCSegmentPair * > &segmentPairs) const final
Returns the segment pairs form the range that continue on the to site of the given segment pair.
~BaseSegmentPairRelationFilter()
Default destructor.
BaseSegmentPairRelationFilter()
Default constructor.
A reconstructed sequence of two dimensional hits in one super layer.
Class representing a pair of one reconstructed axial segement and one stereo segment in adjacent supe...
const CDCSegment2D * getToSegment() const
Getter for the to segment.
A pair of iterators usable with the range base for loop.
Iterator begin() const
Begin of the range for range based for.
Abstract base class for different kinds of events.
Functor factory turning a binary functor and two functors into a new functor which executes the binar...