00001 #include "RecoCaloTools/MetaCollections/interface/CaloRecHitMetaCollectionV.h" 00002 00003 CaloRecHitMetaCollectionV::CaloRecHitMetaCollectionV() : size_(0) { 00004 } 00005 00006 CaloRecHitMetaCollectionV::const_iterator CaloRecHitMetaCollectionV::find(const DetId& id) const { 00007 const_iterator i=begin(); 00008 const_iterator e=end(); 00009 for (; i!=e && i->detid()!=id; i++); 00010 return i; 00011 } 00012 00013 const CaloRecHit& CaloRecHitMetaCollectionV::const_iterator::operator*() const { 00014 return (*collection_->at(offset_)); 00015 } 00016 00017 const CaloRecHit* CaloRecHitMetaCollectionV::const_iterator::operator->() const { 00018 return (collection_==0)?(0):(collection_->at(offset_)); 00019 } 00020 00021 00022 bool CaloRecHitMetaCollectionV::Iterator::operator==(const CaloRecHitMetaCollectionV::Iterator& it) const { 00023 return collection_==it.collection_ && offset_==it.offset_; 00024 } 00025 00026 bool CaloRecHitMetaCollectionV::Iterator::operator!=(const CaloRecHitMetaCollectionV::Iterator& it) const { 00027 return collection_!=it.collection_ || offset_!=it.offset_; 00028 } 00029 00030 CaloRecHitMetaCollectionV::Iterator& CaloRecHitMetaCollectionV::Iterator::operator++() { 00031 offset_++; 00032 return (*this); 00033 } 00034 00035 CaloRecHitMetaCollectionV::Iterator CaloRecHitMetaCollectionV::Iterator::operator++(int) { 00036 Iterator tmp(*this); 00037 offset_++; 00038 return tmp; 00039 } 00040 00041 CaloRecHitMetaCollectionV::Iterator& CaloRecHitMetaCollectionV::Iterator::operator--() { 00042 offset_--; 00043 return (*this); 00044 } 00045 00046 00047 CaloRecHitMetaCollectionV::Iterator CaloRecHitMetaCollectionV::Iterator::operator--(int) { 00048 Iterator tmp(*this); 00049 offset_--; 00050 return tmp; 00051 } 00052 00053 CaloRecHitMetaCollectionV::Iterator::reference CaloRecHitMetaCollectionV::Iterator::operator[](const difference_type n) const { 00054 return *(collection_->at(offset_+n)); 00055 } 00056 00057 CaloRecHitMetaCollectionV::Iterator& CaloRecHitMetaCollectionV::Iterator::operator+=(const CaloRecHitMetaCollectionV::Iterator::difference_type n) { 00058 offset_+=n; 00059 return (*this); 00060 } 00061 00062 CaloRecHitMetaCollectionV::Iterator CaloRecHitMetaCollectionV::Iterator::operator+(const CaloRecHitMetaCollectionV::Iterator::difference_type n) const { 00063 return Iterator(collection_,offset_+n); 00064 } 00065 00066 CaloRecHitMetaCollectionV::Iterator& CaloRecHitMetaCollectionV::Iterator::operator-=(const CaloRecHitMetaCollectionV::Iterator::difference_type n) { 00067 offset_-=n; 00068 return (*this); 00069 } 00070 00071 CaloRecHitMetaCollectionV::Iterator CaloRecHitMetaCollectionV::Iterator::operator-(const CaloRecHitMetaCollectionV::Iterator::difference_type n) const { 00072 return Iterator(collection_,offset_-n); 00073 } 00074 00075 bool CaloRecHitMetaCollectionV::Iterator::operator<(const CaloRecHitMetaCollectionV::Iterator& i) const { 00076 return offset_<i.offset_; 00077 }