CMS 3D CMS Logo

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

Go to the documentation of this file.
00001 #ifndef MONLASERBLUEDAT_H
00002 #define MONLASERBLUEDAT_H
00003 
00004 #include <vector>
00005 #include <stdexcept>
00006 
00007 #include "OnlineDB/EcalCondDB/interface/IDataItem.h"
00008 #include "OnlineDB/EcalCondDB/interface/MonRunTag.h"
00009 #include "OnlineDB/EcalCondDB/interface/MonRunIOV.h"
00010 #include "OnlineDB/EcalCondDB/interface/EcalLogicID.h"
00011 
00012 class MonLaserBlueDat : public IDataItem {
00013  public:
00014   friend class EcalCondDBInterface;
00015   MonLaserBlueDat();
00016   ~MonLaserBlueDat();
00017 
00018   // User data methods
00019   inline std::string getTable() { return "MON_LASER_BLUE_DAT"; }
00020 
00021   inline void setAPDMean(float mean) { m_apdMean = mean; }
00022   inline float getAPDMean() const { return m_apdMean; }
00023   
00024   inline void setAPDRMS(float rms) { m_apdRMS = rms; }
00025   inline float getAPDRMS() const { return m_apdRMS; }
00026 
00027   inline void setAPDOverPNMean(float mean) { m_apdOverPNMean = mean; }
00028   inline float getAPDOverPNMean() const { return m_apdOverPNMean; }
00029   
00030   inline void setAPDOverPNRMS(float rms) { m_apdOverPNRMS = rms; }
00031   inline float getAPDOverPNRMS() const { return m_apdOverPNRMS; }
00032   
00033   inline void setTaskStatus(bool status) { m_taskStatus = status; }
00034   inline bool getTaskStatus() const { return m_taskStatus; }
00035 
00036 
00037  private:
00038   void prepareWrite() 
00039     throw(std::runtime_error);
00040 
00041   void writeDB(const EcalLogicID* ecid, const MonLaserBlueDat* item, MonRunIOV* iov)
00042     throw(std::runtime_error);
00043 
00044 void writeArrayDB(const std::map< EcalLogicID,  MonLaserBlueDat>* data, MonRunIOV* iov)
00045   throw(std::runtime_error);
00046 
00047   void fetchData(std::map< EcalLogicID, MonLaserBlueDat >* fillMap, MonRunIOV* iov)
00048      throw(std::runtime_error);
00049 
00050   // User data
00051   float m_apdMean;
00052   float m_apdRMS;
00053   float m_apdOverPNMean;
00054   float m_apdOverPNRMS;
00055   bool m_taskStatus;
00056   
00057 };
00058 
00059 #endif