Public Member Functions | List of all members
MyHydra Class Reference
Inheritance diagram for MyHydra:
WireCell::IHydraNode< in_tuple_t, out_tuple_t > WireCell::IHydraNodeBase WireCell::INode WireCell::IComponent< INode > WireCell::Interface

Public Member Functions

virtual ~MyHydra ()
 
virtual bool operator() (input_queues_type &inqs, output_queues_type &outqs)
 Typed interface for subclass to implement. More...
 
virtual std::string signature ()
 
- Public Member Functions inherited from WireCell::IHydraNode< in_tuple_t, out_tuple_t >
virtual ~IHydraNode ()
 
virtual bool operator() (any_queue_vector &anyinq, any_queue_vector &anyoutq)
 Translate call from any to types and back. More...
 
virtual std::vector< std::stringinput_types ()
 
virtual std::vector< std::stringoutput_types ()
 
- Public Member Functions inherited from WireCell::IHydraNodeBase
virtual ~IHydraNodeBase ()
 
virtual NodeCategory category ()
 Return the behavior category type. More...
 
virtual int concurrency ()
 By default assume hydra nodes can do their thing 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 ()
 

Additional Inherited Members

- Public Types inherited from WireCell::IHydraNode< in_tuple_t, out_tuple_t >
typedef in_tuple_t input_tuple_type
 
typedef out_tuple_t output_tuple_type
 
typedef shared_queued< in_tuple_tinput_shqed
 
typedef shared_queued< out_tuple_toutput_shqed
 
typedef input_shqed::shared_queued_tuple_type input_queues_type
 
typedef output_shqed::shared_queued_tuple_type output_queues_type
 
- Public Types inherited from WireCell::IHydraNodeBase
typedef std::shared_ptr< IHydraNodeBasepointer
 
typedef std::deque< boost::any > any_queue
 
typedef std::vector< any_queueany_queue_vector
 
- 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
 

Detailed Description

Definition at line 34 of file test_ihydra.cxx.

Constructor & Destructor Documentation

virtual MyHydra::~MyHydra ( )
inlinevirtual

Definition at line 37 of file test_ihydra.cxx.

37 {}

Member Function Documentation

virtual bool MyHydra::operator() ( input_queues_type inqs,
output_queues_type outqs 
)
inlinevirtual

Typed interface for subclass to implement.

Implements WireCell::IHydraNode< in_tuple_t, out_tuple_t >.

Definition at line 39 of file test_ihydra.cxx.

40  {
41 
42  using namespace WireCell;
43 
44  std::cerr << "Running instance of " << demangle(signature()) << "\n";
45  std::cerr << "input_queues_type:\n\t" << demangle(typeid(input_queues_type).name()) << "\n";
46  std::cerr << "output_queues_type:\n\t" << demangle(typeid(output_queues_type).name()) << "\n";
47 
48  std::cerr << "input types:\n";
49  for (auto tn : input_types()) {
50  std::cerr << "\t" << demangle(tn) << "\n";
51  }
52 
53  std::cerr << "output types:\n";
54  for (auto tn : output_types()) {
55  std::cerr << "\t" << demangle(tn) << "\n";
56  }
57 
58  return true;
59  }
static QCString name
Definition: declinfo.cpp:673
std::string demangle(T const *=nullptr)
Outputs a demangled name for type T.
Definition: DebugUtils.h:348
virtual std::vector< std::string > input_types()
Definition: IHydraNode.h:88
input_shqed::shared_queued_tuple_type input_queues_type
Definition: IHydraNode.h:59
virtual std::string signature()
Definition: test_ihydra.cxx:61
Definition: Main.h:22
output_shqed::shared_queued_tuple_type output_queues_type
Definition: IHydraNode.h:60
virtual std::vector< std::string > output_types()
Definition: IHydraNode.h:93
virtual std::string MyHydra::signature ( )
inlinevirtual

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.

Implements WireCell::INode.

Definition at line 61 of file test_ihydra.cxx.

61  {
62  return typeid(MyHydra).name();
63  }
static QCString name
Definition: declinfo.cpp:673

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