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