00001 #ifndef HcalQIEData_h 00002 #define HcalQIEData_h 00003 00014 #include <vector> 00015 #include <algorithm> 00016 00017 #include "CondFormats/HcalObjects/interface/HcalCondObjectContainer.h" 00018 #include "CondFormats/HcalObjects/interface/HcalQIEShape.h" 00019 #include "CondFormats/HcalObjects/interface/HcalQIECoder.h" 00020 #include "DataFormats/DetId/interface/DetId.h" 00021 00022 namespace 00023 { 00024 HcalQIEShape shape_; 00025 } 00026 00027 class HcalQIEData: public HcalCondObjectContainer<HcalQIECoder> 00028 { 00029 public: 00030 00031 // constructor, destructor, and all methods stay the same 00032 HcalQIEData():HcalCondObjectContainer<HcalQIECoder>() {} 00033 00035 // const HcalQIEShape& getShape () const {return mShape;} 00036 const HcalQIEShape& getShape () const { return shape_;} 00038 const HcalQIECoder* getCoder (DetId fId) const { return getValues(fId); } 00039 // check if data are sorted - remove in the next version 00040 bool sorted () const { return true; } 00041 // fill values [capid][range] 00042 bool addCoder (const HcalQIECoder& fCoder, bool h2mode_ = false) { return addValues(fCoder, h2mode_); } 00043 // sort values by channelId - remove in the next version 00044 void sort () {} 00045 00046 std::string myname() const {return (std::string)"HcalQIEData";} 00047 00048 //not needed/not used HcalQIEData(const HcalQIEData&); 00049 00050 }; 00051 00052 #endif