#ifndef __JPHYSICS__JNEUTRINO__ #define __JPHYSICS__JNEUTRINO__ #include "JTools/JFunction1D_t.hh" /** * \author mdejong */ namespace JPHYSICS {} namespace JPP { using namespace JPHYSICS; } namespace JPHYSICS { namespace { using JTOOLS::JCollectionElementTransformer; using JTOOLS::JSplineFunction1D_t; /** * Base class for neutrino cross sections. */ class JCrossSection : public JSplineFunction1D_t { /** * Auxiliary class to transform cross section. * The value of the cross section will be divided by the neutrino energy. */ class transformer : public JCollectionElementTransformer { public: /** * Transformation of elements. * * \param element input element * \return output element */ virtual value_type operator()(const value_type& element) const { return value_type(element.getX(), element.getY() / element.getX()); } }; public: /** * Transformation of cross section. */ void transform() { JSplineFunction1D_t::transform(transformer()); } /** * Cross section. * * \param E neutrino energy [GeV] * \return cross section [cm^2] */ double operator()(const double& E) const { return JSplineFunction1D_t::operator()(E) * E; } }; /** * Charged current neutrino cross section [cm^2] as a function of neutrino energy [GeV] */ class JCCnu : public JCrossSection { public: JCCnu() { insert(value_type(1.000000e+00, 8.389700e-39)); insert(value_type(1.258925e+00, 1.056200e-38)); insert(value_type(1.584893e+00, 1.329600e-38)); insert(value_type(1.995262e+00, 1.673800e-38)); insert(value_type(2.511886e+00, 2.106200e-38)); insert(value_type(3.162278e+00, 2.647200e-38)); insert(value_type(3.981072e+00, 3.321900e-38)); insert(value_type(5.011872e+00, 4.158400e-38)); insert(value_type(6.309573e+00, 5.194600e-38)); insert(value_type(7.943282e+00, 6.475700e-38)); insert(value_type(1.000000e+01, 8.077200e-38)); insert(value_type(1.258925e+01, 1.002100e-37)); insert(value_type(1.584893e+01, 1.244900e-37)); insert(value_type(1.995262e+01, 1.546200e-37)); insert(value_type(2.511886e+01, 1.920300e-37)); insert(value_type(3.162278e+01, 2.385400e-37)); insert(value_type(3.981072e+01, 2.964300e-37)); insert(value_type(5.011872e+01, 3.685300e-37)); insert(value_type(6.309573e+01, 4.584200e-37)); insert(value_type(7.943282e+01, 5.705400e-37)); insert(value_type(1.000000e+02, 7.104300e-37)); insert(value_type(1.258925e+02, 8.851000e-37)); insert(value_type(1.584893e+02, 1.103100e-36)); insert(value_type(1.995262e+02, 1.375300e-36)); insert(value_type(2.511886e+02, 1.714800e-36)); insert(value_type(3.162278e+02, 2.138200e-36)); insert(value_type(3.981072e+02, 2.665600e-36)); insert(value_type(5.011872e+02, 3.321600e-36)); insert(value_type(6.309573e+02, 4.136100e-36)); insert(value_type(7.943282e+02, 5.145200e-36)); insert(value_type(1.000000e+03, 6.391600e-36)); insert(value_type(1.258925e+03, 7.926500e-36)); insert(value_type(1.584893e+03, 9.808600e-36)); insert(value_type(1.995262e+03, 1.210600e-35)); insert(value_type(2.511886e+03, 1.489500e-35)); insert(value_type(3.162278e+03, 1.826200e-35)); insert(value_type(3.981072e+03, 2.229900e-35)); insert(value_type(5.011872e+03, 2.710600e-35)); insert(value_type(6.309573e+03, 3.278900e-35)); insert(value_type(7.943282e+03, 3.945700e-35)); insert(value_type(1.000000e+04, 4.722400e-35)); insert(value_type(1.258925e+04, 5.620500e-35)); insert(value_type(1.584893e+04, 6.648500e-35)); insert(value_type(1.995262e+04, 7.825500e-35)); insert(value_type(2.511886e+04, 9.161700e-35)); insert(value_type(3.162278e+04, 1.067100e-34)); insert(value_type(3.981072e+04, 1.236900e-34)); insert(value_type(5.011872e+04, 1.427300e-34)); insert(value_type(6.309573e+04, 1.640200e-34)); insert(value_type(7.943282e+04, 1.877800e-34)); insert(value_type(1.000000e+05, 2.142300e-34)); insert(value_type(1.258925e+05, 2.436600e-34)); insert(value_type(1.584893e+05, 2.763600e-34)); insert(value_type(1.995262e+05, 3.126500e-34)); insert(value_type(2.511886e+05, 3.529000e-34)); insert(value_type(3.162278e+05, 3.975000e-34)); insert(value_type(3.981072e+05, 4.467800e-34)); insert(value_type(5.011872e+05, 5.014200e-34)); insert(value_type(6.309573e+05, 5.618400e-34)); insert(value_type(7.943282e+05, 6.285700e-34)); insert(value_type(1.000000e+06, 7.022600e-34)); insert(value_type(1.258925e+06, 7.835100e-34)); insert(value_type(1.584893e+06, 8.730400e-34)); insert(value_type(1.995262e+06, 9.716100e-34)); insert(value_type(2.511886e+06, 1.080000e-33)); insert(value_type(3.162278e+06, 1.199500e-33)); insert(value_type(3.981072e+06, 1.330300e-33)); insert(value_type(5.011872e+06, 1.473700e-33)); insert(value_type(6.309573e+06, 1.630900e-33)); insert(value_type(7.943282e+06, 1.803000e-33)); insert(value_type(1.000000e+07, 1.991100e-33)); insert(value_type(1.258925e+07, 2.196800e-33)); insert(value_type(1.584893e+07, 2.421200e-33)); insert(value_type(1.995262e+07, 2.666000e-33)); insert(value_type(2.511886e+07, 2.932900e-33)); insert(value_type(3.162278e+07, 3.223400e-33)); insert(value_type(3.981072e+07, 3.538700e-33)); insert(value_type(5.011872e+07, 3.882500e-33)); insert(value_type(6.309573e+07, 4.256000e-33)); insert(value_type(7.943282e+07, 4.661700e-33)); insert(value_type(1.000000e+08, 5.101900e-33)); insert(value_type(1.258925e+08, 5.579500e-33)); insert(value_type(1.584893e+08, 6.097300e-33)); insert(value_type(1.995262e+08, 6.658300e-33)); insert(value_type(2.511886e+08, 7.266200e-33)); insert(value_type(3.162278e+08, 7.924400e-33)); insert(value_type(3.981072e+08, 8.636900e-33)); insert(value_type(5.011872e+08, 9.408000e-33)); insert(value_type(6.309573e+08, 1.024200e-32)); insert(value_type(7.943282e+08, 1.114500e-32)); insert(value_type(1.000000e+09, 1.212200e-32)); insert(value_type(1.258925e+09, 1.317700e-32)); insert(value_type(1.584893e+09, 1.431900e-32)); insert(value_type(1.995262e+09, 1.555400e-32)); insert(value_type(2.511886e+09, 1.689800e-32)); insert(value_type(3.162278e+09, 1.834200e-32)); insert(value_type(3.981072e+09, 1.989400e-32)); insert(value_type(5.011872e+09, 2.158100e-32)); insert(value_type(6.309573e+09, 2.340500e-32)); insert(value_type(7.943282e+09, 2.537800e-32)); insert(value_type(1.000000e+10, 2.751000e-32)); insert(value_type(1.258925e+10, 2.981600e-32)); insert(value_type(1.584893e+10, 3.230800e-32)); insert(value_type(1.995262e+10, 3.500300e-32)); insert(value_type(2.511886e+10, 3.791600e-32)); insert(value_type(3.162278e+10, 4.106600e-32)); insert(value_type(3.981072e+10, 4.447200e-32)); insert(value_type(5.011872e+10, 4.815500e-32)); insert(value_type(6.309573e+10, 5.213700e-32)); insert(value_type(7.943282e+10, 5.644300e-32)); insert(value_type(1.000000e+11, 6.109800e-32)); insert(value_type(1.258925e+11, 6.613300e-32)); insert(value_type(1.584893e+11, 7.157700e-32)); insert(value_type(1.995262e+11, 7.748000e-32)); insert(value_type(2.511886e+11, 8.384900e-32)); insert(value_type(3.162278e+11, 9.073300e-32)); insert(value_type(3.981072e+11, 9.818100e-32)); insert(value_type(5.011872e+11, 1.062400e-31)); insert(value_type(6.309573e+11, 1.149400e-31)); insert(value_type(7.943282e+11, 1.243700e-31)); insert(value_type(1.000000e+12, 1.345600e-31)); transform(); compile(); } }; /** * Neutral current neutrino cross section [cm^2] as a function of neutrino energy [GeV] */ class JNCnu : public JCrossSection { public: JNCnu() { insert(value_type(1.000000e+00, 2.585300e-39)); insert(value_type(1.258925e+00, 3.254700e-39)); insert(value_type(1.584893e+00, 4.097300e-39)); insert(value_type(1.995262e+00, 5.157900e-39)); insert(value_type(2.511886e+00, 6.490500e-39)); insert(value_type(3.162278e+00, 8.158200e-39)); insert(value_type(3.981072e+00, 1.023900e-38)); insert(value_type(5.011872e+00, 1.281900e-38)); insert(value_type(6.309573e+00, 1.601700e-38)); insert(value_type(7.943282e+00, 1.997200e-38)); insert(value_type(1.000000e+01, 2.492000e-38)); insert(value_type(1.258925e+01, 3.092600e-38)); insert(value_type(1.584893e+01, 3.843400e-38)); insert(value_type(1.995262e+01, 4.775200e-38)); insert(value_type(2.511886e+01, 5.932800e-38)); insert(value_type(3.162278e+01, 7.372800e-38)); insert(value_type(3.981072e+01, 9.165900e-38)); insert(value_type(5.011872e+01, 1.140100e-37)); insert(value_type(6.309573e+01, 1.418800e-37)); insert(value_type(7.943282e+01, 1.766800e-37)); insert(value_type(1.000000e+02, 2.201300e-37)); insert(value_type(1.258925e+02, 2.744000e-37)); insert(value_type(1.584893e+02, 3.422200e-37)); insert(value_type(1.995262e+02, 4.269600e-37)); insert(value_type(2.511886e+02, 5.328400e-37)); insert(value_type(3.162278e+02, 6.650400e-37)); insert(value_type(3.981072e+02, 8.300000e-37)); insert(value_type(5.011872e+02, 1.035600e-36)); insert(value_type(6.309573e+02, 1.291600e-36)); insert(value_type(7.943282e+02, 1.609800e-36)); insert(value_type(1.000000e+03, 2.004200e-36)); insert(value_type(1.258925e+03, 2.492000e-36)); insert(value_type(1.584893e+03, 3.093300e-36)); insert(value_type(1.995262e+03, 3.831600e-36)); insert(value_type(2.511886e+03, 4.734100e-36)); insert(value_type(3.162278e+03, 5.831800e-36)); insert(value_type(3.981072e+03, 7.159000e-36)); insert(value_type(5.011872e+03, 8.754000e-36)); insert(value_type(6.309573e+03, 1.065800e-35)); insert(value_type(7.943282e+03, 1.291400e-35)); insert(value_type(1.000000e+04, 1.556900e-35)); insert(value_type(1.258925e+04, 1.867100e-35)); insert(value_type(1.584893e+04, 2.226900e-35)); insert(value_type(1.995262e+04, 2.639600e-35)); insert(value_type(2.511886e+04, 3.114200e-35)); insert(value_type(3.162278e+04, 3.654800e-35)); insert(value_type(3.981072e+04, 4.267600e-35)); insert(value_type(5.011872e+04, 4.959200e-35)); insert(value_type(6.309573e+04, 5.737200e-35)); insert(value_type(7.943282e+04, 6.609800e-35)); insert(value_type(1.000000e+05, 7.586100e-35)); insert(value_type(1.258925e+05, 8.676600e-35)); insert(value_type(1.584893e+05, 9.892700e-35)); insert(value_type(1.995262e+05, 1.124700e-34)); insert(value_type(2.511886e+05, 1.275300e-34)); insert(value_type(3.162278e+05, 1.442800e-34)); insert(value_type(3.981072e+05, 1.628700e-34)); insert(value_type(5.011872e+05, 1.834400e-34)); insert(value_type(6.309573e+05, 2.063000e-34)); insert(value_type(7.943282e+05, 2.316000e-34)); insert(value_type(1.000000e+06, 2.596000e-34)); insert(value_type(1.258925e+06, 2.905500e-34)); insert(value_type(1.584893e+06, 3.247200e-34)); insert(value_type(1.995262e+06, 3.624300e-34)); insert(value_type(2.511886e+06, 4.041600e-34)); insert(value_type(3.162278e+06, 4.499500e-34)); insert(value_type(3.981072e+06, 5.003200e-34)); insert(value_type(5.011872e+06, 5.556600e-34)); insert(value_type(6.309573e+06, 6.164300e-34)); insert(value_type(7.943282e+06, 6.830900e-34)); insert(value_type(1.000000e+07, 7.561300e-34)); insert(value_type(1.258925e+07, 8.361100e-34)); insert(value_type(1.584893e+07, 9.235800e-34)); insert(value_type(1.995262e+07, 1.019200e-33)); insert(value_type(2.511886e+07, 1.123600e-33)); insert(value_type(3.162278e+07, 1.237400e-33)); insert(value_type(3.981072e+07, 1.361600e-33)); insert(value_type(5.011872e+07, 1.496300e-33)); insert(value_type(6.309573e+07, 1.643400e-33)); insert(value_type(7.943282e+07, 1.803400e-33)); insert(value_type(1.000000e+08, 1.977400e-33)); insert(value_type(1.258925e+08, 2.166300e-33)); insert(value_type(1.584893e+08, 2.371500e-33)); insert(value_type(1.995262e+08, 2.594100e-33)); insert(value_type(2.511886e+08, 2.835600e-33)); insert(value_type(3.162278e+08, 3.097300e-33)); insert(value_type(3.981072e+08, 3.381000e-33)); insert(value_type(5.011872e+08, 3.688400e-33)); insert(value_type(6.309573e+08, 4.021300e-33)); insert(value_type(7.943282e+08, 4.381800e-33)); insert(value_type(1.000000e+09, 4.772000e-33)); insert(value_type(1.258925e+09, 5.194500e-33)); insert(value_type(1.584893e+09, 5.651600e-33)); insert(value_type(1.995262e+09, 6.146400e-33)); insert(value_type(2.511886e+09, 6.681700e-33)); insert(value_type(3.162278e+09, 7.264700e-33)); insert(value_type(3.981072e+09, 7.891200e-33)); insert(value_type(5.011872e+09, 8.565500e-33)); insert(value_type(6.309573e+09, 9.298900e-33)); insert(value_type(7.943282e+09, 1.009200e-32)); insert(value_type(1.000000e+10, 1.095100e-32)); insert(value_type(1.258925e+10, 1.187900e-32)); insert(value_type(1.584893e+10, 1.288400e-32)); insert(value_type(1.995262e+10, 1.397000e-32)); insert(value_type(2.511886e+10, 1.514600e-32)); insert(value_type(3.162278e+10, 1.641700e-32)); insert(value_type(3.981072e+10, 1.779300e-32)); insert(value_type(5.011872e+10, 1.928200e-32)); insert(value_type(6.309573e+10, 2.089200e-32)); insert(value_type(7.943282e+10, 2.263400e-32)); insert(value_type(1.000000e+11, 2.451900e-32)); insert(value_type(1.258925e+11, 2.655800e-32)); insert(value_type(1.584893e+11, 2.877300e-32)); insert(value_type(1.995262e+11, 3.116100e-32)); insert(value_type(2.511886e+11, 3.374500e-32)); insert(value_type(3.162278e+11, 3.654000e-32)); insert(value_type(3.981072e+11, 3.956600e-32)); insert(value_type(5.011872e+11, 4.284000e-32)); insert(value_type(6.309573e+11, 4.638100e-32)); insert(value_type(7.943282e+11, 5.021600e-32)); insert(value_type(1.000000e+12, 5.436400e-32)); transform(); compile(); } }; /** * Charged current anti-neutrino cross section [cm^2] as a function of neutrino energy [GeV] */ class JCCnubar : public JCrossSection { public: JCCnubar() { insert(value_type(1.000000e+00, 3.745100e-39)); insert(value_type(1.258925e+00, 4.714800e-39)); insert(value_type(1.584893e+00, 5.935500e-39)); insert(value_type(1.995262e+00, 7.472200e-39)); insert(value_type(2.511886e+00, 9.406700e-39)); insert(value_type(3.162278e+00, 1.184100e-38)); insert(value_type(3.981072e+00, 1.490200e-38)); insert(value_type(5.011872e+00, 1.874300e-38)); insert(value_type(6.309573e+00, 2.355500e-38)); insert(value_type(7.943282e+00, 2.957300e-38)); insert(value_type(1.000000e+01, 3.715800e-38)); insert(value_type(1.258925e+01, 4.646600e-38)); insert(value_type(1.584893e+01, 5.815800e-38)); insert(value_type(1.995262e+01, 7.274700e-38)); insert(value_type(2.511886e+01, 9.095600e-38)); insert(value_type(3.162278e+01, 1.137000e-37)); insert(value_type(3.981072e+01, 1.421500e-37)); insert(value_type(5.011872e+01, 1.777700e-37)); insert(value_type(6.309573e+01, 2.224400e-37)); insert(value_type(7.943282e+01, 2.784900e-37)); insert(value_type(1.000000e+02, 3.489200e-37)); insert(value_type(1.258925e+02, 4.375100e-37)); insert(value_type(1.584893e+02, 5.490000e-37)); insert(value_type(1.995262e+02, 6.894000e-37)); insert(value_type(2.511886e+02, 8.662500e-37)); insert(value_type(3.162278e+02, 1.089000e-36)); insert(value_type(3.981072e+02, 1.369600e-36)); insert(value_type(5.011872e+02, 1.722800e-36)); insert(value_type(6.309573e+02, 2.167000e-36)); insert(value_type(7.943282e+02, 2.725300e-36)); insert(value_type(1.000000e+03, 3.425500e-36)); insert(value_type(1.258925e+03, 4.302700e-36)); insert(value_type(1.584893e+03, 5.398600e-36)); insert(value_type(1.995262e+03, 6.764200e-36)); insert(value_type(2.511886e+03, 8.460200e-36)); insert(value_type(3.162278e+03, 1.055900e-35)); insert(value_type(3.981072e+03, 1.314500e-35)); insert(value_type(5.011872e+03, 1.631600e-35)); insert(value_type(6.309573e+03, 2.018400e-35)); insert(value_type(7.943282e+03, 2.487300e-35)); insert(value_type(1.000000e+04, 3.052500e-35)); insert(value_type(1.258925e+04, 3.729000e-35)); insert(value_type(1.584893e+04, 4.528100e-35)); insert(value_type(1.995262e+04, 5.478200e-35)); insert(value_type(2.511886e+04, 6.592800e-35)); insert(value_type(3.162278e+04, 7.891800e-35)); insert(value_type(3.981072e+04, 9.395700e-35)); insert(value_type(5.011872e+04, 1.112700e-34)); insert(value_type(6.309573e+04, 1.310800e-34)); insert(value_type(7.943282e+04, 1.536300e-34)); insert(value_type(1.000000e+05, 1.791900e-34)); insert(value_type(1.258925e+05, 2.080100e-34)); insert(value_type(1.584893e+05, 2.404100e-34)); insert(value_type(1.995262e+05, 2.767000e-34)); insert(value_type(2.511886e+05, 3.172100e-34)); insert(value_type(3.162278e+05, 3.623300e-34)); insert(value_type(3.981072e+05, 4.123600e-34)); insert(value_type(5.011872e+05, 4.679200e-34)); insert(value_type(6.309573e+05, 5.294300e-34)); insert(value_type(7.943282e+05, 5.973800e-34)); insert(value_type(1.000000e+06, 6.723800e-34)); insert(value_type(1.258925e+06, 7.550300e-34)); insert(value_type(1.584893e+06, 8.460000e-34)); insert(value_type(1.995262e+06, 9.460400e-34)); insert(value_type(2.511886e+06, 1.055900e-33)); insert(value_type(3.162278e+06, 1.176900e-33)); insert(value_type(3.981072e+06, 1.309200e-33)); insert(value_type(5.011872e+06, 1.454000e-33)); insert(value_type(6.309573e+06, 1.612500e-33)); insert(value_type(7.943282e+06, 1.785900e-33)); insert(value_type(1.000000e+07, 1.975300e-33)); insert(value_type(1.258925e+07, 2.182100e-33)); insert(value_type(1.584893e+07, 2.407700e-33)); insert(value_type(1.995262e+07, 2.653600e-33)); insert(value_type(2.511886e+07, 2.921400e-33)); insert(value_type(3.162278e+07, 3.212900e-33)); insert(value_type(3.981072e+07, 3.529100e-33)); insert(value_type(5.011872e+07, 3.873700e-33)); insert(value_type(6.309573e+07, 4.247900e-33)); insert(value_type(7.943282e+07, 4.654300e-33)); insert(value_type(1.000000e+08, 5.095200e-33)); insert(value_type(1.258925e+08, 5.573400e-33)); insert(value_type(1.584893e+08, 6.091700e-33)); insert(value_type(1.995262e+08, 6.653300e-33)); insert(value_type(2.511886e+08, 7.261600e-33)); insert(value_type(3.162278e+08, 7.920200e-33)); insert(value_type(3.981072e+08, 8.633100e-33)); insert(value_type(5.011872e+08, 9.404600e-33)); insert(value_type(6.309573e+08, 1.023900e-32)); insert(value_type(7.943282e+08, 1.114200e-32)); insert(value_type(1.000000e+09, 1.211900e-32)); insert(value_type(1.258925e+09, 1.317500e-32)); insert(value_type(1.584893e+09, 1.431700e-32)); insert(value_type(1.995262e+09, 1.555200e-32)); insert(value_type(2.511886e+09, 1.689600e-32)); insert(value_type(3.162278e+09, 1.834000e-32)); insert(value_type(3.981072e+09, 1.989200e-32)); insert(value_type(5.011872e+09, 2.158000e-32)); insert(value_type(6.309573e+09, 2.340400e-32)); insert(value_type(7.943282e+09, 2.537700e-32)); insert(value_type(1.000000e+10, 2.750900e-32)); insert(value_type(1.258925e+10, 2.981500e-32)); insert(value_type(1.584893e+10, 3.230700e-32)); insert(value_type(1.995262e+10, 3.500200e-32)); insert(value_type(2.511886e+10, 3.791600e-32)); insert(value_type(3.162278e+10, 4.106600e-32)); insert(value_type(3.981072e+10, 4.447200e-32)); insert(value_type(5.011872e+10, 4.815400e-32)); insert(value_type(6.309573e+10, 5.213700e-32)); insert(value_type(7.943282e+10, 5.644200e-32)); insert(value_type(1.000000e+11, 6.109800e-32)); insert(value_type(1.258925e+11, 6.613300e-32)); insert(value_type(1.584893e+11, 7.157700e-32)); insert(value_type(1.995262e+11, 7.747900e-32)); insert(value_type(2.511886e+11, 8.384900e-32)); insert(value_type(3.162278e+11, 9.073300e-32)); insert(value_type(3.981072e+11, 9.818100e-32)); insert(value_type(5.011872e+11, 1.062400e-31)); insert(value_type(6.309573e+11, 1.149400e-31)); insert(value_type(7.943282e+11, 1.243700e-31)); insert(value_type(1.000000e+12, 1.345600e-31)); transform(); compile(); } }; /** * Neutral current anti-neutrino cross section [cm^2] as a function of neutrino energy [GeV] */ class JNCnubar : public JCrossSection { public: JNCnubar() { insert(value_type(1.000000e+00, 1.336700e-39)); insert(value_type(1.258925e+00, 1.682800e-39)); insert(value_type(1.584893e+00, 2.118500e-39)); insert(value_type(1.995262e+00, 2.666900e-39)); insert(value_type(2.511886e+00, 3.357100e-39)); insert(value_type(3.162278e+00, 4.224800e-39)); insert(value_type(3.981072e+00, 5.314100e-39)); insert(value_type(5.011872e+00, 6.677900e-39)); insert(value_type(6.309573e+00, 8.383300e-39)); insert(value_type(7.943282e+00, 1.051200e-38)); insert(value_type(1.000000e+01, 1.319200e-38)); insert(value_type(1.258925e+01, 1.647400e-38)); insert(value_type(1.584893e+01, 2.059500e-38)); insert(value_type(1.995262e+01, 2.573300e-38)); insert(value_type(2.511886e+01, 3.214200e-38)); insert(value_type(3.162278e+01, 4.014600e-38)); insert(value_type(3.981072e+01, 5.015000e-38)); insert(value_type(5.011872e+01, 6.267100e-38)); insert(value_type(6.309573e+01, 7.836000e-38)); insert(value_type(7.943282e+01, 9.803500e-38)); insert(value_type(1.000000e+02, 1.227400e-37)); insert(value_type(1.258925e+02, 1.537700e-37)); insert(value_type(1.584893e+02, 1.927800e-37)); insert(value_type(1.995262e+02, 2.418500e-37)); insert(value_type(2.511886e+02, 3.035900e-37)); insert(value_type(3.162278e+02, 3.812500e-37)); insert(value_type(3.981072e+02, 4.789400e-37)); insert(value_type(5.011872e+02, 6.017900e-37)); insert(value_type(6.309573e+02, 7.561300e-37)); insert(value_type(7.943282e+02, 9.498800e-37)); insert(value_type(1.000000e+03, 1.192700e-36)); insert(value_type(1.258925e+03, 1.496800e-36)); insert(value_type(1.584893e+03, 1.876500e-36)); insert(value_type(1.995262e+03, 2.349700e-36)); insert(value_type(2.511886e+03, 2.937600e-36)); insert(value_type(3.162278e+03, 3.665600e-36)); insert(value_type(3.981072e+03, 4.563500e-36)); insert(value_type(5.011872e+03, 5.666200e-36)); insert(value_type(6.309573e+03, 7.013500e-36)); insert(value_type(7.943282e+03, 8.651300e-36)); insert(value_type(1.000000e+04, 1.063000e-35)); insert(value_type(1.258925e+04, 1.300700e-35)); insert(value_type(1.584893e+04, 1.584400e-35)); insert(value_type(1.995262e+04, 1.918300e-35)); insert(value_type(2.511886e+04, 2.314500e-35)); insert(value_type(3.162278e+04, 2.778200e-35)); insert(value_type(3.981072e+04, 3.317600e-35)); insert(value_type(5.011872e+04, 3.941400e-35)); insert(value_type(6.309573e+04, 4.658500e-35)); insert(value_type(7.943282e+04, 5.478700e-35)); insert(value_type(1.000000e+05, 6.412200e-35)); insert(value_type(1.258925e+05, 7.470000e-35)); insert(value_type(1.584893e+05, 8.663900e-35)); insert(value_type(1.995262e+05, 1.000600e-34)); insert(value_type(2.511886e+05, 1.151100e-34)); insert(value_type(3.162278e+05, 1.319300e-34)); insert(value_type(3.981072e+05, 1.506900e-34)); insert(value_type(5.011872e+05, 1.715100e-34)); insert(value_type(6.309573e+05, 1.946700e-34)); insert(value_type(7.943282e+05, 2.203400e-34)); insert(value_type(1.000000e+06, 2.487600e-34)); insert(value_type(1.258925e+06, 2.801500e-34)); insert(value_type(1.584893e+06, 3.148100e-34)); insert(value_type(1.995262e+06, 3.530100e-34)); insert(value_type(2.511886e+06, 3.952500e-34)); insert(value_type(3.162278e+06, 4.415400e-34)); insert(value_type(3.981072e+06, 4.924200e-34)); insert(value_type(5.011872e+06, 5.482600e-34)); insert(value_type(6.309573e+06, 6.095200e-34)); insert(value_type(7.943282e+06, 6.766500e-34)); insert(value_type(1.000000e+07, 7.501500e-34)); insert(value_type(1.258925e+07, 8.305700e-34)); insert(value_type(1.584893e+07, 9.184500e-34)); insert(value_type(1.995262e+07, 1.014400e-33)); insert(value_type(2.511886e+07, 1.119200e-33)); insert(value_type(3.162278e+07, 1.233400e-33)); insert(value_type(3.981072e+07, 1.357900e-33)); insert(value_type(5.011872e+07, 1.492900e-33)); insert(value_type(6.309573e+07, 1.640300e-33)); insert(value_type(7.943282e+07, 1.800600e-33)); insert(value_type(1.000000e+08, 1.974800e-33)); insert(value_type(1.258925e+08, 2.164000e-33)); insert(value_type(1.584893e+08, 2.369300e-33)); insert(value_type(1.995262e+08, 2.592100e-33)); insert(value_type(2.511886e+08, 2.833800e-33)); insert(value_type(3.162278e+08, 3.095700e-33)); insert(value_type(3.981072e+08, 3.379500e-33)); insert(value_type(5.011872e+08, 3.687100e-33)); insert(value_type(6.309573e+08, 4.020100e-33)); insert(value_type(7.943282e+08, 4.380700e-33)); insert(value_type(1.000000e+09, 4.771000e-33)); insert(value_type(1.258925e+09, 5.193600e-33)); insert(value_type(1.584893e+09, 5.650800e-33)); insert(value_type(1.995262e+09, 6.145600e-33)); insert(value_type(2.511886e+09, 6.681000e-33)); insert(value_type(3.162278e+09, 7.264100e-33)); insert(value_type(3.981072e+09, 7.890700e-33)); insert(value_type(5.011872e+09, 8.565000e-33)); insert(value_type(6.309573e+09, 9.298500e-33)); insert(value_type(7.943282e+09, 1.009200e-32)); insert(value_type(1.000000e+10, 1.095000e-32)); insert(value_type(1.258925e+10, 1.187900e-32)); insert(value_type(1.584893e+10, 1.288300e-32)); insert(value_type(1.995262e+10, 1.397000e-32)); insert(value_type(2.511886e+10, 1.514600e-32)); insert(value_type(3.162278e+10, 1.641700e-32)); insert(value_type(3.981072e+10, 1.779300e-32)); insert(value_type(5.011872e+10, 1.928100e-32)); insert(value_type(6.309573e+10, 2.089200e-32)); insert(value_type(7.943282e+10, 2.263400e-32)); insert(value_type(1.000000e+11, 2.451900e-32)); insert(value_type(1.258925e+11, 2.655800e-32)); insert(value_type(1.584893e+11, 2.877300e-32)); insert(value_type(1.995262e+11, 3.116100e-32)); insert(value_type(2.511886e+11, 3.374500e-32)); insert(value_type(3.162278e+11, 3.654000e-32)); insert(value_type(3.981072e+11, 3.956600e-32)); insert(value_type(5.011872e+11, 4.284000e-32)); insert(value_type(6.309573e+11, 4.638100e-32)); insert(value_type(7.943282e+11, 5.021600e-32)); insert(value_type(1.000000e+12, 5.436400e-32)); transform(); compile(); } }; } static const JCCnu cc_nu; //!< Function object for charged current neutrino cross section [cm^2] as a function of neutrino energy [GeV] static const JNCnu nc_nu; //!< Function object for neutral current neutrino cross section [cm^2] as a function of neutrino energy [GeV] static const JCCnubar cc_nubar; //!< Function object for charged current anti-neutrino cross section [cm^2] as a function of neutrino energy [GeV] static const JNCnubar nc_nubar; //!< Function object for neutral current anti-neutrino cross section [cm^2] as a function of neutrino energy [GeV] } #endif