CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/TrackingTools/Producers/interface/BeamHaloPropagatorESProducer.h

Go to the documentation of this file.
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