CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/RecoMuon/TrackerSeedGenerator/plugins/TSGFromOrderedHits.cc

Go to the documentation of this file.
00001 #include "TSGFromOrderedHits.h"
00002 
00003 #include "RecoTracker/TkTrackingRegions/interface/TrackingRegion.h"
00004 #include "RecoTracker/TkTrackingRegions/interface/OrderedHitsGeneratorFactory.h"
00005 #include "RecoTracker/TkTrackingRegions/interface/OrderedHitsGenerator.h"
00006 #include "RecoTracker/TkSeedGenerator/interface/SeedGeneratorFromRegionHits.h"
00007 
00008 #include "FWCore/Framework/interface/Event.h"
00009 #include "DataFormats/Provenance/interface/RunID.h"
00010 
00011 
00012 TSGFromOrderedHits::TSGFromOrderedHits(const edm::ParameterSet &pset)
00013   : theLastRun(0), theConfig(pset), theGenerator(0)
00014 {
00015         init();
00016 }
00017 void TSGFromOrderedHits::init()
00018 {
00019   edm::ParameterSet hitsfactoryPSet =
00020       theConfig.getParameter<edm::ParameterSet>("OrderedHitsFactoryPSet");
00021   std::string hitsfactoryName = hitsfactoryPSet.getParameter<std::string>("ComponentName");
00022   OrderedHitsGenerator*  hitsGenerator =
00023         OrderedHitsGeneratorFactory::get()->create( hitsfactoryName, hitsfactoryPSet);
00024 
00025   if (theGenerator) delete theGenerator;
00026   theGenerator = new SeedGeneratorFromRegionHits( hitsGenerator, theConfig);
00027 }
00028 
00029 TSGFromOrderedHits::~TSGFromOrderedHits()
00030 {
00031   delete theGenerator; 
00032 }
00033 
00034 void TSGFromOrderedHits::run(TrajectorySeedCollection &seeds, 
00035       const edm::Event &ev, const edm::EventSetup &es, const TrackingRegion& region)
00036 {
00037   edm::RunNumber_t thisRun = ev.run();
00038   if (thisRun != theLastRun) { theLastRun = thisRun; init(); }
00039   theGenerator->run( seeds, region, ev, es);
00040 }