00001 #include "TrackingTools/KalmanUpdators/interface/TrackingRecHitPropagatorESProducer.h" 00002 00003 #include "FWCore/Framework/interface/EventSetup.h" 00004 #include "FWCore/Framework/interface/ESHandle.h" 00005 #include "FWCore/Framework/interface/ModuleFactory.h" 00006 #include "FWCore/Framework/interface/ESProducer.h" 00007 00008 00009 #include <string> 00010 #include <memory> 00011 00012 using namespace edm; 00013 00014 TrackingRecHitPropagatorESProducer::TrackingRecHitPropagatorESProducer(const edm::ParameterSet & p) 00015 { 00016 std::string myname = p.getParameter<std::string>("ComponentName"); 00017 pset_ = p; 00018 setWhatProduced(this,myname); 00019 } 00020 00021 TrackingRecHitPropagatorESProducer::~TrackingRecHitPropagatorESProducer() {} 00022 00023 boost::shared_ptr<TrackingRecHitPropagator> 00024 TrackingRecHitPropagatorESProducer::produce(const TrackingComponentsRecord& iRecord){ 00025 ESHandle<MagneticField> magfield; 00026 iRecord.getRecord<IdealMagneticFieldRecord>().get(magfield ); 00027 theHitPropagator= boost::shared_ptr<TrackingRecHitPropagator>(new TrackingRecHitPropagator(magfield.product())); 00028 return theHitPropagator; 00029 } 00030 00031