/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Generator/McEventSelector/McEventSelector-01-00-13/src/McIterator.cxx

Go to the documentation of this file.
00001 #include "McEventSelector/McIterator.h"
00002 
00003 #include <iostream>
00004 #include "McEventSelector/McAddress.h"
00005 
00006 IOpaqueAddress* McIterator::operator*() const {
00007   return dereference();
00008 }
00009 IOpaqueAddress* McIterator::operator->() const {
00010   return dereference();
00011 }
00012 IEvtSelector::Iterator& McIterator::operator++() {
00013   if(m_eventNo>=m_eventsP){
00014     m_runNo++;
00015     m_eventNo=1;
00016   }
00017   m_eventNo++;
00018   return *this;
00019 }
00020 IEvtSelector::Iterator& McIterator::operator--() {
00021   m_eventNo--;
00022   return *this;
00023 }
00024 IEvtSelector::Iterator& McIterator::operator++(int){
00025 
00026   if(m_eventNo>=m_eventsP){
00027     m_runNo++;
00028     m_eventNo=1;
00029   }
00030   m_eventNo++;
00031   return *this;
00032 }
00033 
00034 IEvtSelector::Iterator& McIterator::operator--(int){ 
00035   m_eventNo--;
00036   return *this;
00037 }
00038 
00039 bool McIterator::operator==(const IEvtSelector::Iterator& it) const {
00040   const McIterator* zIt = dynamic_cast<const McIterator*>(&it);
00041   return (NULL != zIt) &&
00042          (m_runNo   == zIt->runNumber()) &&
00043          (m_eventNo == zIt->eventNumber()) ;
00044 }  
00045 
00046 
00047 bool McIterator::operator!=(const IEvtSelector::Iterator& it) const {
00048   return !operator==(it);
00049 }
00050 
00051 McAddress* McIterator::dereference() const {
00052   McAddress* zAddress(dynamic_cast<McAddress*>(m_evtSelector->reference(*this)));
00053   if (NULL != zAddress) {
00054     zAddress->setRunEvt(m_runNo, m_eventNo);
00055 //    cerr << "McIterator::dereference: to object " 
00056 //       << zAddress->objectName() << " : " << zAddress->clID()<< " : " 
00057 //       << zAddress->svcType()<<endl;
00058   } else
00059     std::cerr << "McIterator::dereference() ERROR invalid opaque address type!! " << std::endl;
00060   return zAddress;
00061 }

Generated on Tue Nov 29 23:12:41 2016 for BOSS_7.0.2 by  doxygen 1.4.7