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>
21using 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 segment and one stereo segment in adjacent super...
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.
Base class for filtering the neighborhood of objects.
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...