10#include <tracking/trackFindingCDC/filters/base/RelationFilter.dcl.h>
12#include <tracking/trackFindingCDC/filters/base/Filter.icc.h>
19 namespace TrackFindingCDC {
20 template<
class AObject>
23 template<
class AObject>
26 template<
class AObject>
28 AObject* from __attribute__((unused)),
29 const std::vector<AObject*>& objects)
const
34 template<
class AObject>
36 const AObject& to __attribute__((unused)))
41 template<
class AObject>
44 const AObject* from = relation.
getFrom();
45 const AObject* to = relation.
getTo();
47 if (from == to)
return NAN;
48 if ((from ==
nullptr) or (to ==
nullptr))
return NAN;
49 return operator()(*from, *to);
RelationFilter()
Default constructor.
virtual Weight operator()(const AObject &from, const AObject &to)
Main filter method returning the weight of the neighborhood relation.
virtual ~RelationFilter()
Default destructor.
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.
Type for two related objects.
From * getFrom() const
Getter for the pointer to the from side object.
To * getTo() const
Getter for the pointer to the to side object.
Abstract base class for different kinds of events.