IClusterFanin.h
Go to the documentation of this file.
1 #ifndef WIRECELL_IFACE_ICLUSTERFANIN
2 #define WIRECELL_IFACE_ICLUSTERFANIN
3 
6 
7 namespace WireCell {
8  /** A cluster fan-in component takes N clusters on input ports and
9  * produces a single output cluster. The merge policy and
10  * restriction on the number of inputs, if any, are left to the
11  * implementation.
12  */
13  class IClusterFanin : public IFaninNode<ICluster,ICluster,0> {
14  public:
15 
16  virtual ~IClusterFanin() ;
17 
18  virtual std::string signature() {
19  return typeid(IClusterFanin).name();
20  }
21 
22  // Subclass must implement:
23  virtual std::vector<std::string> input_types() = 0;
24  // and the already abstract:
25  // virtual bool operator()(const input_vector& invec, output_pointer& out) = 0;
26  };
27 }
28 
29 #endif
30 
static QCString name
Definition: declinfo.cpp:673
std::string string
Definition: nybbler.cc:12
virtual std::string signature()
Definition: IClusterFanin.h:18
virtual std::vector< std::string > input_types()=0
Definition: Main.h:22