File indexing completed on 2024-04-06 12:27:15
0001 #ifndef RecoMuon_TrackerSeedGenerator_H
0002 #define RecoMuon_TrackerSeedGenerator_H
0003
0004
0005
0006
0007
0008 #include "DataFormats/TrajectorySeed/interface/TrajectorySeedCollection.h"
0009 #include "DataFormats/TrackReco/interface/Track.h"
0010 #include "DataFormats/TrackReco/interface/TrackFwd.h"
0011
0012 class Trajectory;
0013 class TrackingRegion;
0014 class MuonServiceProxy;
0015 class TrackerTopology;
0016
0017 namespace edm {
0018 class ParameterSet;
0019 class Event;
0020 class EventSetup;
0021 class ConsumesCollector;
0022 }
0023
0024 class TrackerSeedGenerator {
0025 public:
0026 typedef std::vector<TrajectorySeed> BTSeedCollection;
0027
0028 TrackerSeedGenerator() : theEvent(nullptr), theProxyService(nullptr) {}
0029
0030 typedef std::pair<const Trajectory *, reco::TrackRef> TrackCand;
0031
0032 virtual void init(const MuonServiceProxy *service);
0033
0034
0035 virtual ~TrackerSeedGenerator() {}
0036
0037 virtual void trackerSeeds(const TrackCand &, const TrackingRegion &, const TrackerTopology *, BTSeedCollection &);
0038
0039 virtual void setEvent(const edm::Event &);
0040
0041 const edm::Event *getEvent() const { return theEvent; }
0042
0043 private:
0044 virtual void run(TrajectorySeedCollection &seeds,
0045 const edm::Event &ev,
0046 const edm::EventSetup &es,
0047 const TrackingRegion ®ion) {}
0048
0049 protected:
0050 const edm::Event *theEvent;
0051 const MuonServiceProxy *theProxyService;
0052 };
0053
0054 #endif