00001 #ifndef CastorGainWidths_h 00002 #define CastorGainWidths_h 00003 00010 #include <vector> 00011 #include <algorithm> 00012 00013 #include "CondFormats/CastorObjects/interface/CastorGainWidth.h" 00014 #include "DataFormats/DetId/interface/DetId.h" 00015 00016 // 00017 class CastorGainWidths { 00018 public: 00019 CastorGainWidths(); 00020 ~CastorGainWidths(); 00022 const CastorGainWidth* getValues (DetId fId) const; 00024 float getValue (DetId fId, int fCapId) const; 00026 std::vector<DetId> getAllChannels () const; 00028 bool sorted () const {return mSorted;} 00030 bool addValue (DetId fId, const float fValues [4]); 00032 bool addValue (DetId fId, float fValue0, float fValue1, float fValue2, float fValue3); 00034 void sort (); 00035 // helper typedefs 00036 typedef CastorGainWidth Item; 00037 typedef std::vector <Item> Container; 00038 private: 00039 Container mItems; 00040 bool mSorted; 00041 }; 00042 00043 #endif