CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/DQM/SiStripMonitorClient/interface/SiStripWebInterface.h

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   //  void setCabling(const edm::ESHandle<SiStripDetCabling>& detcabling) { detCabling_ = detcabling;}
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