00001 #ifndef RecoCandidate_RecoCaloTowerCandidate_h 00002 #define RecoCandidate_RecoCaloTowerCandidate_h 00003 00012 #include "DataFormats/RecoCandidate/interface/RecoCandidate.h" 00013 00014 namespace reco { 00015 00016 class RecoCaloTowerCandidate : public RecoCandidate { 00017 public: 00019 RecoCaloTowerCandidate() : RecoCandidate() { } 00021 RecoCaloTowerCandidate( Charge q , const LorentzVector & p4, const Point & vtx = Point( 0, 0, 0 ) ) : 00022 RecoCandidate( q, p4, vtx ) { } 00024 RecoCaloTowerCandidate( Charge q , const PolarLorentzVector & p4, const Point & vtx = Point( 0, 0, 0 ) ) : 00025 RecoCandidate( q, p4, vtx ) { } 00027 virtual ~RecoCaloTowerCandidate(); 00029 virtual RecoCaloTowerCandidate * clone() const; 00031 void setCaloTower( const CaloTowerRef & r ) { caloTower_ = r; } 00033 virtual CaloTowerRef caloTower() const; 00034 00035 private: 00037 virtual bool overlap( const Candidate & ) const; 00039 CaloTowerRef caloTower_; 00040 }; 00041 00042 } 00043 00044 #endif