otsdaq  v1_01_02
 All Classes Namespaces Functions
EventBuilderInterface.h
1 #ifndef _ots_EventBuilderInterface_h_
2 #define _ots_EventBuilderInterface_h_
3 
4 #include <future>
5 #include <memory>
6 #include <string>
7 #include "artdaq/Application/EventBuilderCore.hh"
8 
9 namespace ots
10 {
11 
12 //class OtsUDPFERConfiguration;
13 
15 {
16 public:
17 
18 // EventBuilderInterface (std::string name, const OtsUDPFERConfiguration* artDAQFERConfiguration);
19  EventBuilderInterface (int mpi_rank, std::string name);
21  virtual ~EventBuilderInterface();// = default;
22  EventBuilderInterface& operator=(EventBuilderInterface const&) = delete;
23 
24  void configure (fhicl::ParameterSet const& pset);
25  void halt (void);
26  void pause (void);
27  void resume (void);
28  void start (std::string runNumber);
29  void stop (void);
30 
31  std::string getBuilderName (void){return name_;}
32 
33 protected:
34  //const OtsUDPFERConfiguration* theARTDAQBuilderConfiguration_;
35 private:
36  int mpi_rank_;
37  std::string name_;
38  std::unique_ptr<artdaq::EventBuilderCore> event_builder_ptr_;
39  std::future<size_t> event_building_future_;
40 
41  //FIXME These should go...
42  std::string report_string_;
43  bool external_request_status_;
44 };
45 
46 }
47 
48 #endif