00001 #ifndef TrackingTools_ESProducers_PropagatorWithMaterialESProducer_h 00002 #define TrackingTools_ESProducers_PropagatorWithMaterialESProducer_h 00003 00012 #include "FWCore/Framework/interface/ESProducer.h" 00013 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00014 #include "TrackingTools/Records/interface/TrackingComponentsRecord.h" 00015 #include "TrackingTools/GeomPropagators/interface/Propagator.h" 00016 #include <boost/shared_ptr.hpp> 00017 00018 class PropagatorWithMaterialESProducer: public edm::ESProducer{ 00019 public: 00020 PropagatorWithMaterialESProducer(const edm::ParameterSet & p); 00021 virtual ~PropagatorWithMaterialESProducer(); 00022 boost::shared_ptr<Propagator> produce(const TrackingComponentsRecord &); 00023 private: 00024 boost::shared_ptr<Propagator> _propagator; 00025 edm::ParameterSet pset_; 00026 }; 00027 00028 00029 #endif 00030 00031 00032 00033