16 #include <Math/IFunction.h> 17 #include <Math/Integrator.h> 18 #include <Math/IntegratorMultiDim.h> 19 #include "Math/AdaptiveIntegratorMultiDim.h" 33 using namespace genie;
65 LOG(
"COHXSecAR",
pDEBUG) <<
"*** Below energy threshold";
73 double Elep_min = (1.-y_lim.
max) * Enu;
74 double Elep_max = (1.-y_lim.
min) * Enu;
77 <<
"Lepton energy integration range = [" << Elep_min <<
", " << Elep_max <<
"]";
95 ROOT::Math::Integrator ig(*func,ig_type,abstol,
fGSLRelTol,size,rule);
97 xsec = ig.Integral(Elep_min, Elep_max) * (1
E-38 *
units::cm2);
110 ROOT::Math::IBaseFunctionMultiDim *
func =
112 double kine_min[4] = { Elep_min,
zero ,
zero , zero };
113 double kine_max[4] = { Elep_max,
pi ,
pi , twopi };
121 xsec = ig.Integral(kine_min, kine_max) * (1
E-38 *
units::cm2);
Cross Section Calculation Interface.
const KPhaseSpace & PhaseSpace(void) const
string fGSLIntgType
name of GSL numerical integrator
THE MAIN GENIE PROJECT NAMESPACE
Cross Section Integrator Interface.
ROOT::Math::IntegrationMultiDim::Type IntegrationNDimTypeFromString(string type)
A simple [min,max] interval for doubles.
double Integrate(const XSecAlgorithmI *model, const Interaction *i) const
Range1D_t Limits(KineVar_t kvar) const
Return the kinematical variable limits.
void Configure(const Registry &config)
Summary information for an interaction.
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
virtual void Configure(const Registry &config)
double func(double x, double y)
static const double kASmallNum
Misc GENIE control constants.
int fGSLMaxEval
GSL max evaluations.
A registry. Provides the container for algorithm configuration parameters.
bool IsAboveThreshold(void) const
Checks whether the interaction is above the energy threshold.
virtual bool ValidProcess(const Interaction *i) const =0
Can this cross section algorithm handle the input process?
bool GetParamDef(const RgKey &name, T &p, const T &def) const
const XML_Char XML_Content * model
double ProbeE(RefFrame_t rf) const
Root of GENIE utility namespaces.
const UInt_t kISkipProcessChk
if set, skip process validity checks
Initial State information.
double fGSLRelTol
required relative tolerance (error)