CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_13_patch3/src/OnlineDB/EcalCondDB/interface/RunCrystalErrorsDat.h

Go to the documentation of this file.
00001 #ifndef RUNCRYSTALERRORSDAT_H
00002 #define RUNCRYSTALERRORSDAT_H
00003 
00004 #include <vector>
00005 #include <stdexcept>
00006 #include <boost/cstdint.hpp>
00007 
00008 #include "OnlineDB/EcalCondDB/interface/IDataItem.h"
00009 #include "OnlineDB/EcalCondDB/interface/RunIOV.h"
00010 #include "OnlineDB/EcalCondDB/interface/EcalLogicID.h"
00011 
00012 class RunCrystalErrorsDat : public IDataItem {
00013  public:
00014   friend class EcalCondDBInterface;
00015   RunCrystalErrorsDat();
00016   ~RunCrystalErrorsDat();
00017 
00018   // User data methods
00019   inline std::string getTable() { return "RUN_CRYSTAL_ERRORS_DAT"; }
00020 
00021   inline void setErrorBits(uint64_t bits) { m_errorBits = bits; }
00022   inline uint64_t getErrorBits() const { return m_errorBits; }
00023 
00024  private:
00025   void prepareWrite() 
00026     throw(std::runtime_error);
00027 
00028   void writeDB(const EcalLogicID* ecid, const RunCrystalErrorsDat* item, RunIOV* iov )
00029     throw(std::runtime_error);
00030 
00031   void fetchData(std::map< EcalLogicID, RunCrystalErrorsDat >* fillMap, RunIOV* iov)
00032      throw(std::runtime_error);
00033 
00034   // User data
00035   uint64_t m_errorBits;
00036 };
00037 
00038 #endif