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 }