00001 #ifndef BLOBNOISES_H 00002 #define BLOBNOISES_H 00003 #include<vector> 00004 //#include<boost/cstdint.hpp> 00005 #include <stdint.h> 00006 00007 class BlobNoises { 00008 public: 00009 BlobNoises(); 00010 void fill(unsigned int id,short bsize); 00011 virtual ~BlobNoises(); 00012 struct DetRegistry{ 00013 uint32_t detid; 00014 uint32_t ibegin; 00015 uint32_t iend; 00016 bool operator==(const DetRegistry& rhs) const { 00017 if(detid!=rhs.detid)return false; 00018 if(ibegin!=rhs.ibegin)return false; 00019 if(iend!=rhs.iend)return false; 00020 return true; 00021 } 00022 bool operator!=(const DetRegistry& rhs) const { 00023 return !operator==(rhs); 00024 } 00025 }; 00026 bool operator==(const BlobNoises& rhs) const { 00027 if(v_noises!=rhs.v_noises){ 00028 return false; 00029 } 00030 if(indexes!=rhs.indexes){ 00031 return false; 00032 } 00033 return true; 00034 } 00035 bool operator!=(const BlobNoises& rhs) const { 00036 return !operator==(rhs); 00037 } 00038 00039 //std::vector<int16_t> v_noises; //dictionary problem with this 00040 std::vector<short> v_noises; 00041 std::vector<DetRegistry> indexes; 00042 }; 00043 #endif