31 int closerNominaCurrent(
float current)
const;
42 AutoParametrizedMagneticFieldProducer::AutoParametrizedMagneticFieldProducer(
const edm::ParameterSet& iConfig)
60 message =
" (from RunInfo DB)";
62 message =
" (from valueOverride card)";
66 edm::LogInfo(
"MagneticField|AutoParametrizedMagneticField")
67 <<
"Current: " << current << message <<
"; using map for: " << cnc;
74 parameters.push_back(0);
75 }
else if (
version ==
"Parabolic") {
76 parameters.push_back(3.8114);
77 parameters.push_back(-3.94991
e-06);
78 parameters.push_back(7.53701
e-06);
79 parameters.push_back(2.43878
e-11);
82 double scale = double(cnc) / double(18268);
83 parameters[0] *=
scale;
84 parameters[1] *=
scale;
85 parameters[2] *=
scale;
T getParameter(std::string const &) const
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
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
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
const std::string version_
edm::ESGetToken< RunInfo, RunInfoRcd > runInfoToken_
const int currentOverride_