10 #include <Math/IFunction.h>
11 #include <Math/IntegratorMultiDim.h>
12 #include "Math/AdaptiveIntegratorMultiDim.h"
15 #include "Framework/Conventions/GBuild.h"
35 using namespace genie;
36 using namespace genie::constants;
37 using namespace genie::controls;
38 using namespace genie::utils;
65 LOG(
"MECXSec",
pDEBUG) <<
"*** Below energy threshold";
76 double TMax = Enu - LepMass;
78 double CosthMax = 1.0;
79 double CosthMin = -1.0;
84 TMin = TMath::Sqrt(TMath::Power(LepMass, 2) + TMath::Power((Enu -
fQ3Max), 2)) - LepMass;
85 CosthMin = TMath::Sqrt(1 - TMath::Power((
fQ3Max / Enu ), 2));
88 double kine_min[2] = { TMin, CosthMin };
89 double kine_max[2] = { TMax, CosthMax };
95 ROOT::Math::IntegrationMultiDim::Type ig_type =
99 xsec = ig.Integral(kine_min, kine_max);
Cross Section Calculation Interface.
const KPhaseSpace & PhaseSpace(void) const
string fGSLIntgType
name of GSL numerical integrator
Cross Section Integrator Interface.
ROOT::Math::IntegrationMultiDim::Type IntegrationNDimTypeFromString(string type)
double Integrate(const XSecAlgorithmI *model, const Interaction *i) const
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)
void Configure(const Registry &config)
double func(double x, double y)
const UInt_t kISkipKinematicChk
if set, skip kinematic validity checks
virtual bool ValidProcess(const Interaction *i) const =0
Can this cross section algorithm handle the input process?
TParticlePDG * FSPrimLepton(void) const
final state primary lepton
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.
const InitialState & InitState(void) const
bool GetParamDef(const RgKey &name, T &p, const T &def) const
bool GetParam(const RgKey &name, T &p, bool is_top_call=true) const
double ProbeE(RefFrame_t rf) const
Most commonly used PDG codes. A set of utility functions to handle PDG codes is provided in PDGUtils...
const UInt_t kISkipProcessChk
if set, skip process validity checks
double fGSLRelTol
required relative tolerance (error)