00001 #ifndef UniformMagneticFieldESProducer_h 00002 #define UniformMagneticFieldESProducer_h 00003 00013 #include "FWCore/Framework/interface/EventSetupRecordIntervalFinder.h" 00014 #include "FWCore/Framework/interface/ESProducer.h" 00015 00016 #include "MagneticField/Engine/interface/MagneticField.h" 00017 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00018 00019 class IdealMagneticFieldRecord; 00020 00021 namespace magneticfield { 00022 class UniformMagneticFieldESProducer : public edm::ESProducer { 00023 public: 00024 UniformMagneticFieldESProducer(const edm::ParameterSet& pset); 00025 00026 std::auto_ptr<MagneticField> produce(const IdealMagneticFieldRecord &); 00027 00028 private: 00029 // forbid copy ctor and assignment op. 00030 UniformMagneticFieldESProducer(const UniformMagneticFieldESProducer&); 00031 const UniformMagneticFieldESProducer& operator=(const UniformMagneticFieldESProducer&); 00032 00033 float value; 00034 }; 00035 } 00036 00037 00038 #endif