CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_8_patch3/src/DataFormats/RecoCandidate/interface/CaloRecHitCandidate.h

Go to the documentation of this file.
00001 #ifndef RecoCandidate_CaloRecHitCandidate_h
00002 #define RecoCandidate_CaloRecHitCandidate_h
00003 
00012 #include "DataFormats/RecoCandidate/interface/RecoCandidate.h"
00013 #include "DataFormats/CaloRecHit/interface/CaloRecHit.h"
00014 #include "DataFormats/Common/interface/RefToBase.h"
00015 
00016 namespace reco {
00017 
00018   class CaloRecHitCandidate : public LeafCandidate {
00019   public:
00020     typedef edm::RefToBase<CaloRecHit> CaloRecHitRef;
00022     CaloRecHitCandidate() : LeafCandidate() { }
00024     CaloRecHitCandidate( const LorentzVector & p4, Charge q = 0, const Point & vtx = Point( 0, 0, 0 ) ) :
00025       LeafCandidate( q, p4, vtx ) { }
00027     CaloRecHitCandidate( const PolarLorentzVector & p4, Charge q = 0, const Point & vtx = Point( 0, 0, 0 ) ) :
00028       LeafCandidate( q, p4, vtx ) { }
00030     virtual ~CaloRecHitCandidate();
00032     virtual CaloRecHitCandidate * clone() const;
00034     void setCaloRecHit( const CaloRecHitRef & r ) { caloRecHit_ = r; }
00036     CaloRecHitRef caloRecHit() const { return caloRecHit_; }
00037 
00038   private:
00040     virtual bool overlap( const Candidate & ) const;
00042     CaloRecHitRef caloRecHit_;
00043   };
00045   GET_DEFAULT_CANDIDATE_COMPONENT( CaloRecHitCandidate, edm::RefToBase<CaloRecHit>, caloRecHit );
00046 
00047 }
00048 
00049 #endif