IDataFlowGraph.h
Go to the documentation of this file.
1 #ifndef WIRECELL_IDATAFLOWGRAPH
2 #define WIRECELL_IDATAFLOWGRAPH
3 
5 #include "WireCellIface/INode.h"
6 
7 namespace WireCell {
8 
9  /** Interface to a data flow processing graph.
10  *
11  * See also WireCell::IConnector and WireCell::IConnectorT.
12  */
13  class IDataFlowGraph : public IComponent<IDataFlowGraph> {
14  public:
15  virtual ~IDataFlowGraph() ;
16 
17  /// Connect tail and head nodes so data runs from given tail
18  /// port number to given head port number Return false on
19  /// error.
20  virtual bool connect(INode::pointer tail, INode::pointer head,
21  size_t tail_port=0, size_t head_port=0) = 0;
22 
23  /// Run the graph, return false on error.
24  virtual bool run() = 0;
25  };
26 
27 }
28 
29 #endif
virtual bool run()=0
Run the graph, return false on error.
virtual bool connect(INode::pointer tail, INode::pointer head, size_t tail_port=0, size_t head_port=0)=0
std::shared_ptr< Interface > pointer
Definition: Interface.h:16
Definition: Main.h:22