00001 // -*- C++ -*- 00002 // 00003 // Package: EgammaCandidates 00004 // Class : SiStripElectron 00005 // 00006 // Implementation: 00007 // <Notes on implementation> 00008 // 00009 // Original Author: Jim Pivarski 00010 // Created: Fri May 26 15:48:28 EDT 2006 00011 // $Id: SiStripElectron.cc,v 1.3 2008/04/21 14:05:24 llista Exp $ 00012 // 00013 00014 // system include files 00015 00016 // user include files 00017 #include "DataFormats/EgammaCandidates/interface/SiStripElectron.h" 00018 #include "DataFormats/TrackReco/interface/TrackFwd.h" 00019 00020 using namespace reco; 00021 00022 // 00023 // constants, enums and typedefs 00024 // 00025 00026 // 00027 // static data member definitions 00028 // 00029 00030 // 00031 // constructors and destructor 00032 // 00033 00034 // SiStripElectron::SiStripElectron(const SiStripElectron& rhs) 00035 // { 00036 // // do actual copying here; 00037 // } 00038 00039 SiStripElectron::~SiStripElectron() { } 00040 00041 // 00042 // assignment operators 00043 // 00044 // const SiStripElectron& SiStripElectron::operator=(const SiStripElectron& rhs) 00045 // { 00046 // //An exception safe implementation is 00047 // SiStripElectron temp(rhs); 00048 // swap(rhs); 00049 // 00050 // return *this; 00051 // } 00052 00053 SiStripElectron * SiStripElectron::clone() const { 00054 return new SiStripElectron( * this ); 00055 } 00056 00057 // 00058 // member functions 00059 // 00060 00061 SuperClusterRef SiStripElectron::superCluster() const { 00062 return superCluster_; 00063 } 00064 00065 bool SiStripElectron::overlap( const Candidate & c ) const { 00066 const RecoCandidate * o = dynamic_cast<const RecoCandidate *>( & c ); 00067 return ( o != 0 && ! 00068 ( checkOverlap( track(), o->track() ) || 00069 checkOverlap( superCluster(), o->superCluster() ) ) 00070 ); 00071 return false; 00072 } 00073 00074 bool SiStripElectron::isElectron() const { 00075 return true; 00076 } 00077 00078 00079 // 00080 // const member functions 00081 // 00082 00083 // 00084 // static member functions 00085 //