Belle II Software development
BaseSegmentRelationFilter.h
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#pragma once
9
10#include <tracking/trackingUtilities/filters/base/RelationFilter.dcl.h>
11
12#include <tracking/trackingUtilities/numerics/Weight.h>
13
14#include <tracking/trackingUtilities/utilities/Relation.h>
15
16#include <vector>
17
18namespace Belle2 {
23 namespace TrackingUtilities {
24 class CDCSegment2D;
25 }
26 namespace TrackFindingCDC {
27
28 // Guard to prevent repeated instantiations
29 // extern template class TrackingUtilities::RelationFilter<const CDCSegment2D>;
30
32 class BaseSegmentRelationFilter : public TrackingUtilities::RelationFilter<const TrackingUtilities::CDCSegment2D> {
33
34 private:
37
38 public:
41
44
46 std::vector<const TrackingUtilities::CDCSegment2D*> getPossibleTos(
48 const std::vector<const TrackingUtilities::CDCSegment2D*>& segments) const final;
49
50 using Super::operator();
51
57 TrackingUtilities::Weight operator()(const TrackingUtilities::Relation<const TrackingUtilities::CDCSegment2D>& relation) override;
58 };
59 }
61}
virtual ~BaseSegmentRelationFilter()
Default destructor.
std::vector< const TrackingUtilities::CDCSegment2D * > getPossibleTos(const TrackingUtilities::CDCSegment2D *from, const std::vector< const TrackingUtilities::CDCSegment2D * > &segments) const final
Returns all equivalent segment in the range.
TrackingUtilities::RelationFilter< const TrackingUtilities::CDCSegment2D > Super
Type of the base class.
TrackingUtilities::Weight operator()(const TrackingUtilities::Relation< const TrackingUtilities::CDCSegment2D > &relation) override
Main filter method overriding the filter interface method.
A reconstructed sequence of two dimensional hits in one super layer.
Base class for filtering the neighborhood of objects.
Type for two related objects.
Definition Relation.h:21
Abstract base class for different kinds of events.