00001 #ifndef RecoCandidate_RecoEcalCandidate_h 00002 #define RecoCandidate_RecoEcalCandidate_h 00003 00012 #include "DataFormats/RecoCandidate/interface/RecoCandidate.h" 00013 00014 namespace reco { 00015 00016 class RecoEcalCandidate : public RecoCandidate { 00017 public: 00019 RecoEcalCandidate() : RecoCandidate() { } 00021 RecoEcalCandidate( Charge q , const LorentzVector & p4, const Point & vtx = Point( 0, 0, 0 ), 00022 int pdgId = 0, int status = 0 ) : 00023 RecoCandidate( q, p4, vtx, pdgId, status ) { } 00025 RecoEcalCandidate( Charge q , const PolarLorentzVector & p4, const Point & vtx = Point( 0, 0, 0 ), 00026 int pdgId = 0, int status = 0 ) : 00027 RecoCandidate( q, p4, vtx, pdgId, status ) { } 00029 virtual ~RecoEcalCandidate(); 00031 virtual RecoEcalCandidate * clone() const; 00033 void setSuperCluster( const reco::SuperClusterRef & r ) { superCluster_ = r; } 00035 virtual reco::SuperClusterRef superCluster() const; 00036 00037 private: 00039 virtual bool overlap( const Candidate & ) const; 00041 reco::SuperClusterRef superCluster_; 00042 }; 00043 00044 } 00045 00046 #endif