00001 #ifndef DQM_SiStripCommissioningClients_SummaryPlotXmlParser_H 00002 #define DQM_SiStripCommissioningClients_SummaryPlotXmlParser_H 00003 00004 #include "DataFormats/SiStripCommon/interface/SiStripConstants.h" 00005 #include "DQM/SiStripCommissioningSummary/interface/SummaryPlot.h" 00006 #include "DQMServices/ClientConfig/interface/DQMParserBase.h" 00007 #include "DQMServices/ClientConfig/interface/ParserFunctions.h" 00008 #include <iostream> 00009 #include <sstream> 00010 #include <string> 00011 #include <vector> 00012 #include <map> 00013 00014 class SummaryPlotXmlParser; 00015 00017 std::ostream& operator<< ( std::ostream&, const SummaryPlotXmlParser& ); 00018 00025 class SummaryPlotXmlParser : public DQMParserBase { 00026 00027 public: 00028 00029 // ---------- Co(de)nstructors and consts ---------- 00030 00032 SummaryPlotXmlParser(); 00033 00035 virtual ~SummaryPlotXmlParser() {;} 00036 00037 // ---------- Public interface ---------- 00038 00040 void parseXML( const std::string& xml_file ); 00041 00043 std::vector<SummaryPlot> summaryPlots( const sistrip::RunType& ); 00044 00046 void print( std::stringstream& ) const; 00047 00048 private: 00049 00050 // ---------- Private member data ---------- 00051 00053 std::map< sistrip::RunType, std::vector<SummaryPlot> > plots_; 00054 00055 // RunType tags and attributes 00056 static const std::string rootTag_; 00057 static const std::string runTypeTag_; 00058 static const std::string runTypeAttr_; 00059 00060 // SummaryPlot tags and attributes 00061 static const std::string summaryPlotTag_; 00062 static const std::string monitorableAttr_; 00063 static const std::string presentationAttr_; 00064 static const std::string viewAttr_; 00065 static const std::string levelAttr_; 00066 static const std::string granularityAttr_; 00067 00068 }; 00069 00070 #endif // DQM_SiStripCommissioningClients_SummaryPlotXmlParser_H 00071 00072 00073