otsdaq  v2_05_02_indev
ARTDAQProducer.h
1 #ifndef _ots_ARTDAQProducer_h_
2 #define _ots_ARTDAQProducer_h_
3 
4 #include "otsdaq/ARTDAQReaderCore/ARTDAQReaderProcessorBase.h"
5 //
6 //#include "artdaq/Application/BoardReaderApp.hh"
7 //#include "otsdaq/Configurable/Configurable.h"
8 #include "otsdaq/DataManager/DataProducer.h"
9 //
10 //#include <future>
11 //#include <memory>
12 //#include <string>
13 
14 namespace ots
15 {
16 // ARTDAQProducer
17 // This class is a Data Producer plugin that
18 // allows a single artdaq Board Reader to be
19 // instantiated on the write side of an otsdaq Buffer.
21  public ARTDAQReaderProcessorBase // public DataProducer, public Configurable
22 {
23  public:
24  ARTDAQProducer(std::string supervisorApplicationUID,
25  std::string bufferUID,
26  std::string processorUID,
27  const ConfigurationTree& theXDAQContextConfigTree,
28  const std::string& configurationPath);
29  virtual ~ARTDAQProducer(void);
30 
31  // void initLocalGroup(int rank);
32  // // void destroy (void);
33  //
34  // // void configure (fhicl::ParameterSet const& pset);
35  // void configure(int rank);
36  // void halt(void);
37  void pauseProcessingData(void) override;
38  void resumeProcessingData(void) override;
39  void startProcessingData(std::string runNumber) override;
40  void stopProcessingData(void) override;
41  // // int universalRead (char *address, char *returnValue) override {;}
42  // // void universalWrite (char *address, char *writeValue) override {;}
43  // // artdaq::BoardReaderCore* getFragmentReceiverPtr(){return
44  // // fragment_receiver_ptr_.get();} void ProcessData_(artdaq::FragmentPtrs & frags)
45  // // override;
46  //
47  private:
48  bool workLoopThread(toolbox::task::WorkLoop* /*workLoop*/) override { return false; }
49  //
50  // std::unique_ptr<artdaq::BoardReaderApp> fragment_receiver_ptr_;
51  // std::string name_;
52  //
53  // // FIXME These should go...
54  // std::string report_string_;
55  // bool external_request_status_;
56  // fhicl::ParameterSet fhiclConfiguration_;
57 };
58 
59 } // namespace ots
60 
61 #endif