CMS 3D CMS Logo

LMFLaserPrimDat.h

Go to the documentation of this file.
00001 #ifndef LMFLASERPRIMDAT_H
00002 #define LMFLASERPRIMDAT_H
00003 
00004 #include <map>
00005 #include <stdexcept>
00006 
00007 #include "OnlineDB/EcalCondDB/interface/IDataItem.h"
00008 #include "OnlineDB/EcalCondDB/interface/LMFRunTag.h"
00009 #include "OnlineDB/EcalCondDB/interface/LMFRunIOV.h"
00010 #include "OnlineDB/EcalCondDB/interface/EcalLogicID.h"
00011 
00012 class LMFLaserPrimDat : public IDataItem {
00013 
00014  public:
00015 
00016 // GHM
00017   enum laserColorNum { iBlue=0, iGreen, iRed, iIRed };
00018 
00019   friend class EcalCondDBInterface;
00020   LMFLaserPrimDat();
00021   LMFLaserPrimDat( const LMFLaserPrimDat& );  // GHM
00022   ~LMFLaserPrimDat();
00023 
00024   // User data methods
00025   inline std::string getTable()  // GHM
00026   {
00027     switch( _color )
00028       {
00029       case iBlue:  return "LMF_LASER_BLUE_PRIM_DAT"; 
00030       case iGreen: return "LMF_LASER_GREEN_PRIM_DAT"; 
00031       case iRed:   return "LMF_LASER_RED_PRIM_DAT"; 
00032       case iIRed:  return "LMF_LASER_IRED_PRIM_DAT"; 
00033       }
00034   // default
00035     return "LMF_LASER_BLUE_PRIM_DAT"; 
00036   }
00037 
00038   inline void setMean(float mean) { m_Mean = mean; }
00039   inline float getMean() const { return m_Mean; }
00040 
00041   inline void setRMS(float RMS) { m_RMS = RMS; }
00042   inline float getRMS() const { return m_RMS; }
00043 
00044   inline void setPeak(float x) { m_Peak = x; }
00045   inline float getPeak() const { return m_Peak; }
00046 
00047   inline void setFlag(int x) { m_Flag = x; }
00048   inline int getFlag() const { return m_Flag; }
00049   //
00050   inline void setAPDOverPNAMean(float mean) { m_apdOverPNAMean = mean; }
00051   inline float getAPDOverPNAMean() const { return m_apdOverPNAMean; }
00052 
00053   inline void setAPDOverPNARMS(float RMS) { m_apdOverPNARMS = RMS; }
00054   inline float getAPDOverPNARMS() const { return m_apdOverPNARMS; }
00055 
00056   inline void setAPDOverPNAPeak(float x) { m_apdOverPNAPeak = x; }
00057   inline float getAPDOverPNAPeak() const { return m_apdOverPNAPeak; }
00058 
00059   inline void setAPDOverPNBMean(float mean) { m_apdOverPNBMean = mean; }
00060   inline float getAPDOverPNBMean() const { return m_apdOverPNBMean; }
00061 
00062   inline void setAPDOverPNBRMS(float RMS) { m_apdOverPNBRMS = RMS; }
00063   inline float getAPDOverPNBRMS() const { return m_apdOverPNBRMS; }
00064 
00065   inline void setAPDOverPNBPeak(float x) { m_apdOverPNBPeak = x; }
00066   inline float getAPDOverPNBPeak() const { return m_apdOverPNBPeak; }
00067 
00068   inline void setAPDOverPNMean(float mean) { m_apdOverPNMean = mean; }
00069   inline float getAPDOverPNMean() const { return m_apdOverPNMean; }
00070 
00071   inline void setAPDOverPNRMS(float RMS) { m_apdOverPNRMS = RMS; }
00072   inline float getAPDOverPNRMS() const { return m_apdOverPNRMS; }
00073 
00074   inline void setAPDOverPNPeak(float x) { m_apdOverPNPeak = x; }
00075   inline float getAPDOverPNPeak() const { return m_apdOverPNPeak; }
00076   
00077   inline void setAlpha(float mean) { m_Alpha = mean; }
00078   inline float getAlpha() const { return m_Alpha; }
00079 
00080   inline void setBeta(float x) { m_Beta = x; }
00081   inline float getBeta() const { return m_Beta; }
00082 
00083   inline void setShapeCor(float x) { m_ShapeCor = x; }
00084   inline float getShapeCor() const { return m_ShapeCor; }
00085 
00086   static void setColor( int color );  // GHM
00087 
00088  private:
00089  
00090   void prepareWrite() 
00091     throw(std::runtime_error);
00092 
00093   void writeDB(const EcalLogicID* ecid, const LMFLaserPrimDat* item, LMFRunIOV* iov)
00094     throw(std::runtime_error);
00095 
00096   void writeArrayDB(const std::map< EcalLogicID, LMFLaserPrimDat >* data, LMFRunIOV* iov)
00097   throw(std::runtime_error);
00098 
00099   void fetchData(std::map< EcalLogicID, LMFLaserPrimDat >* fillVec, LMFRunIOV* iov)
00100      throw(std::runtime_error);
00101 
00102   static int _color;  // GHM
00103 
00104   // User data
00105   float m_Mean;
00106   float m_RMS;
00107   float m_Peak;
00108   int   m_Flag;
00109   float m_apdOverPNAMean;
00110   float m_apdOverPNARMS;
00111   float m_apdOverPNAPeak;
00112   float m_apdOverPNBMean;
00113   float m_apdOverPNBRMS;
00114   float m_apdOverPNBPeak;
00115   float m_apdOverPNMean;
00116   float m_apdOverPNRMS;
00117   float m_apdOverPNPeak;
00118   float m_Alpha;
00119   float m_Beta;
00120   float m_ShapeCor;
00121   
00122 };
00123 
00124 #endif

Generated on Tue Jun 9 17:40:45 2009 for CMSSW by  doxygen 1.5.4