GENIEGenerator
Loading...
Searching...
No Matches
XSecIntegratorI.h
Go to the documentation of this file.
1//____________________________________________________________________________
2/*!
3
4\class genie::XSecIntegratorI
5
6\brief Cross Section Integrator Interface.
7
8\author Costas Andreopoulos <c.andreopoulos \at cern.ch>
9 University of Liverpool
10
11\created May 03, 2004
12
13\cpright Copyright (c) 2003-2025, The GENIE Collaboration
14 For the full text of the license visit http://copyright.genie-mc.org
15*/
16//____________________________________________________________________________
17
18#ifndef _XSEC_INTEGRATOR_I_H_
19#define _XSEC_INTEGRATOR_I_H_
20
24
25namespace genie {
26
27class IntegratorI;
28
29 class XSecIntegratorI : public Algorithm {
30
31public:
32 virtual ~XSecIntegratorI();
33
34 virtual double Integrate(const XSecAlgorithmI * model,
35 const Interaction * interaction
36 /*, const KPhaseSpaceCut * cut=0*/) const= 0;
37protected:
39 XSecIntegratorI(string name);
40 XSecIntegratorI(string name, string config);
41
42 const IntegratorI * fIntegrator; ///< GENIE numerical integrator
43
44 string fGSLIntgType; ///< name of GSL numerical integrator
45 double fGSLRelTol; ///< required relative tolerance (error)
46 int fGSLMaxEval; ///< GSL max evaluations
47 int fGSLMinEval; ///< GSL min evaluations. Ignored by some integrators.
48 unsigned int fGSLMaxSizeOfSubintervals; ///< GSL maximum number of sub-intervals for 1D integrator
49 unsigned int fGSLRule; ///< GSL Gauss-Kronrod integration rule (only for GSL 1D adaptive type)
50
51};
52
53} // genie namespace
54#endif // _XSEC_INTEGRATOR_I_H_
Summary information for an interaction.
Definition Interaction.h:56
Cross Section Calculation Interface.
int fGSLMinEval
GSL min evaluations. Ignored by some integrators.
string fGSLIntgType
name of GSL numerical integrator
unsigned int fGSLMaxSizeOfSubintervals
GSL maximum number of sub-intervals for 1D integrator.
unsigned int fGSLRule
GSL Gauss-Kronrod integration rule (only for GSL 1D adaptive type)
int fGSLMaxEval
GSL max evaluations.
virtual double Integrate(const XSecAlgorithmI *model, const Interaction *interaction) const =0
double fGSLRelTol
required relative tolerance (error)
const IntegratorI * fIntegrator
GENIE numerical integrator.
THE MAIN GENIE PROJECT NAMESPACE
Definition AlgCmp.h:25