8#include <tracking/trackFindingCDC/filters/segmentPairRelation/BaseSegmentPairRelationFilter.h>
10#include <tracking/trackingUtilities/eventdata/tracks/CDCSegmentPair.h>
12#include <tracking/trackingUtilities/filters/base/RelationFilter.icc.h>
14#include <tracking/trackingUtilities/utilities/VectorRange.h>
15#include <tracking/trackingUtilities/utilities/Functional.h>
20using namespace TrackFindingCDC;
21using namespace TrackingUtilities;
31 const std::vector<const CDCSegmentPair*>& segmentPairs)
const
35 ConstVectorRange<const CDCSegmentPair*> neighbors{
36 std::equal_range(segmentPairs.begin(), segmentPairs.end(), &toSegment, LessOf<Deref>())};
37 return {neighbors.begin(), neighbors.end()};
~BaseSegmentPairRelationFilter() override
Default destructor.
BaseSegmentPairRelationFilter()
Default constructor.
std::vector< const TrackingUtilities::CDCSegmentPair * > getPossibleTos(const TrackingUtilities::CDCSegmentPair *from, const std::vector< const TrackingUtilities::CDCSegmentPair * > &segmentPairs) const final
Returns the segment pairs form the range that continue on the to site of the given segment pair.
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.
Base class for filtering the neighborhood of objects.
Abstract base class for different kinds of events.