All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MainTool.h
Go to the documentation of this file.
1 /** A wcls::MainTool is a main entry point to the WCT from LS
2 
3  See the WCLS_tool as the likely only implementation.
4 
5  Fixme: maybe need to pick a less generic name for this tool?
6 */
7 
8 
9 
10 #ifndef LARWIRECELL_INTERFACES_MAINTOOL
11 #define LARWIRECELL_INTERFACES_MAINTOOL
12 
13 namespace art {
14  class Event;
15  class ProducesCollector;
16 }
17 
18 namespace wcls {
19 
20  class MainTool {
21  public:
22 
23  virtual ~MainTool() noexcept = default;
24 
25  /// Accept a base producer. Typically needed in order to call
26  /// prod.produces<Type>() for Type of any expected data
27  /// products
28  virtual void produces(art::ProducesCollector& collector) = 0;
29 
30  /// Accept an event to process.
31  virtual void process(art::Event& event) = 0;
32  };
33 }
34 
35 #endif
virtual void process(art::Event &event)=0
Accept an event to process.
virtual void produces(art::ProducesCollector &collector)=0
virtual ~MainTool() noexcept=default