00001 // -*- C++ -*- 00002 // 00003 // Package: TrajectoryCleanerESProducer 00004 // Class: TrajectoryCleanerESProducer 00005 // 00013 // 00014 // Original Author: Jean-Roch Vlimant 00015 // Created: Thu Oct 11 05:20:59 CEST 2007 00016 // $Id: TrajectoryCleanerESProducer.h,v 1.3 2010/04/15 17:56:05 vlimant Exp $ 00017 // 00018 // 00019 00020 00021 // system include files 00022 #include <memory> 00023 #include "boost/shared_ptr.hpp" 00024 00025 // user include files 00026 #include "FWCore/Framework/interface/ModuleFactory.h" 00027 #include "FWCore/Framework/interface/ESProducer.h" 00028 00029 #include "FWCore/Framework/interface/ESHandle.h" 00030 00031 #include "TrackingTools/Records/interface/TrackingComponentsRecord.h" 00032 #include "TrackingTools/TrajectoryCleaning/interface/TrajectoryCleaner.h" 00033 00034 class TrajectoryCleanerESProducer : public edm::ESProducer { 00035 public: 00036 TrajectoryCleanerESProducer(const edm::ParameterSet&); 00037 ~TrajectoryCleanerESProducer(); 00038 00039 typedef boost::shared_ptr<TrajectoryCleaner> ReturnType; 00040 00041 ReturnType produce(const TrackingComponentsRecord&); 00042 private: 00043 std::string theComponentName; 00044 std::string theComponentType; 00045 edm::ParameterSet theConfig; 00046 };