00001 #include "DataFormats/Candidate/interface/ShallowClonePtrCandidate.h" 00002 using namespace reco; 00003 00004 ShallowClonePtrCandidate::~ShallowClonePtrCandidate() { 00005 } 00006 00007 ShallowClonePtrCandidate * ShallowClonePtrCandidate::clone() const { 00008 return new ShallowClonePtrCandidate( *this ); 00009 } 00010 00011 ShallowClonePtrCandidate::const_iterator ShallowClonePtrCandidate::begin() const { 00012 return masterClone_->begin(); 00013 } 00014 00015 ShallowClonePtrCandidate::const_iterator ShallowClonePtrCandidate::end() const { 00016 return masterClone_->end(); 00017 } 00018 00019 Candidate::iterator ShallowClonePtrCandidate::begin() { 00020 return iterator( new iterator_imp_specific ); 00021 } 00022 00023 Candidate::iterator ShallowClonePtrCandidate::end() { 00024 return iterator( new iterator_imp_specific ); 00025 } 00026 00027 size_t ShallowClonePtrCandidate::numberOfDaughters() const { 00028 return masterClone_->numberOfDaughters(); 00029 } 00030 00031 size_t ShallowClonePtrCandidate::numberOfMothers() const { 00032 return masterClone_->numberOfMothers(); 00033 } 00034 00035 const Candidate * ShallowClonePtrCandidate::daughter( size_type i ) const { 00036 return masterClone_->daughter( i ); 00037 } 00038 00039 const Candidate * ShallowClonePtrCandidate::mother( size_type i ) const { 00040 return masterClone_->mother( i ); 00041 } 00042 00043 Candidate * ShallowClonePtrCandidate::daughter( size_type i ) { 00044 return 0; 00045 } 00046 00047 bool ShallowClonePtrCandidate::hasMasterClonePtr() const { 00048 return true; 00049 } 00050 00051 const CandidatePtr & ShallowClonePtrCandidate::masterClonePtr() const { 00052 return masterClone_; 00053 } 00054 00055 bool ShallowClonePtrCandidate::isElectron() const { 00056 return masterClone_->isElectron(); 00057 } 00058 00059 bool ShallowClonePtrCandidate::isMuon() const { 00060 return masterClone_->isMuon(); 00061 } 00062 00063 bool ShallowClonePtrCandidate::isGlobalMuon() const { 00064 return masterClone_->isGlobalMuon(); 00065 } 00066 00067 bool ShallowClonePtrCandidate::isStandAloneMuon() const { 00068 return masterClone_->isStandAloneMuon(); 00069 } 00070 00071 bool ShallowClonePtrCandidate::isTrackerMuon() const { 00072 return masterClone_->isTrackerMuon(); 00073 } 00074 00075 bool ShallowClonePtrCandidate::isCaloMuon() const { 00076 return masterClone_->isCaloMuon(); 00077 } 00078 00079 bool ShallowClonePtrCandidate::isPhoton() const { 00080 return masterClone_->isPhoton(); 00081 } 00082 00083 bool ShallowClonePtrCandidate::isConvertedPhoton() const { 00084 return masterClone_->isConvertedPhoton(); 00085 } 00086 00087 bool ShallowClonePtrCandidate::isJet() const { 00088 return masterClone_->isJet(); 00089 }