10#include <tracking/trackFindingCDC/numerics/Weight.h>
18 namespace TrackFindingCDC {
25 template<
class AHitInBoxAlgorithm,
class AnotherHitInBoxAlgorithm>
29 using HoughBox =
typename AHitInBoxAlgorithm::HoughBox;
34 template<
class AObject>
38 AHitInBoxAlgorithm hitInBoxAlgorithm;
39 AnotherHitInBoxAlgorithm anotherHitInBoxAlgorithm;
41 const Weight& firstResult = hitInBoxAlgorithm(
object, box);
42 const Weight& secondResult = anotherHitInBoxAlgorithm(
object, box);
44 if (std::isnan(firstResult) and std::isnan(secondResult)) {
46 }
else if (std::isnan(firstResult)) {
48 }
else if (std::isnan(secondResult)) {
51 return firstResult + secondResult;
Predicate class to check for the containment of items in a hough space part with two algorithms.
typename AHitInBoxAlgorithm::HoughBox HoughBox
The type of the underlying HoughBox (copied from the first underlying hit algorithm)
Weight operator()(const AObject &object, const HoughBox *box)
Returns the sum of the resulting weights of both algorithms (of not NAN).
Abstract base class for different kinds of events.