00001 // -*- C++ -*- 00002 #ifndef HcalDcsValue_h 00003 #define HcalDcsValue_h 00004 00005 #include <stdint.h> 00006 #include "DataFormats/HcalDetId/interface/HcalSubdetector.h" 00007 00008 class HcalDcsValue { 00009 public: 00010 00011 HcalDcsValue (); 00012 HcalDcsValue (uint32_t fid, int ls, float val, float upper, 00013 float lower); 00014 HcalDcsValue (HcalDcsValue const& other); 00015 00016 virtual ~HcalDcsValue (); 00017 00018 uint32_t DcsId () const { return mId; } 00019 int LS () const { return mLS; } 00020 float getValue () const { return mValue;} 00021 float getUpperLimit () const { return mUpperLimit; } 00022 float getLowerLimit () const { return mLowerLimit; } 00023 bool isValueGood () const { 00024 return ((mValue <= mUpperLimit) && (mValue >= mLowerLimit)); 00025 } 00026 00027 HcalOtherSubdetector getSubdetector() const; 00028 00029 bool operator < (HcalDcsValue const& rhs) const { 00030 if (mId == rhs.mId) return (mLS < rhs.mLS); 00031 return (mId < rhs.mId); 00032 } 00033 00034 private: 00035 uint32_t mId; 00036 int mLS; 00037 float mValue; 00038 float mUpperLimit; 00039 float mLowerLimit; 00040 }; 00041 00042 #endif