Go to the documentation of this file.00001 #ifndef _SiStripWebInterface_h_
00002 #define _SiStripWebInterface_h_
00003
00004 #include "DQMServices/Core/interface/MonitorElement.h"
00005 #include "FWCore/Framework/interface/ESHandle.h"
00006
00007 #include "xgi/Method.h"
00008 #include "xdata/UnsignedLong.h"
00009 #include "cgicc/HTMLClasses.h"
00010
00011 #include "xdaq/Application.h"
00012 #include "xgi/Utils.h"
00013 #include "xgi/Method.h"
00014
00015 class DQMStore;
00016 class SiStripActionExecutorQTest;
00017 class SiStripInformationExtractor;
00018 class SiStripDetCabling;
00019
00020 class SiStripWebInterface
00021 {
00022 public:
00023
00024
00025 enum SiStripActionType{NoAction=0, Summary=2,
00026 PlotSingleModuleHistos=5, PlotGlobalHistos=6,
00027 PlotHistogramFromPath=7, PlotTkMapHistogram=8,
00028 PlotHistogramFromLayout=9,
00029 CreatePlots=10};
00030
00031 SiStripWebInterface(DQMStore* dqm_store);
00032 ~SiStripWebInterface();
00033
00034
00035
00036
00037
00038 void handleAnalyserRequest(xgi::Input* in,xgi::Output* out, const edm::ESHandle<SiStripDetCabling>& detcabling, int niter);
00039
00040
00041 SiStripActionType getActionFlag() {return theActionFlag;}
00042 void setActionFlag(SiStripActionType flag) {theActionFlag = flag;}
00043 void performAction();
00044 unsigned int getNumberOfConDBPlotRequest(){ return condDBRequestList_.size();}
00045 void getConDBPlotParameters(unsigned int ival, uint32_t &det_id, std::string& subdet_type,
00046 uint32_t& subdet_side, uint32_t& layer_number);
00047 void clearConDBPlotRequests() { condDBRequestList_.clear(); }
00048
00049 std::string getTkMapType() { return TkMapType;}
00050
00051 private:
00052
00053 std::string get_from_multimap(std::multimap<std::string, std::string> &mymap, std::string key);
00054
00055 SiStripActionType theActionFlag;
00056 SiStripActionExecutorQTest* actionExecutor_;
00057 SiStripInformationExtractor* infoExtractor_;
00058
00059 void returnReplyXml(xgi::Output * out, const std::string& name, const std::string& comment);
00060
00061 std::multimap<std::string, std::string> requestMap_;
00062
00063 DQMStore* dqmStore_;
00064
00065 bool condDBFlag_;
00066
00067
00068 struct CondDBPlotParameter {
00069 uint32_t detId;
00070 std::string type;
00071 uint32_t side;
00072 uint32_t layer;
00073
00074 };
00075
00076 std::vector<CondDBPlotParameter> condDBRequestList_;
00077 std::string TkMapType;
00078
00079 protected:
00080
00081
00082 };
00083
00084 #endif