CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/DataFormats/EgammaCandidates/interface/Electron.h

Go to the documentation of this file.
00001 #ifndef EgammaCandidates_Electron_h
00002 #define EgammaCandidates_Electron_h
00003 
00012 #include "DataFormats/RecoCandidate/interface/RecoCandidate.h"
00013 
00014 namespace reco {
00015 
00016   class Electron : public RecoCandidate {
00017   public:
00019     Electron() : RecoCandidate() { }
00021     Electron( Charge q, const LorentzVector & p4, const Point & vtx = Point( 0, 0, 0 ) ) :
00022       RecoCandidate( q, p4, vtx, -11 * q ) { }
00024     virtual ~Electron();
00026     virtual Electron * clone() const;
00028     using reco::RecoCandidate::track ; // avoid hiding the base
00029     virtual reco::TrackRef track() const;
00031     virtual reco::SuperClusterRef superCluster() const;
00033     void setSuperCluster( const reco::SuperClusterRef & r ) { superCluster_ = r; }
00035     void setTrack( const reco::TrackRef & r ) { track_ = r; }
00036 
00037     bool isElectron() const;
00038   private:
00040     virtual bool overlap( const Candidate & ) const;
00042     reco::SuperClusterRef superCluster_;
00044     reco::TrackRef track_;
00045   };
00046 
00047 }
00048 
00049 #endif