CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/OnlineDB/EcalCondDB/interface/MonRunDat.h

Go to the documentation of this file.
00001 #ifndef MONRUNDAT_H
00002 #define MONRUNDAT_H
00003 
00004 #include <vector>
00005 #include <stdexcept>
00006 
00007 #include "OnlineDB/EcalCondDB/interface/IDataItem.h"
00008 #include "OnlineDB/EcalCondDB/interface/MonRunIOV.h"
00009 #include "OnlineDB/EcalCondDB/interface/MonRunOutcomeDef.h"
00010 #include "OnlineDB/EcalCondDB/interface/EcalLogicID.h"
00011 
00012 class MonRunDat : public IDataItem {
00013  public:
00014   friend class EcalCondDBInterface;
00015   MonRunDat();
00016   ~MonRunDat();
00017 
00018   // User data methods
00019   inline std::string getTable() { return "MON_RUN_DAT"; }
00020 
00021   inline void setNumEvents(int num) { m_numEvents = num; }
00022   inline int getNumEvents() const { return m_numEvents; }
00023 
00024   inline void setMonRunOutcomeDef(MonRunOutcomeDef outcomeDef) { m_outcomeDef = outcomeDef; }
00025   inline MonRunOutcomeDef getMonRunOutcomeDef() const { return m_outcomeDef; }
00026 
00027   inline void setRootfileName(std::string name) { m_rootfileName = name; }
00028   inline std::string getRootfileName() const { return m_rootfileName; }
00029 
00030   inline void setTaskList(int list) { m_taskList = list; }
00031   inline int getTaskList() const { return m_taskList; }
00032 
00033   inline void setTaskOutcome(int outcome) { m_taskOutcome = outcome; }
00034   inline int getTaskOutcome() const { return m_taskOutcome; }
00035 
00036  private:
00037   void prepareWrite() 
00038     throw(std::runtime_error);
00039 
00040   void writeDB(const EcalLogicID* ecid, const MonRunDat* item, MonRunIOV* iov )
00041     throw(std::runtime_error);
00042 
00043   void fetchData(std::map< EcalLogicID, MonRunDat >* fillMap, MonRunIOV* iov)
00044      throw(std::runtime_error);
00045 
00046   // User data
00047   int m_numEvents;
00048   MonRunOutcomeDef m_outcomeDef;
00049   std::string m_rootfileName;
00050   int m_taskList;
00051   int m_taskOutcome;
00052 };
00053 
00054 #endif