1 #ifndef WIRECELLTBB_WRAPPERFACTORY 2 #define WIRECELLTBB_WRAPPERFACTORY 14 template<
class Wrapper>
18 return Node(
new Wrapper(g,n));
26 template<
class Wrapper>
34 WCNode2Wrapper&
seen() {
return m_nodes; }
36 typedef std::map<WireCell::INode::NodeCategory, WrapperMaker*>
NodeMakers;
def graph(desc, maker=maker)
virtual Node operator()(tbb::flow::graph &g, WireCell::INode::pointer n)
std::shared_ptr< NodeWrapper > Node
void bind_maker(WireCell::INode::NodeCategory cat)
std::shared_ptr< Interface > pointer
tbb::flow::graph & m_graph
std::map< WireCell::INode::pointer, Node > WCNode2Wrapper
std::map< WireCell::INode::NodeCategory, WrapperMaker * > NodeMakers
virtual Node operator()(tbb::flow::graph &g, WireCell::INode::pointer n)=0