WireCellToolkit
Wire Cell Simulation, Signal Process and Reconstruction Toolki for Liquid Argon Detectors
WireCell::INode Class Referenceabstract

#include <INode.h>

Inheritance diagram for WireCell::INode:
Collaboration diagram for WireCell::INode:

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< INodepointer
 Access subclass facet by pointer. More...
 
typedef std::vector< pointervector
 Vector of shared pointers. More...
 
- Public Types inherited from WireCell::Interface
typedef std::shared_ptr< Interfacepointer
 

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 ()
 

Detailed Description

A data flow node

Definition at line 16 of file INode.h.

Member Enumeration Documentation

◆ NodeCategory

Enumerator
unknown 
sourceNode 
sinkNode 
functionNode 
queuedoutNode 
joinNode 
splitNode 
faninNode 
fanoutNode 
multioutNode 
hydraNode 

Definition at line 21 of file INode.h.

Constructor & Destructor Documentation

◆ ~INode()

INode::~INode ( )
virtual

Definition at line 146 of file IfaceDesctructors.cxx.

Member Function Documentation

◆ category()

◆ concurrency()

virtual int WireCell::INode::concurrency ( )
inlinevirtual

◆ input_types()

virtual std::vector<std::string> WireCell::INode::input_types ( )
inlinevirtual

Reimplemented in WireCell::IHydraNode< InputTuple, OutputTuple >, 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< ISliceFrame >, WireCell::ISinkNode< ScalarField >, WireCell::ISinkNode< IDepo >, WireCell::IClusterFanin, WireCell::IFrameFanin, WireCell::IBlobSetFanin, and WireCell::Gen::FrameFanin.

Definition at line 53 of file INode.h.

◆ output_types()

virtual std::vector<std::string> WireCell::INode::output_types ( )
inlinevirtual

Reimplemented in WireCell::IHydraNode< InputTuple, OutputTuple >, 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, and WireCell::Gen::DepoFanout.

Definition at line 58 of file INode.h.

Here is the caller graph for this function:

◆ reset()

virtual void WireCell::INode::reset ( )
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.

Definition at line 65 of file INode.h.

◆ signature()

virtual std::string WireCell::INode::signature ( )
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 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::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.


The documentation for this class was generated from the following files: