CMS 3D CMS Logo

/data/git/CMSSW_5_3_11_patch5/src/RecoMuon/TrackerSeedGenerator/interface/TrackerSeedGenerator.h

Go to the documentation of this file.
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 
00012 class Trajectory;
00013 class TrackingRegion;
00014 class MuonServiceProxy;
00015 
00016 namespace edm {class ParameterSet; class Event; class EventSetup;}
00017 
00018 class TrackerSeedGenerator {
00019 
00020 public:
00021   typedef std::vector<TrajectorySeed> BTSeedCollection;  
00022 
00023   TrackerSeedGenerator() : theEvent(0), theProxyService(0) {}
00024 
00025   typedef std::pair<const Trajectory*, reco::TrackRef> TrackCand;
00026 
00027   virtual void init(const MuonServiceProxy *service);
00028   
00030   virtual ~TrackerSeedGenerator() {}
00031 
00032   virtual void trackerSeeds(const TrackCand&, const TrackingRegion&, BTSeedCollection &);
00033     
00034   virtual void setEvent(const edm::Event&);
00035 
00036   const edm::Event *getEvent() const { return theEvent;}
00037 
00038 private:
00039 
00040   virtual void run(TrajectorySeedCollection &seeds, 
00041       const edm::Event &ev, const edm::EventSetup &es, const TrackingRegion& region) {} 
00042  protected:
00043   const edm::Event * theEvent;
00044   const MuonServiceProxy * theProxyService;
00045   
00046 };
00047 
00048 #endif
00049