#include <INode.h>
Public Types | |
enum | NodeCategory { unknown, sourceNode, sinkNode, functionNode, queuedoutNode, joinNode, splitNode, faninNode, fanoutNode, multioutNode, hydraNode } |
Public Types inherited from WireCell::IComponent< INode > | |
typedef std::shared_ptr< INode > | pointer |
Access subclass facet by pointer. More... | |
typedef std::vector< pointer > | vector |
Vector of shared pointers. More... | |
Public Types inherited from WireCell::Interface | |
typedef std::shared_ptr< Interface > | pointer |
Public Member Functions | |
virtual | ~INode () |
virtual NodeCategory | category ()=0 |
Return the behavior category type. More... | |
virtual std::string | signature ()=0 |
virtual int | concurrency () |
virtual std::vector< std::string > | input_types () |
virtual std::vector< std::string > | output_types () |
virtual void | reset () |
Public Member Functions inherited from WireCell::IComponent< INode > | |
virtual | ~IComponent () |
Public Member Functions inherited from WireCell::Interface | |
virtual | ~Interface () |
Enumerator | |
---|---|
unknown | |
sourceNode | |
sinkNode | |
functionNode | |
queuedoutNode | |
joinNode | |
splitNode | |
faninNode | |
fanoutNode | |
multioutNode | |
hydraNode |
Definition at line 21 of file INode.h.
|
virtual |
Definition at line 146 of file IfaceDesctructors.cxx.
|
pure virtual |
Return the behavior category type.
Implemented in WireCell::ISourceNode< OutputType >, WireCell::ISourceNode< IFrame >, WireCell::ISourceNode< IWire::vector >, WireCell::ISourceNode< IDepo >, WireCell::IHydraNodeBase, WireCell::IJoinNodeBase, WireCell::ISplitNodeBase, WireCell::IFaninNodeBase, WireCell::IFanoutNodeBase, WireCell::IQueuedoutNodeBase, WireCell::IFunctionNodeBase, WireCell::ISourceNodeBase, and WireCell::ISinkNodeBase.
|
inlinevirtual |
|
inlinevirtual |
Reimplemented in WireCell::IHydraNode< InputTuple, OutputTuple >, WireCell::IHydraNode< in_tuple_t, out_tuple_t >, WireCell::IHydraNode< std::tuple< IDepo, IDepo >, std::tuple< IDepo > >, WireCell::ISplitNode< InputType, OutputTuple >, WireCell::ISplitNode< IFrame, std::tuple< IFrame, IFrame > >, WireCell::IFaninNode< InputType, OutputType, FaninMultiplicity >, WireCell::IJoinNode< InputTuple, OutputType >, WireCell::IFaninNode< IFrame, IFrame, 0 >, WireCell::IFaninNode< ICluster, ICluster, 0 >, WireCell::IFaninNode< IBlobSet, IBlobSet, 0 >, WireCell::IJoinNode< std::tuple< IFrame, IFrame >, IFrame >, WireCell::IFanoutNode< InputType, OutputType, FanoutMultiplicity >, WireCell::IQueuedoutNode< InputType, OutputType >, WireCell::IFanoutNode< IFrame, IFrame, 0 >, WireCell::IFanoutNode< IBlobSet::vector, IBlobSet, 0 >, WireCell::IFanoutNode< ISlice, ISlice, 0 >, WireCell::IFanoutNode< IDepo, IDepo, 0 >, WireCell::IFanoutNode< IDepoSet, IDepoSet, 0 >, WireCell::IQueuedoutNode< IDepo, IDiffusion >, WireCell::IQueuedoutNode< IFrame, ISlice >, WireCell::IQueuedoutNode< IDepo, IDepoSet >, WireCell::IQueuedoutNode< IBlobSet, IBlobSet >, WireCell::IQueuedoutNode< IBlobSet, ICluster >, WireCell::IQueuedoutNode< IDepo, IFrame >, WireCell::IQueuedoutNode< IDepo, IDepo >, WireCell::IFunctionNode< InputType, OutputType >, WireCell::IFunctionNode< IWireParameters, IWire::vector >, WireCell::IFunctionNode< IDepoSet, IFrame >, WireCell::IFunctionNode< ISlice, IStripeSet >, WireCell::IFunctionNode< IWire::vector, IWireSummary >, WireCell::IFunctionNode< ICluster, IFrame >, WireCell::IFunctionNode< IFrame, ISliceFrame >, WireCell::IFunctionNode< IFrame, IFrame >, WireCell::IFunctionNode< ISlice, IBlobSet >, WireCell::IFunctionNode< IDepo, IDepo >, WireCell::IFunctionNode< ICluster, ICluster >, WireCell::ISinkNode< InputType >, WireCell::ISinkNode< IFrame >, WireCell::ISinkNode< PointVector >, WireCell::ISinkNode< ICluster >, WireCell::ISinkNode< IBlobSet >, WireCell::ISinkNode< IStripeSet >, WireCell::ISinkNode< ISliceFrame >, WireCell::ISinkNode< ScalarField >, WireCell::ISinkNode< IDepo >, WireCell::IClusterFanin, WireCell::Img::BlobSetSync, WireCell::IFrameFanin, WireCell::IBlobSetFanin, and WireCell::Gen::FrameFanin.
|
inlinevirtual |
Reimplemented in WireCell::IHydraNode< InputTuple, OutputTuple >, WireCell::IHydraNode< in_tuple_t, out_tuple_t >, WireCell::IHydraNode< std::tuple< IDepo, IDepo >, std::tuple< IDepo > >, WireCell::IFaninNode< InputType, OutputType, FaninMultiplicity >, WireCell::IJoinNode< InputTuple, OutputType >, WireCell::ISplitNode< InputType, OutputTuple >, WireCell::IFaninNode< IFrame, IFrame, 0 >, WireCell::IFaninNode< ICluster, ICluster, 0 >, WireCell::IFaninNode< IBlobSet, IBlobSet, 0 >, WireCell::IJoinNode< std::tuple< IFrame, IFrame >, IFrame >, WireCell::ISplitNode< IFrame, std::tuple< IFrame, IFrame > >, WireCell::IFanoutNode< InputType, OutputType, FanoutMultiplicity >, WireCell::IFanoutNode< IFrame, IFrame, 0 >, WireCell::IFanoutNode< IBlobSet::vector, IBlobSet, 0 >, WireCell::IFanoutNode< ISlice, ISlice, 0 >, WireCell::IFanoutNode< IDepo, IDepo, 0 >, WireCell::IFanoutNode< IDepoSet, IDepoSet, 0 >, WireCell::IQueuedoutNode< InputType, OutputType >, WireCell::IQueuedoutNode< IDepo, IDiffusion >, WireCell::IQueuedoutNode< IFrame, ISlice >, WireCell::IQueuedoutNode< IDepo, IDepoSet >, WireCell::IQueuedoutNode< IBlobSet, IBlobSet >, WireCell::IQueuedoutNode< IBlobSet, ICluster >, WireCell::IQueuedoutNode< IDepo, IFrame >, WireCell::IQueuedoutNode< IDepo, IDepo >, WireCell::IFunctionNode< InputType, OutputType >, WireCell::IFunctionNode< IWireParameters, IWire::vector >, WireCell::IFunctionNode< IDepoSet, IFrame >, WireCell::IFunctionNode< ISlice, IStripeSet >, WireCell::IFunctionNode< IWire::vector, IWireSummary >, WireCell::IFunctionNode< ICluster, IFrame >, WireCell::IFunctionNode< IFrame, ISliceFrame >, WireCell::IFunctionNode< IFrame, IFrame >, WireCell::IFunctionNode< ISlice, IBlobSet >, WireCell::IFunctionNode< IDepo, IDepo >, WireCell::IFunctionNode< ICluster, ICluster >, WireCell::ISourceNode< OutputType >, WireCell::ISourceNode< IFrame >, WireCell::ISourceNode< IWire::vector >, WireCell::ISourceNode< IDepo >, WireCell::SigProc::ChannelSplitter, WireCell::IFrameFanout, WireCell::ISliceFanout, WireCell::IBlobSetFanout, WireCell::IDepoFanout, WireCell::IDepoSetFanout, WireCell::Gen::FrameFanout, WireCell::Gen::DepoSetFanout, WireCell::Img::SliceFanout, and WireCell::Gen::DepoFanout.
|
inlinevirtual |
Optional hook to be implemented in order to reset after an end of stream is encountered. Fixme: this should be removed.
Reimplemented in WireCell::Gen::Drifter, WireCell::Diffuser, and WireCell::Gen::TruthTraceID.
|
pure virtual |
The signature is string unique to all classes that implement a particular calling signature. These should be defined in lower level interfaces such as a mythical IMyFooToBarConverter.
Implemented in MyHydra, WireCell::ISourceNode< OutputType >, WireCell::ISourceNode< IFrame >, WireCell::ISourceNode< IWire::vector >, WireCell::ISourceNode< IDepo >, WireCell::IFunctionNode< InputType, OutputType >, WireCell::IFunctionNode< IWireParameters, IWire::vector >, WireCell::IFunctionNode< IDepoSet, IFrame >, WireCell::IFunctionNode< ISlice, IStripeSet >, WireCell::IFunctionNode< IWire::vector, IWireSummary >, WireCell::IFunctionNode< ICluster, IFrame >, WireCell::IFunctionNode< IFrame, ISliceFrame >, WireCell::IFunctionNode< IFrame, IFrame >, WireCell::IFunctionNode< ISlice, IBlobSet >, WireCell::IFunctionNode< IDepo, IDepo >, WireCell::IFunctionNode< ICluster, ICluster >, WireCell::IFrameSlicer, WireCell::IDuctor, WireCell::IDiffuser, WireCell::IFrameFilter, WireCell::IFrameSlices, WireCell::IDrifter, WireCell::IDepoCollector, WireCell::IDepoFramer, WireCell::IClusterFilter, WireCell::IWireGenerator, WireCell::IClustering, WireCell::IFrameJoiner, WireCell::ITiling, WireCell::IBlobSetProcessor, WireCell::IClusterFanin, WireCell::IDepoFilter, WireCell::IDepoSource, WireCell::IFrameFanout, WireCell::IFrameSink, WireCell::ISliceStriper, WireCell::IStripeSetSink, WireCell::IDepoMerger, WireCell::IFrameFanin, WireCell::ISliceFanout, WireCell::IBlobSetFanin, WireCell::IBlobSetFanout, WireCell::IBlobSetSink, WireCell::IClusterFramer, WireCell::IClusterSink, WireCell::IDepoFanout, WireCell::IDepoSetFanout, WireCell::IDepoSink, WireCell::IPointFieldSink, WireCell::IScalarFieldSink, WireCell::ISliceFrameSink, WireCell::IWireSource, WireCell::IWireSummarizer, and WireCell::IFrameSplitter.