CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_1/src/MagneticField/GeomBuilder/plugins/VolumeBasedMagneticFieldESProducer.h

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