Belle II Software  release-08-01-10
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/trackFindingCDC/filters/base/RelationFilter.dcl.h>
11 
12 #include <tracking/trackFindingCDC/numerics/Weight.h>
13 
14 #include <tracking/trackFindingCDC/utilities/Relation.h>
15 
16 #include <vector>
17 
18 namespace Belle2 {
23  namespace TrackFindingCDC {
24  class CDCSegment2D;
25 
26  // Guard to prevent repeated instantiations
27  extern template class RelationFilter<const CDCSegment2D>;
28 
31 
32  private:
35 
36  public:
39 
42 
44  std::vector<const CDCSegment2D*> getPossibleTos(
45  const CDCSegment2D* from,
46  const std::vector<const CDCSegment2D*>& segments) const final;
47 
48  using Super::operator();
49 
55  Weight operator()(const Relation<const CDCSegment2D>& relation) override;
56  };
57  }
59 }
Base class for filtering the neighborhood of segments.
virtual ~BaseSegmentRelationFilter()
Default destructor.
A reconstructed sequence of two dimensional hits in one super layer.
Definition: CDCSegment2D.h:39
Type for two related objects.
Definition: Relation.h:21
Abstract base class for different kinds of events.