otsdaq  v2_00_00
ARTDAQConsumer.h
1 #ifndef _ots_ARTDAQConsumer_h_
2 #define _ots_ARTDAQConsumer_h_
3 
4 #include "otsdaq-core/DataManager/DataConsumer.h"
5 #include "otsdaq-core/Configurable/Configurable.h"
6 #include "artdaq/Application/BoardReaderApp.hh"
7 
8 
9 #include <future>
10 #include <memory>
11 #include <string>
12 
13 namespace ots
14 {
15 
17 {
18 
19 public:
20  ARTDAQConsumer (std::string supervisorApplicationUID, std::string bufferUID, std::string processorUID, const ConfigurationTree& theXDAQContextConfigTree, const std::string& configurationPath);
21  virtual ~ARTDAQConsumer(void);
22 
23  void initLocalGroup (int rank);
24  //void destroy (void);
25 
26  //void configure (fhicl::ParameterSet const& pset);
27  void configure (int rank);
28  void halt (void);
29  void pauseProcessingData (void);
30  void resumeProcessingData(void);
31  void startProcessingData (std::string runNumber) override;
32  void stopProcessingData (void);
33  //int universalRead (char *address, char *returnValue) override {;}
34  //void universalWrite (char *address, char *writeValue) override {;}
35  //artdaq::BoardReaderCore* getFragmentReceiverPtr(){return fragment_receiver_ptr_.get();}
36  //void ProcessData_(artdaq::FragmentPtrs & frags) override;
37 
38 private:
39  bool workLoopThread(toolbox::task::WorkLoop* workLoop){return false;}
40 
41  std::unique_ptr<artdaq::BoardReaderApp> fragment_receiver_ptr_;
42  std::string name_;
43 
44  //FIXME These should go...
45  std::string report_string_;
46  bool external_request_status_;
47  fhicl::ParameterSet fhiclConfiguration_;
48 };
49 
50 }
51 
52 #endif