CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/MagneticField/GeomBuilder/plugins/AutoMagneticFieldESProducer.h

Go to the documentation of this file.
00001 #ifndef AutoMagneticFieldESProducer_h
00002 #define AutoMagneticFieldESProducer_h
00003 
00014 #include "FWCore/Framework/interface/ESProducer.h"
00015 
00016 #include "MagneticField/Engine/interface/MagneticField.h"
00017 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00018 #include <vector>
00019 #include <string>
00020 
00021 class IdealMagneticFieldRecord;
00022 
00023 namespace magneticfield {
00024   class AutoMagneticFieldESProducer : public edm::ESProducer
00025   {
00026   public:
00027     AutoMagneticFieldESProducer(const edm::ParameterSet&);
00028     ~AutoMagneticFieldESProducer();
00029     
00030     std::auto_ptr<MagneticField> produce(const IdealMagneticFieldRecord&);
00031     edm::ParameterSet pset;
00032   private:
00033     std::string closerModel(float current);
00034     std::vector<int> nominalCurrents;
00035     std::vector<std::string> maps;
00036   };
00037 }
00038 
00039 #endif