GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
AlamSimoAtharVacasSKXSec.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::AlamSimoAtharVacasSKXSec
5 
6 \brief A cross-section integrator and GSL interface for the
7  M. Rafi Alam, I. Ruiz Simo, M. Sajjad Athar and M.J. Vicente Vacas
8  single-Kaon production model.
9  Is a concrete implementation of the XSecIntegratorI interface.
10 
11 \author Chris Marshall and Martti Nirkko
12 
13 \created March 20, 2014
14 
15 \cpright Copyright (c) 2003-2024, The GENIE Collaboration
16  For the full text of the license visit http://copyright.genie-mc.org
17 */
18 //____________________________________________________________________________
19 
20 #ifndef _ALAM_SIMO_ATHAR_VACAS_SINGLE_KAON_XSEC_H_
21 #define _ALAM_SIMO_ATHAR_VACAS_SINGLE_KAON_XSEC_H_
22 
23 #include <Math/Integrator.h>
24 #include <Math/IFunction.h>
25 #include <Math/IntegratorMultiDim.h>
26 
28 
29 namespace genie {
30 
31 class XSecAlgorithmI;
32 class Interaction;
33 
35 public:
37  AlamSimoAtharVacasSKXSec(string config);
38  virtual ~AlamSimoAtharVacasSKXSec();
39 
40  // XSecIntegratorI interface implementation
41  double Integrate(const XSecAlgorithmI * model, const Interaction * i) const;
42 
43  // Overload the Algorithm::Configure() methods to load private data
44  // members from configuration options
45  void Configure(const Registry & config);
46  void Configure(string config);
47 
48 protected:
50 
51 private:
52  void LoadConfig (void);
53 };
54 
55 //_____________________________________________________________________________________
56 //
57 // GSL wrappers
58 //
59 //_____________________________________________________________________________________
60 
61  namespace utils {
62  namespace gsl {
63 
64  class d3Xsec_dTldTkdCosThetal: public ROOT::Math::IBaseFunctionMultiDim
65  {
66  public:
69  // ROOT::Math::IBaseFunctionMultiDim interface
70  unsigned int NDim (void) const;
71  double DoEval (const double * xin) const;
72  ROOT::Math::IBaseFunctionMultiDim * Clone (void) const;
73  private:
76  };
77 
78  } // gsl namespace
79  } // utils namespace
80 
81 } // genie namespace
82 
83 #endif // _ALAM_SIMO_ATHAR_VACAS_SINGLE_KAON_XSEC_H_
ROOT::Math::IBaseFunctionMultiDim * Clone(void) const
Cross Section Calculation Interface.
Cross Section Integrator Interface.
Summary information for an interaction.
Definition: Interaction.h:56
d3Xsec_dTldTkdCosThetal(const XSecAlgorithmI *m, const Interaction *i)
double Integrate(const XSecAlgorithmI *model, const Interaction *i) const
void Configure(const Registry &config)
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:65
A cross-section integrator and GSL interface for the M. Rafi Alam, I. Ruiz Simo, M. Sajjad Athar and M.J. Vicente Vacas single-Kaon production model. Is a concrete implementation of the XSecIntegratorI interface.
static constexpr double m
Definition: Units.h:71