Belle II Software development
BaseSegmentPairRelationFilter.cc
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8#include <tracking/trackFindingCDC/filters/segmentPairRelation/BaseSegmentPairRelationFilter.h>
9
10#include <tracking/trackingUtilities/eventdata/tracks/CDCSegmentPair.h>
11
12#include <tracking/trackingUtilities/filters/base/RelationFilter.icc.h>
13
14#include <tracking/trackingUtilities/utilities/VectorRange.h>
15#include <tracking/trackingUtilities/utilities/Functional.h>
16
17#include <algorithm>
18
19using namespace Belle2;
20using namespace TrackFindingCDC;
21using namespace TrackingUtilities;
22
24
26
28
29std::vector<const CDCSegmentPair*> BaseSegmentPairRelationFilter::getPossibleTos(
30 const CDCSegmentPair* from,
31 const std::vector<const CDCSegmentPair*>& segmentPairs) const
32{
33 const CDCSegment2D* toSegment = from->getToSegment();
34
35 ConstVectorRange<const CDCSegmentPair*> neighbors{
36 std::equal_range(segmentPairs.begin(), segmentPairs.end(), &toSegment, LessOf<Deref>())};
37 return {neighbors.begin(), neighbors.end()};
38}
~BaseSegmentPairRelationFilter() override
Default destructor.
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.