GENIEGenerator
Loading...
Searching...
No Matches
SmithMonizQELCCXSec.h
Go to the documentation of this file.
1//____________________________________________________________________________
2/*!
3
4\class genie::SmithMonizQELCCXSec
5
6\brief Computes the Quasi Elastic (QEL) cross section by Smith Moniz model. \n
7 Is a concrete implementation of the XSecIntegratorI interface. \n
8
9\author Igor Kakorin <kakorin@jinr.ru>
10 Joint Institute for Nuclear Research \n
11
12 adapted from fortran code provided by: \n
13
14 Konstantin Kuzmin <kkuzmin@theor.jinr.ru>
15 Joint Institute for Nuclear Research \n
16
17 Vadim Naumov <vnaumov@theor.jinr.ru>
18 Joint Institute for Nuclear Research \n
19
20 based on code of: \n
21 Costas Andreopoulos <c.andreopoulos \at cern.ch>
22 University of Liverpool
23
24\created May 05, 2017
25
26\cpright Copyright (c) 2003-2025, The GENIE Collaboration
27 For the full text of the license visit http://copyright.genie-mc.org
28
29*/
30//____________________________________________________________________________
31
32#ifndef _SMITH_MONIZ_QEL_XSEC_H_
33#define _SMITH_MONIZ_QEL_XSEC_H_
34
35#include <Math/IFunction.h>
36
39
40namespace genie {
41
42
43
45
46public:
48 SmithMonizQELCCXSec(string config);
49 virtual ~SmithMonizQELCCXSec();
50
51 //! XSecIntegratorI interface implementation
52 double Integrate(const XSecAlgorithmI * model, const Interaction * i) const;
53
54 //! Overload the Algorithm::Configure() methods to load private data
55 //! members from configuration options
56 void Configure(const Registry & config);
57 void Configure(string config);
58
59protected:
60 string fGSLIntgType2D; ///< name of GSL 2D numerical integrator
61 double fGSLRelTol2D; ///< required relative tolerance (error) for 2D integrator
62
63private:
65
66 void LoadConfig (void);
67
68};
69
70//_____________________________________________________________________________________
71//
72// GSL wrappers
73//
74//_____________________________________________________________________________________
75
76 namespace utils {
77 namespace gsl {
78
79 class d2Xsec_dQ2dv: public ROOT::Math::IBaseFunctionMultiDim
80 {
81 public:
82 d2Xsec_dQ2dv(const XSecAlgorithmI * m, const Interaction * i);
84 // ROOT::Math::IBaseFunctionMultiDim interface
85 unsigned int NDim (void) const;
86 double DoEval (const double * xin) const;
87 ROOT::Math::IBaseFunctionMultiDim * Clone (void) const;
88
89 private:
94 };
95
96
97 } // gsl namespace
98 } // utils namespace
99
100} // genie namespace
101#endif // _SMITH_MONIZ_QEL_XSEC_H_
Summary information for an interaction.
Definition Interaction.h:56
A simple [min,max] interval for doubles.
Definition Range1.h:43
A registry. Provides the container for algorithm configuration parameters.
Definition Registry.h:65
string fGSLIntgType2D
name of GSL 2D numerical integrator
void Configure(const Registry &config)
double Integrate(const XSecAlgorithmI *model, const Interaction *i) const
XSecIntegratorI interface implementation.
double fGSLRelTol2D
required relative tolerance (error) for 2D integrator
Contains auxiliary functions for Smith-Moniz model. .
Cross Section Calculation Interface.
ROOT::Math::IBaseFunctionMultiDim * Clone(void) const
d2Xsec_dQ2dv(const XSecAlgorithmI *m, const Interaction *i)
double DoEval(const double *xin) const
Root of GENIE utility namespaces.
THE MAIN GENIE PROJECT NAMESPACE
Definition AlgCmp.h:25