00001 #ifndef _ots_DQMHistosOuterTracker_h_
00002 #define _ots_DQMHistosOuterTracker_h_
00003
00004 #include "otsdaq-core/DataDecoders/DataDecoder.h"
00005 #include <queue>
00006 #include <string>
00007 #include <map>
00008
00009
00010
00011 class TFile;
00012 class TCanvas;
00013 class TH1;
00014 class TH1I;
00015 class TH1F;
00016 class TH2F;
00017 class TProfile;
00018 class TDirectory;
00019 class TObject;
00020
00021 namespace ots
00022 {
00023
00024 class ConfigurationManager;
00025
00026 class DQMHistosOuterTracker
00027 {
00028 public:
00029 DQMHistosOuterTracker(std::string supervisorApplicationUID, std::string bufferUID, std::string processorUID);
00030 virtual ~DQMHistosOuterTracker(void);
00031 void setConfigurationManager(ConfigurationManager* configurationManager){theConfigurationManager_ = configurationManager;}
00032 void book(void);
00033 void fill(std::string& buffer, std::map<std::string, std::string> header);
00034 void save(void);
00035 void load(std::string fileName);
00036 TObject* get (std::string name);
00037
00038 TFile* getFile() {return theFile_;}
00039
00040
00041
00042
00043
00044
00045
00046
00047 protected:
00048 void openFile (std::string fileName);
00049 void closeFile(void);
00050 TFile* theFile_;
00051
00052 DataDecoder theDataDecoder_;
00053 std::queue<uint32_t> convertedBuffer_;
00054
00055
00056
00057
00058
00059
00060 std::map<std::string, std::map<std::string, std::map<unsigned int, TH1*>>> planeOccupancies_;
00061
00062 TH1I* numberOfTriggers_;
00063 const std::string supervisorContextUID_;
00064 const std::string supervisorApplicationUID_;
00065 const std::string bufferUID_;
00066 const std::string processorUID_;
00067 TDirectory* currentDirectory_;
00068 ConfigurationManager* theConfigurationManager_;
00069 };
00070 }
00071
00072 #endif