WireCellToolkit
Wire Cell Simulation, Signal Process and Reconstruction Toolki for Liquid Argon Detectors
WireCell::IFunctionNode< InputType, OutputType > Class Template Referenceabstract

#include <IFunctionNode.h>

Inheritance diagram for WireCell::IFunctionNode< InputType, OutputType >:
Collaboration diagram for WireCell::IFunctionNode< InputType, OutputType >:

Public Types

typedef InputType input_type
 
typedef OutputType output_type
 
typedef std::shared_ptr< const InputType > input_pointer
 
typedef std::shared_ptr< const OutputType > output_pointer
 
typedef IFunctionNode< InputType, OutputType > signature_type
 
- Public Types inherited from WireCell::IFunctionNodeBase
typedef std::shared_ptr< IFunctionNodeBasepointer
 
- Public Types inherited from WireCell::INode
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 ~IFunctionNode ()
 
virtual std::string signature ()
 Set the signature for all subclasses. More...
 
virtual bool operator() (const boost::any &anyin, boost::any &anyout)
 The calling signature: More...
 
virtual bool operator() (const input_pointer &in, output_pointer &out)=0
 The calling signature: More...
 
virtual std::vector< std::string > input_types ()
 
virtual std::vector< std::string > output_types ()
 
- Public Member Functions inherited from WireCell::IFunctionNodeBase
virtual ~IFunctionNodeBase ()
 
virtual NodeCategory category ()
 Return the behavior category type. More...
 
virtual int concurrency ()
 By default assume all subclasses are stateless. More...
 
- Public Member Functions inherited from WireCell::INode
virtual ~INode ()
 
virtual void reset ()
 
- Public Member Functions inherited from WireCell::IComponent< INode >
virtual ~IComponent ()
 
- Public Member Functions inherited from WireCell::Interface
virtual ~Interface ()
 

Detailed Description

template<typename InputType, typename OutputType>
class WireCell::IFunctionNode< InputType, OutputType >

Definition at line 34 of file IFunctionNode.h.

Member Typedef Documentation

◆ input_pointer

template<typename InputType, typename OutputType>
typedef std::shared_ptr<const InputType> WireCell::IFunctionNode< InputType, OutputType >::input_pointer

Definition at line 39 of file IFunctionNode.h.

◆ input_type

template<typename InputType, typename OutputType>
typedef InputType WireCell::IFunctionNode< InputType, OutputType >::input_type

Definition at line 37 of file IFunctionNode.h.

◆ output_pointer

template<typename InputType, typename OutputType>
typedef std::shared_ptr<const OutputType> WireCell::IFunctionNode< InputType, OutputType >::output_pointer

Definition at line 40 of file IFunctionNode.h.

◆ output_type

template<typename InputType, typename OutputType>
typedef OutputType WireCell::IFunctionNode< InputType, OutputType >::output_type

Definition at line 38 of file IFunctionNode.h.

◆ signature_type

template<typename InputType, typename OutputType>
typedef IFunctionNode<InputType, OutputType> WireCell::IFunctionNode< InputType, OutputType >::signature_type

Definition at line 41 of file IFunctionNode.h.

Constructor & Destructor Documentation

◆ ~IFunctionNode()

template<typename InputType, typename OutputType>
virtual WireCell::IFunctionNode< InputType, OutputType >::~IFunctionNode ( )
inlinevirtual

Definition at line 43 of file IFunctionNode.h.

Member Function Documentation

◆ input_types()

template<typename InputType, typename OutputType>
virtual std::vector<std::string> WireCell::IFunctionNode< InputType, OutputType >::input_types ( )
inlinevirtual

Reimplemented from WireCell::INode.

Definition at line 63 of file IFunctionNode.h.

◆ operator()() [1/2]

template<typename InputType, typename OutputType>
virtual bool WireCell::IFunctionNode< InputType, OutputType >::operator() ( const boost::any &  anyin,
boost::any &  anyout 
)
inlinevirtual

The calling signature:

Implements WireCell::IFunctionNodeBase.

Definition at line 50 of file IFunctionNode.h.

◆ operator()() [2/2]

template<typename InputType, typename OutputType>
virtual bool WireCell::IFunctionNode< InputType, OutputType >::operator() ( const input_pointer in,
output_pointer out 
)
pure virtual

The calling signature:

◆ output_types()

template<typename InputType, typename OutputType>
virtual std::vector<std::string> WireCell::IFunctionNode< InputType, OutputType >::output_types ( )
inlinevirtual

Reimplemented from WireCell::INode.

Definition at line 67 of file IFunctionNode.h.

◆ signature()

template<typename InputType, typename OutputType>
virtual std::string WireCell::IFunctionNode< InputType, OutputType >::signature ( )
inlinevirtual

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