$treeview $search $mathjax $extrastylesheet
otsdaq
v2_03_00
$projectbrief
|
$projectbrief
|
$searchbox |
00001 #ifndef _ots_ARTDAQReaderProcessorBase_h_ 00002 #define _ots_ARTDAQReaderProcessorBase_h_ 00003 00004 #include "artdaq/Application/BoardReaderApp.hh" 00005 #include "otsdaq-core/Configurable/Configurable.h" 00006 00007 #include <future> 00008 #include <memory> 00009 #include <string> 00010 00011 namespace ots 00012 { 00013 // ARTDAQReaderProcessorBase 00014 // This class is a Data Processor base class for the Consumer and Producer Plugin that 00015 // allows a single artdaq Board Reader to be 00016 // instantiated on an otsdaq Buffer. 00017 class ARTDAQReaderProcessorBase : public Configurable 00018 { 00019 public: 00020 ARTDAQReaderProcessorBase(std::string supervisorApplicationUID, 00021 std::string bufferUID, 00022 std::string processorUID, 00023 const ConfigurationTree& theXDAQContextConfigTree, 00024 const std::string& configurationPath); 00025 virtual ~ARTDAQReaderProcessorBase(void); 00026 00027 // void destroy (void); 00028 // void configure (fhicl::ParameterSet const& pset); 00029 00030 // these functions are not inherited, they define the core reader functionality 00031 void initLocalGroup(int rank); 00032 void configure(int rank); 00033 void halt(void); 00034 void pause(void); 00035 void resume(void); 00036 void start(const std::string& runNumber); 00037 void stop(void); 00038 00039 // void pauseProcessingData(void); 00040 // void resumeProcessingData(void); 00041 // void startProcessingData(std::string runNumber) override; 00042 // void stopProcessingData(void); 00043 00044 // int universalRead (char *address, char *returnValue) override {;} 00045 // void universalWrite (char *address, char *writeValue) override {;} 00046 // artdaq::BoardReaderCore* getFragmentReceiverPtr(){return 00047 // fragment_receiver_ptr_.get();} void ProcessData_(artdaq::FragmentPtrs & frags) 00048 // override; 00049 00050 private: 00051 // bool workLoopThread(toolbox::task::WorkLoop* workLoop) { return false; } 00052 00053 std::unique_ptr<artdaq::BoardReaderApp> fragment_receiver_ptr_; 00054 const std::string name_; 00055 fhicl::ParameterSet fhiclConfiguration_; 00056 }; 00057 00058 } // namespace ots 00059 00060 #endif