00001 #ifndef SiStripApvGain_h 00002 #define SiStripApvGain_h 00003 00004 #include<vector> 00005 #include<map> 00006 #include<iostream> 00007 #include<boost/cstdint.hpp> 00008 00009 00010 class SiStripApvGain { 00011 00012 public: 00013 00014 typedef std::vector<float>::const_iterator ContainerIterator; 00015 typedef std::pair<ContainerIterator, ContainerIterator> Range; 00016 typedef std::vector<unsigned int> Registry; 00017 typedef Registry::iterator RegistryIterator; 00018 typedef Registry::const_iterator RegistryConstIterator; 00019 00020 SiStripApvGain(){}; 00021 ~SiStripApvGain(){}; 00022 00023 bool put(const uint32_t& detID, Range input); 00024 const Range getRange(const uint32_t& detID) const; 00025 void getDetIds(std::vector<uint32_t>& DetIds_) const; 00026 00027 float getStripGain (const uint16_t& strip, const Range& range) const; 00028 float getApvGain (const uint16_t& apv, const Range& range) const; 00029 00030 private: 00031 00032 std::vector<float> v_gains; 00033 std::vector<unsigned int> v_detids; 00034 std::vector<unsigned int> v_ibegin; 00035 std::vector<unsigned int> v_iend; 00036 }; 00037 00038 #endif