13 #include <framework/logging/Logger.h>
27 class Observer3HitPrintResults {
30 template<
class Var,
class RangeType>
31 static void notify(
const Var& filterType,
32 typename Var::variableType fResult,
33 const RangeType& range,
34 const typename Var::argumentType& outerHit,
35 const typename Var::argumentType& centerHit,
36 const typename Var::argumentType& innerHit)
39 std::stringstream outputStream;
40 outputStream << filterType.name()
41 <<
" with outer-/center-/innerhit: "
42 << outerHit.getPosition().PrintStringXYZ()
44 << centerHit.getPosition().PrintStringXYZ()
46 << innerHit.getPosition().PrintStringXYZ()
48 << outerHit.getArrayIndex()
50 << centerHit.getArrayIndex()
52 << innerHit.getArrayIndex()
54 << outerHit.getVxdID()
56 << centerHit.getVxdID()
58 << innerHit.getVxdID()
60 << (range.contains(fResult) ? std::setprecision(6) : std::setprecision(18))
63 << (range.contains(fResult) ? std::string(
">true<") : std::string(
">false<"))
69 B2DEBUG(5, outputStream.str());
85 template <
typename ... types >
91 template <
typename ... types >
92 static void terminate(
const types& ...) {};