18 #ifndef _GENIE_XSEC_FUNCTION_GSL_WRAPPERS_H_
19 #define _GENIE_XSEC_FUNCTION_GSL_WRAPPERS_H_
21 #include <Math/IFunction.h>
22 #include <Math/IntegratorMultiDim.h>
48 unsigned int NDim (
void)
const;
49 double DoEval (
double xin)
const;
50 ROOT::Math::IBaseFunctionOneDim *
Clone (
void)
const;
70 unsigned int NDim (
void)
const;
71 double DoEval (
double xin)
const;
72 ROOT::Math::IBaseFunctionOneDim *
Clone (
void)
const;
88 double DNuMass,
double scale=1.);
92 unsigned int NDim (
void)
const;
93 double DoEval (
double xin)
const;
94 ROOT::Math::IBaseFunctionOneDim *
Clone (
void)
const;
116 unsigned int NDim (
void)
const;
117 double DoEval (
const double * xin)
const;
118 ROOT::Math::IBaseFunctionMultiDim *
Clone (
void)
const;
137 unsigned int NDim (
void)
const;
138 double DoEval (
const double * xin)
const;
139 ROOT::Math::IBaseFunctionMultiDim *
Clone (
void)
const;
159 unsigned int NDim (
void)
const;
160 double DoEval (
const double * xin)
const;
161 ROOT::Math::IBaseFunctionMultiDim *
Clone (
void)
const;
180 unsigned int NDim (
void)
const;
181 double DoEval (
const double * xin)
const;
182 ROOT::Math::IBaseFunctionMultiDim *
Clone (
void)
const;
201 unsigned int NDim (
void)
const;
202 double DoEval (
const double * xin)
const;
203 ROOT::Math::IBaseFunctionMultiDim *
Clone (
void)
const;
222 unsigned int NDim (
void)
const;
223 double DoEval (
const double * xin)
const;
224 ROOT::Math::IBaseFunctionMultiDim *
Clone (
void)
const;
243 unsigned int NDim (
void)
const;
244 double DoEval (
double xin)
const;
245 ROOT::Math::IBaseFunctionOneDim *
Clone (
void)
const;
265 unsigned int NDim (
void)
const;
266 double DoEval (
double xin)
const;
267 ROOT::Math::IBaseFunctionOneDim *
Clone (
void)
const;
287 unsigned int NDim (
void)
const;
288 double DoEval (
double xin)
const;
289 ROOT::Math::IBaseFunctionOneDim *
Clone (
void)
const;
309 unsigned int NDim (
void)
const;
310 double DoEval (
double xin)
const;
311 ROOT::Math::IBaseFunctionOneDim *
Clone (
void)
const;
325 class d5XSecAR :
public ROOT::Math::IBaseFunctionMultiDim
331 unsigned int NDim (
void)
const;
332 double DoEval (
const double * xin)
const;
333 ROOT::Math::IBaseFunctionMultiDim *
Clone (
void)
const;
355 unsigned int NDim (
void)
const;
356 double DoEval (
const double * xin)
const;
357 ROOT::Math::IBaseFunctionMultiDim *
Clone (
void)
const;
377 unsigned int NDim (
void)
const;
378 double DoEval (
const double * xin)
const;
379 ROOT::Math::IBaseFunctionMultiDim *
Clone (
void)
const;
402 unsigned int NDim (
void)
const;
403 double DoEval (
const double * xin)
const;
407 void SetE_lep (
double E_lepton)
const;
426 string gsl_nd_integrator_type,
double gsl_relative_tolerance,
427 unsigned int max_n_calls);
433 double DoEval (
double xin)
const;
460 bool * ifLog,
double * min,
double * maxes);
464 unsigned int NDim (
void)
const;
465 double DoEval (
const double * xin)
const;
466 ROOT::Math::IBaseFunctionMultiDim *
Clone (
void)
const;
469 const ROOT::Math::IBaseFunctionMultiDim *
fFn;
486 unsigned int NDim (
void)
const;
487 double DoEval (
const double * xin)
const;
488 ROOT::Math::IBaseFunctionMultiDim *
Clone (
void)
const;
506 unsigned int NDim (
void)
const;
507 double DoEval (
const double * xin)
const;
508 ROOT::Math::IBaseFunctionMultiDim *
Clone (
void)
const;
const XSecAlgorithmI * fModel
unsigned int NDim(void) const
Cross Section Calculation Interface.
const XSecAlgorithmI * fModel
double DoEval(const double *xin) const
unsigned int NDim(void) const
const Interaction * fInteraction
unsigned int NDim(void) const
const XSecAlgorithmI * fModel
double DoEval(const double *xin) const
const Interaction * fInteraction
double DoEval(double xin) const
const Interaction * fInteraction
Range1D_t IntegrationRange(void) const
d2XSec_dQ2dydt_E(const XSecAlgorithmI *m, const Interaction *i)
double DoEval(double xin) const
ROOT::Math::IBaseFunctionMultiDim * Clone(void) const
double DoEval(const double *xin) const
unsigned int fGSLMaxCalls
double Q2(const Interaction *const i)
unsigned int NDim(void) const
ROOT::Math::IBaseFunctionOneDim * Clone(void) const
d3Xsec_dOmegaldThetapi * Clone(void) const
dXSec_dQ2_E(const XSecAlgorithmI *m, const Interaction *i, double scale=1.)
double DoEval(double xin) const
ROOT::Math::IBaseFunctionOneDim * Clone(void) const
A simple [min,max] interval for doubles.
unsigned int NDim(void) const
const Interaction * fInteraction
double DoEval(double xin) const
ROOT::Math::IBaseFunctionMultiDim * Clone(void) const
double DoEval(const double *xin) const
ROOT::Math::IBaseFunctionMultiDim * Clone(void) const
const Interaction * fInteraction
const XSecAlgorithmI * fModel
const XSecAlgorithmI * fModel
d5XSecAR(const XSecAlgorithmI *m, const Interaction *i)
unsigned int NDim(void) const
double DoEval(const double *xin) const
unsigned int NDim(void) const
const Interaction * fInteraction
const Interaction * fInteraction
double DoEval(double xin) const
ROOT::Math::IBaseFunctionMultiDim * Clone(void) const
const Interaction * fInteraction
const XSecAlgorithmI * fModel
double DoEval(double xin) const
double DoEval(const double *xin) const
d3Xsec_dOmegaldThetapi(const XSecAlgorithmI *m, const Interaction *i)
ROOT::Math::IBaseFunctionMultiDim * Clone(void) const
unsigned int NDim(void) const
double DoEval(double xin) const
static constexpr double b
double W(const Interaction *const i)
d2XSec_dxdy_Ex(const XSecAlgorithmI *m, const Interaction *i, double x)
unsigned int NDim(void) const
const XSecAlgorithmI * fModel
dXSec_dEDNu_E(const XSecAlgorithmI *m, const Interaction *i, double DNuMass, double scale=1.)
Summary information for an interaction.
ROOT::Math::IBaseFunctionOneDim * Clone(void) const
unsigned int NDim(void) const
double DoEval(double xin) const
const Interaction * fInteraction
ROOT::Math::IBaseFunctionOneDim * Clone(void) const
const Interaction * fInteraction
~d4Xsec_dEldThetaldOmegapi()
const XSecAlgorithmI * fModel
d3XSec_dxdydt_E(const XSecAlgorithmI *m, const Interaction *i)
unsigned int NDim(void) const
dXSec_Log_Wrapper(const ROOT::Math::IBaseFunctionMultiDim *fn, bool *ifLog, double *min, double *maxes)
const XSecAlgorithmI * fModel
d2XSec_dWdQ2_EQ2(const XSecAlgorithmI *m, const Interaction *i, double Q2)
ROOT::Math::IBaseFunctionMultiDim * Clone(void) const
double DoEval(const double *xin) const
const XSecAlgorithmI * fModel
ROOT::Math::IBaseFunctionMultiDim * Clone(void) const
const XSecAlgorithmI * fModel
const Interaction * fInteraction
~d5Xsec_dEldOmegaldOmegapi()
ROOT::Math::IBaseFunctionMultiDim * Clone(void) const
dXSec_dy_E(const XSecAlgorithmI *m, const Interaction *i)
void SetE_lep(double E_lepton) const
unsigned int NDim(void) const
d2XSec_dQ2dy_E(const XSecAlgorithmI *m, const Interaction *i)
const Interaction * fInteraction
double DoEval(const double *xin) const
unsigned int NDim(void) const
const Interaction * fInteraction
const XSecAlgorithmI * fModel
ROOT::Math::IBaseFunctionOneDim * Clone(void) const
void SetFactor(double factor)
unsigned int NDim(void) const
const Interaction * fInteraction
const XSecAlgorithmI * fModel
d2XSec_dxdy_Ey(const XSecAlgorithmI *m, const Interaction *i, double x)
const XSecAlgorithmI * fModel
d2Xsec_dn1dn2_E(const XSecAlgorithmI *m, const Interaction *i, double scale=1.)
ROOT::Math::IBaseFunctionMultiDim * Clone(void) const
const Interaction * fInteraction
const Interaction * fInteraction
d2XSec_dxdy_E(const XSecAlgorithmI *m, const Interaction *i)
string fGSLIntegratorType
const genie::utils::gsl::d3Xsec_dOmegaldThetapi * func
double DoEval(const double *xin) const
const XSecAlgorithmI * fModel
const XSecAlgorithmI * fModel
ROOT::Math::IBaseFunctionMultiDim * Clone(void) const
d5Xsec_dEldOmegaldOmegapi(const XSecAlgorithmI *m, const Interaction *i)
unsigned int NDim(void) const
d4Xsec_dEldThetaldOmegapi(const XSecAlgorithmI *m, const Interaction *i)
const Interaction * fInteraction
const Interaction * fInteraction
~d2XSec_dlog10xdlog10Q2_E()
unsigned int NDim(void) const
ROOT::Math::IBaseFunctionMultiDim * Clone(void) const
d2XSec_dlog10xdlog10Q2_E(const XSecAlgorithmI *m, const Interaction *i, double scale=1.)
d2XSec_dWdQ2_E(const XSecAlgorithmI *m, const Interaction *i)
const Interaction * fInteraction
double DoEval(const double *xin) const
~d3Xsec_dOmegaldThetapi()
unsigned int NDim(void) const
unsigned int NDim(void) const
const XSecAlgorithmI * fModel
double DoEval(const double *xin) const
const ROOT::Math::IBaseFunctionMultiDim * fFn
ROOT::Math::IBaseFunctionMultiDim * Clone(void) const
d2Xsec_dn1dn2dn3_E(const XSecAlgorithmI *m, const Interaction *i, double scale=1.)
ROOT::Math::IBaseFunctionOneDim * Clone(void) const
unsigned int NDim(void) const
d2XSec_dWdQ2_EW(const XSecAlgorithmI *m, const Interaction *i, double W)
const Interaction * fInteraction
ROOT::Math::IBaseFunctionOneDim * Clone(void) const
ROOT::Math::IntegratorMultiDim integrator
dXSec_dElep_AR * Clone(void) const
double DoEval(const double *xin) const
static constexpr double m
const XSecAlgorithmI * fModel
const XSecAlgorithmI * fModel
double DoEval(const double *xin) const
const XSecAlgorithmI * fModel
unsigned int NDim(void) const