Belle II Software  release-05-01-25
RelationFilter.dcl.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2017 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Oliver Frost *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 #pragma once
11 
12 #include <tracking/trackFindingCDC/filters/base/Filter.dcl.h>
13 
14 #include <tracking/trackFindingCDC/numerics/Weight.h>
15 
16 #include <tracking/trackFindingCDC/utilities/Relation.h>
17 
18 #include <vector>
19 
20 namespace Belle2 {
25  namespace TrackFindingCDC {
26 
28  template <class AObject>
29  class RelationFilter : public Filter<Relation<AObject> > {
30 
31  public:
34 
36  virtual ~RelationFilter();
37 
39  virtual std::vector<AObject*> getPossibleTos(AObject* from,
40  const std::vector<AObject*>& objects) const;
41 
46  virtual Weight operator()(const AObject& from, const AObject& to);
47 
53  Weight operator()(const Relation<AObject>& relation) override;
54  };
55  }
57 }
Belle2::TrackFindingCDC::Relation
Type for two related objects.
Definition: CDCSegment2D.h:37
Belle2::TrackFindingCDC::RelationFilter::operator()
virtual Weight operator()(const AObject &from, const AObject &to)
Main filter method returning the weight of the neighborhood relation.
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TrackFindingCDC::RelationFilter::getPossibleTos
virtual std::vector< AObject * > getPossibleTos(AObject *from, const std::vector< AObject * > &objects) const
Selects the objects possibly related to the given one from the given pool of objects.
Definition: RelationFilter.icc.h:37
Belle2::TrackFindingCDC::RelationFilter::~RelationFilter
virtual ~RelationFilter()
Default destructor.
Belle2::TrackFindingCDC::RelationFilter::RelationFilter
RelationFilter()
Default constructor.