23 namespace magneticfield {
31 int closerNominaCurrent(
float current)
const;
40 using namespace magneticfield;
60 message =
" (from RunInfo DB)";
62 message =
" (from valueOverride card)";
66 edm::LogInfo(
"MagneticField") <<
"Current: " << current << message <<
"; using map for: " << cnc;
73 parameters.push_back(0);
74 }
else if (
version ==
"Parabolic") {
75 parameters.push_back(3.8114);
76 parameters.push_back(-3.94991
e-06);
77 parameters.push_back(7.53701
e-06);
78 parameters.push_back(2.43878
e-11);
81 double scale = double(cnc) / double(18268);
82 parameters[0] *=
scale;
83 parameters[1] *=
scale;
84 parameters[2] *=
scale;
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
T getUntrackedParameter(std::string const &, T const &) const
std::unique_ptr< MagneticField > produce(const IdealMagneticFieldRecord &)
~AutoParametrizedMagneticFieldProducer() override
const std::array< int, 7 > nominalCurrents_
static std::unique_ptr< MagneticField > get(std::string version, const edm::ParameterSet ¶meters)
ProductT const & get(ESGetToken< ProductT, DepRecordT > const &iToken) const
int closerNominaCurrent(float current) const
Log< level::Info, false > LogInfo
T getParameter(std::string const &) const
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
const std::string version_
edm::ESGetToken< RunInfo, RunInfoRcd > runInfoToken_
const int currentOverride_