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