12 #include <tracking/trackFindingCDC/filters/base/AndFilter.dcl.h>
14 #include <tracking/trackFindingCDC/numerics/Weight.h>
23 namespace TrackFindingCDC {
25 template <
class AFilter>
27 std::unique_ptr<AFilter> rhsFilter)
28 : m_lhsFilter(std::move(lhsFilter))
29 , m_rhsFilter(std::move(rhsFilter))
31 this->addProcessingSignalListener(
m_lhsFilter.get());
32 this->addProcessingSignalListener(
m_rhsFilter.get());
35 template <
class AFilter>
38 template <
class AFilter>
40 const std::string& prefix)
42 if (m_lhsFilter) m_lhsFilter->exposeParameters(moduleParamList, prefix);
43 if (m_rhsFilter) m_rhsFilter->exposeParameters(moduleParamList, prefix);
46 template<
class AFilter>
49 Weight lhsResult = (*m_lhsFilter)(obj);
51 if (std::isnan(lhsResult)) {
54 Weight rhsResult = (*m_rhsFilter)(obj);