CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/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 class TrackerTopology;
00016 
00017 namespace edm {class ParameterSet; class Event; class EventSetup;}
00018 
00019 class TrackerSeedGenerator {
00020 
00021 public:
00022   typedef std::vector<TrajectorySeed> BTSeedCollection;  
00023 
00024   TrackerSeedGenerator() : theEvent(0), theProxyService(0) {}
00025 
00026   typedef std::pair<const Trajectory*, reco::TrackRef> TrackCand;
00027 
00028   virtual void init(const MuonServiceProxy *service);
00029   
00031   virtual ~TrackerSeedGenerator() {}
00032 
00033   virtual void trackerSeeds(const TrackCand&, const TrackingRegion&, const TrackerTopology *, BTSeedCollection &);
00034     
00035   virtual void setEvent(const edm::Event&);
00036 
00037   const edm::Event *getEvent() const { return theEvent;}
00038 
00039 private:
00040 
00041   virtual void run(TrajectorySeedCollection &seeds, 
00042       const edm::Event &ev, const edm::EventSetup &es, const TrackingRegion& region) {} 
00043  protected:
00044   const edm::Event * theEvent;
00045   const MuonServiceProxy * theProxyService;
00046   
00047 };
00048 
00049 #endif
00050