13 #include <tracking/trackFindingVXD/filterMap/training/VariableTBranch.h>
22 template<
typename ... filterLeaves>
23 class VariablesTTree {
30 class VariablesTTree<> {
36 VariablesTTree(TTree* tree): m_tree(tree) {};
39 TTree* getTTree(
void) {
return m_tree; };
42 template<
class Filter>
43 static auto build(
const Filter&, TTree* tree) ->
50 template<
class Variable,
class ... other>
58 m_varTBranch(tree) {};
64 template<
class ... SpacePoints >
65 void evaluateOn(
const SpacePoints& ... sps)
67 m_varTBranch.evaluateOn(sps...);
73 template<
class unaryOperator,
class ... args,
class ... other>
88 template<
class ... SpacePoints>
89 void evaluateOn(
const SpacePoints& ... sps)
91 m_node.evaluateOn(sps...);
97 template<
class binaryOperator,
class ... argsA,
class ... argsB,
110 m_nodeA(tree), m_nodeB(tree)
117 template<
class ... SpacePoints>
118 void evaluateOn(
const SpacePoints& ... sps)
120 m_nodeA.evaluateOn(sps...);
121 m_nodeB.evaluateOn(sps...);