00001 #ifndef RECOTRACKER_RINGMAKERESPRODUCER_H 00002 #define RECOTRACKER_RINGMAKERESPRODUCER_H 00003 00004 // 00005 // Package: RecoTracker/RingMakerESProducer 00006 // Class: RingMakerESProducer 00007 // 00008 // Description: Uses the RingMaker object to construct 00009 // and provide a Rings object. 00010 // 00011 // Original Author: Oliver Gutsche, gutsche@fnal.gov 00012 // Created: Tue Oct 3 23:51:34 UTC 2006 00013 // 00014 // $Author: gutsche $ 00015 // $Date: 2007/03/15 20:16:59 $ 00016 // $Revision: 1.2 $ 00017 // 00018 00019 // system include files 00020 #include <memory> 00021 #include <string> 00022 00023 // user include files 00024 #include "FWCore/Framework/interface/ModuleFactory.h" 00025 #include "FWCore/Framework/interface/ESProducer.h" 00026 00027 #include "FWCore/Framework/interface/ESHandle.h" 00028 00029 #include "RecoTracker/RingRecord/interface/RingRecord.h" 00030 00031 #include "RecoTracker/RingRecord/interface/Rings.h" 00032 00033 class RingMakerESProducer : public edm::ESProducer { 00034 00035 public: 00036 00037 RingMakerESProducer(const edm::ParameterSet&); 00038 ~RingMakerESProducer(); 00039 00040 typedef std::auto_ptr<Rings> ReturnType; 00041 00042 ReturnType produce(const RingRecord&); 00043 00044 private: 00045 00046 bool writeOut_; 00047 std::string fileName_; 00048 bool dumpDetIds_; 00049 std::string detIdsDumpFileName_; 00050 std::string configuration_; 00051 Rings *rings_; 00052 }; 00053 00054 #endif