00001 #ifndef CastorCalibrationQIEData_h 00002 #define CastorCalibrationQIEData_h 00003 00011 #include <vector> 00012 #include <algorithm> 00013 00014 #include "CondFormats/CastorObjects/interface/CastorCalibrationQIECoder.h" 00015 #include "DataFormats/DetId/interface/DetId.h" 00016 00017 00018 // 00019 class CastorCalibrationQIEData { 00020 public: 00021 00022 CastorCalibrationQIEData(); 00023 ~CastorCalibrationQIEData(); 00024 00026 const CastorCalibrationQIECoder* getCoder (DetId fId) const; 00027 // get list of all available channels 00028 std::vector<DetId> getAllChannels () const; 00029 // check if data are sorted 00030 bool sorted () const {return mSorted;} 00031 // fill values [capid][range] 00032 bool addCoder (DetId fId, const CastorCalibrationQIECoder& fCoder); 00033 // sort values by channelId 00034 void sort (); 00035 typedef CastorCalibrationQIECoder Item; 00036 typedef std::vector <Item> Container; 00037 private: 00038 Container mItems; 00039 bool mSorted; 00040 }; 00041 00042 #endif