![]() |
![]() |
00001 #ifndef RecoMuon_TrackerSeedGenerator_H 00002 #define RecoMuon_TrackerSeedGenerator_H 00003 00008 #include "DataFormats/TrajectorySeed/interface/TrajectorySeedCollection.h" 00009 #include "DataFormats/TrackReco/interface/Track.h" 00010 #include "DataFormats/TrackReco/interface/TrackFwd.h" 00011 class Trajectory; 00012 class TrackingRegion; 00013 class MuonServiceProxy; 00014 00015 namespace edm {class ParameterSet; class Event; class EventSetup;} 00016 00017 class TrackerSeedGenerator { 00018 00019 public: 00020 typedef std::vector<TrajectorySeed> BTSeedCollection; 00021 00022 TrackerSeedGenerator() : theEvent(0), theProxyService(0) {} 00023 00024 typedef std::pair<const Trajectory*, reco::TrackRef> TrackCand; 00025 00026 virtual void init(const MuonServiceProxy *service); 00027 00029 virtual ~TrackerSeedGenerator() {} 00030 00031 virtual void trackerSeeds(const TrackCand&, const TrackingRegion&, BTSeedCollection &); 00032 00033 virtual void setEvent(const edm::Event&); 00034 00035 private: 00036 00037 virtual void run(TrajectorySeedCollection &seeds, 00038 const edm::Event &ev, const edm::EventSetup &es, const TrackingRegion& region) {} 00039 00040 const edm::Event * theEvent; 00041 const MuonServiceProxy * theProxyService; 00042 00043 }; 00044 00045 #endif 00046