00001 #ifndef TrackingTools_GeomPropagators_BeamHaloPropagatorESProducer_H 00002 #define TrackingTools_GeomPropagators_BeamHaloPropagatorESProducer_H 00003 00010 #include "FWCore/Framework/interface/ESProducer.h" 00011 00012 #include "TrackingTools/GeomPropagators/interface/BeamHaloPropagator.h" 00013 #include "DataFormats/TrajectorySeed/interface/PropagationDirection.h" 00014 00015 #include <boost/shared_ptr.hpp> 00016 00017 00018 namespace edm {class ParameterSet;} 00019 00020 class TrackingComponentsRecord; 00021 00022 class BeamHaloPropagatorESProducer: public edm::ESProducer{ 00023 00024 public: 00025 00027 BeamHaloPropagatorESProducer(const edm::ParameterSet &); 00028 00030 virtual ~BeamHaloPropagatorESProducer(); 00031 00032 // Operations 00033 boost::shared_ptr<Propagator> produce(const TrackingComponentsRecord &); 00034 00035 private: 00036 boost::shared_ptr<Propagator> thePropagator; 00037 PropagationDirection thePropagationDirection; 00038 std::string myname; 00039 std::string theEndCapTrackerPropagatorName; 00040 std::string theCrossingTrackerPropagatorName; 00041 }; 00042 00043 #endif 00044