GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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-2024, 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 
25 namespace genie {
26 
27 class IntegratorI;
28 
29  class XSecIntegratorI : public Algorithm {
30 
31 public:
32  virtual ~XSecIntegratorI();
33 
34  virtual double Integrate(const XSecAlgorithmI * model,
35  const Interaction * interaction
36  /*, const KPhaseSpaceCut * cut=0*/) const= 0;
37 protected:
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_
Cross Section Calculation Interface.
string fGSLIntgType
name of GSL numerical integrator
Cross Section Integrator Interface.
Algorithm abstract base class.
Definition: Algorithm.h:54
const IntegratorI * fIntegrator
GENIE numerical integrator.
unsigned int fGSLRule
GSL Gauss-Kronrod integration rule (only for GSL 1D adaptive type)
Summary information for an interaction.
Definition: Interaction.h:56
int fGSLMaxEval
GSL max evaluations.
unsigned int fGSLMaxSizeOfSubintervals
GSL maximum number of sub-intervals for 1D integrator.
virtual double Integrate(const XSecAlgorithmI *model, const Interaction *interaction) const =0
int fGSLMinEval
GSL min evaluations. Ignored by some integrators.
double fGSLRelTol
required relative tolerance (error)