00001 #ifndef TrackingTools_ESProducers_AnalyticalPropagatorESProducer_h 00002 #define TrackingTools_ESProducers_AnalyticalPropagatorESProducer_h 00003 00004 #include "FWCore/Framework/interface/ESProducer.h" 00005 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00006 #include "TrackingTools/Records/interface/TrackingComponentsRecord.h" 00007 #include "TrackingTools/GeomPropagators/interface/AnalyticalPropagator.h" 00008 #include <boost/shared_ptr.hpp> 00009 00010 class AnalyticalPropagatorESProducer: public edm::ESProducer{ 00011 public: 00012 AnalyticalPropagatorESProducer(const edm::ParameterSet & p); 00013 virtual ~AnalyticalPropagatorESProducer(); 00014 boost::shared_ptr<Propagator> produce(const TrackingComponentsRecord &); 00015 private: 00016 boost::shared_ptr<Propagator> _propagator; 00017 edm::ParameterSet pset_; 00018 }; 00019 00020 00021 #endif 00022 00023 00024 00025