00001 #ifndef DataFormats_ParticleFlowReco_GsfPFRecTrack_h 00002 #define DataFormats_ParticleFlowReco_GsfPFRecTrack_h 00003 00004 #include "DataFormats/ParticleFlowReco/interface/PFRecTrack.h" 00005 #include "DataFormats/ParticleFlowReco/interface/PFRecTrackFwd.h" 00006 /* #include "DataFormats/Common/interface/RefToBase.h" */ 00007 #include "DataFormats/GsfTrackReco/interface/GsfTrackFwd.h" 00008 #include "DataFormats/ParticleFlowReco/interface/PFBrem.h" 00009 #include <iostream> 00010 00011 namespace reco { 00012 00023 class GsfPFRecTrack : public PFRecTrack 00024 { 00025 00026 public: 00027 GsfPFRecTrack(){}; 00028 GsfPFRecTrack(double charge, 00029 AlgoType_t algoType, 00030 int trackId, 00031 const reco::GsfTrackRef& gtrackref, 00032 const edm::Ref<std::vector<PFRecTrack> >& kfpfrectrackref); 00033 00034 00035 00037 const reco::GsfTrackRef& 00038 gsfTrackRef() const {return gsfTrackRef_;} 00039 00041 const edm::Ref<std::vector<PFRecTrack> >& 00042 kfPFRecTrackRef() const {return kfPFRecTrackRef_;} 00044 void addBrem( const reco::PFBrem& brem); 00045 00047 const std::vector<reco::PFBrem>& PFRecBrem()const {return pfBremVec_;} 00048 00050 int trackId() const {return trackId_;} 00051 00052 private: 00054 reco::GsfTrackRef gsfTrackRef_; 00055 00057 reco::PFRecTrackRef kfPFRecTrackRef_; 00058 00060 std::vector<reco::PFBrem> pfBremVec_; 00061 00062 00063 00065 int trackId_; 00066 }; 00067 00068 00069 } 00070 00071 #endif