00001 #ifndef _ots_RawDataVisualizerConsumer_h_
00002 #define _ots_RawDataVisualizerConsumer_h_
00003
00004 #include "otsdaq-core/DataManager/DataConsumer.h"
00005 #include "otsdaq-core/Configurable/Configurable.h"
00006
00007 #include <string>
00008
00009 namespace ots
00010 {
00011
00012 class ConfigurationManager;
00013
00014 class RawDataVisualizerConsumer : public DataConsumer, public Configurable
00015 {
00016 public:
00017 RawDataVisualizerConsumer(std::string supervisorApplicationUID, std::string bufferUID, std::string processorUID, const ConfigurationTree& theXDAQContextConfigTree, const std::string& configurationPath);
00018 virtual ~RawDataVisualizerConsumer(void);
00019
00020 void startProcessingData(std::string runNumber) override;
00021 void stopProcessingData (void) override;
00022
00023 const std::string& getLastRawDataBuffer(void) {return data_;}
00024
00025 private:
00026 bool workLoopThread(toolbox::task::WorkLoop* workLoop);
00027 void fastRead(void);
00028 void slowRead(void);
00029
00030
00031
00032 std::string* dataP_;
00033 std::map<std::string,std::string>* headerP_;
00034
00035 std::string data_;
00036 std::map<std::string,std::string> header_;
00037
00038 };
00039 }
00040
00041 #endif