CMS 3D CMS Logo

/data/git/CMSSW_5_3_11_patch5/src/DQM/EcalBarrelMonitorDbModule/interface/MonitorElementsDb.h

Go to the documentation of this file.
00001 // $Id: MonitorElementsDb.h,v 1.10 2010/08/08 08:46:03 dellaric Exp $
00002 
00003 #ifndef MonitorElementsDb_H
00004 #define MonitorElementsDb_H
00005 
00015 #include <string>
00016 #include <vector>
00017 
00018 #include "FWCore/Framework/interface/EDAnalyzer.h"
00019 #include "FWCore/Framework/interface/Event.h"
00020 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00021 
00022 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00023 
00024 #include "DQM/EcalBarrelMonitorDbModule/interface/MonitorXMLParser.h"
00025 
00026 #include "RelationalAccess/ISessionProxy.h"
00027 
00028 class MonitorElement;
00029 class DQMStore;
00030 
00031 class MonitorElementsDb{
00032 
00033   friend class EcalBarrelMonitorDbModule;
00034   friend class EcalEndcapMonitorDbModule;
00035 
00036  public:
00037 
00039   MonitorElementsDb(const edm::ParameterSet& ps, std::string& xmlFile );
00040 
00042   virtual ~MonitorElementsDb();
00043 
00044  protected:
00045 
00047   void analyze( const edm::Event& e, const edm::EventSetup& c, coral::ISessionProxy* s );
00048 
00049   // BeginJob
00050   void beginJob( void );
00051 
00052   // EndJob
00053   void endJob( void ); 
00054  
00055   // HtmlOutput
00056   void htmlOutput( std::string& htmlDir );
00057 
00058   void startSession( void );
00059 
00060  private:
00061 
00062   std::string                   prefixME_;
00063   std::string                   xmlFile_;
00064   MonitorXMLParser*             parser_;
00065   std::vector<DB_ME>            MEinfo_;
00066   std::vector<MonitorElement*>  MEs_;
00067   int                           ievt_;
00068   DQMStore*        dqmStore_;
00069   
00070 };
00071 
00072 #endif  // MonitorElementsDb_H