CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/RecoCaloTools/MetaCollections/src/CaloRecHitMetaCollectionV.cc

Go to the documentation of this file.
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 }