8#include <tracking/trackFindingCDC/filters/segmentTripleRelation/BaseSegmentTripleRelationFilter.h>
10#include <tracking/trackingUtilities/eventdata/tracks/CDCSegmentTriple.h>
12#include <tracking/trackingUtilities/filters/base/RelationFilter.icc.h>
14#include <tracking/trackingUtilities/utilities/VectorRange.h>
15#include <tracking/trackingUtilities/utilities/Functional.h>
21using namespace TrackFindingCDC;
22using namespace TrackingUtilities;
32 const std::vector<const CDCSegmentTriple*>& segmentTriples)
const
36 ConstVectorRange<const CDCSegmentTriple*> neighbors{
37 std::equal_range(segmentTriples.begin(), segmentTriples.end(), &endSegment, LessOf<Deref>())};
38 return {neighbors.begin(), neighbors.end()};
BaseSegmentTripleRelationFilter()
Default constructor.
~BaseSegmentTripleRelationFilter() override
Default destructor.
std::vector< const TrackingUtilities::CDCSegmentTriple * > getPossibleTos(const TrackingUtilities::CDCSegmentTriple *from, const std::vector< const TrackingUtilities::CDCSegmentTriple * > &segmentTriples) const final
Returns the segment triples form the range that continue on the to site of the given segment triple.
A reconstructed sequence of two dimensional hits in one super layer.
Class representing a triple of reconstructed segments in adjacent superlayer.
const CDCAxialSegment2D * getEndSegment() const
Getter for the end axial segment.
Base class for filtering the neighborhood of objects.
Abstract base class for different kinds of events.