GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SmithMonizQELCCPXSec.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::SmithMonizQELCCPXSec
5 
6 \brief Computes neutrino-nucleon(nucleus) QELCC differential cross section.
7  Is a concrete implementation of the XSecAlgorithmI interface.
8 
9 \ref [1] R.A.Smith and E.J.Moniz,
10  Nuclear Physics B43, (1972) 605-622 \n
11  [2] K.S. Kuzmin, V.V. Lyubushkin, V.A.Naumov,
12  Eur. Phys. J. C54, (2008) 517-538
13 
14 \author Igor Kakorin <kakorin@jinr.ru>
15  Joint Institute for Nuclear Research \n
16 
17  adapted from fortran code provided by: \n
18 
19  Konstantin Kuzmin <kkuzmin@theor.jinr.ru>
20  Joint Institute for Nuclear Research \n
21 
22  Vladimir Lyubushkin
23  Joint Institute for Nuclear Research \n
24 
25  Vadim Naumov <vnaumov@theor.jinr.ru>
26  Joint Institute for Nuclear Research \n
27 
28  based on code of: \n
29  Costas Andreopoulos <c.andreopoulos \at cern.ch>
30  University of Liverpool
31 
32 \created May 05, 2017
33 
34 \cpright Copyright (c) 2003-2024, The GENIE Collaboration
35  For the full text of the license visit http://copyright.genie-mc.org
36 */
37 //____________________________________________________________________________
38 
39 #ifndef _SMITH_MONITZ_QELCC_CROSS_SECTION_H_
40 #define _SMITH_MONITZ_QELCC_CROSS_SECTION_H_
41 
45 
46 
47 namespace genie {
48 
49 class QELFormFactorsModelI;
50 class XSecIntegratorI;
51 
53 
54 public:
56  SmithMonizQELCCPXSec(string config);
57  virtual ~SmithMonizQELCCPXSec();
58 
59  // XSecAlgorithmI interface implementation
60  double XSec (const Interaction * i, KinePhaseSpace_t kps) const;
61  double Integral (const Interaction * i) const;
62  bool ValidProcess (const Interaction * i) const;
63 
64  // Override the Algorithm::Configure methods to load configuration
65  // data to private data members
66  void Configure (const Registry & config);
67  void Configure (string param_set);
68 
69 private:
71 
72  void LoadConfig (void);
73  double d3sQES_dQ2dvdkF_SM (const Interaction * interaction) const;
74  double dsQES_dQ2_SM(const Interaction * interaction) const;
75  double d2sQES_dQ2dv_SM(const Interaction * i) const;
76 
77  double fXSecScale; ///< external xsec scaling factor
81  double fVud2; ///< |Vud|^2(square of magnitude ud-element of CKM-matrix)
82 
83 
84 };
85 
86 
87 } // genie namespace
88 
89 #endif //_SMITH_MONITZ_QELCC_CROSS_SECTION_H_
Cross Section Calculation Interface.
A class holding Quasi Elastic (QEL) Form Factors.
Cross Section Integrator Interface.
void Configure(const Registry &config)
double Integral(const Interaction *i) const
double fXSecScale
external xsec scaling factor
double d2sQES_dQ2dv_SM(const Interaction *i) const
double d3sQES_dQ2dvdkF_SM(const Interaction *interaction) const
enum genie::EKinePhaseSpace KinePhaseSpace_t
Computes neutrino-nucleon(nucleus) QELCC differential cross section. Is a concrete implementation of ...
Summary information for an interaction.
Definition: Interaction.h:56
Pure abstract base class. Defines the QELFormFactorsModelI interface to be implemented by any algorit...
const QELFormFactorsModelI * fFormFactorsModel
double XSec(const Interaction *i, KinePhaseSpace_t kps) const
Compute the cross section for the input interaction.
const XSecIntegratorI * fXSecIntegrator
Contains auxiliary functions for Smith-Moniz model. .
bool ValidProcess(const Interaction *i) const
Can this cross section algorithm handle the input process?
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:65
double fVud2
|Vud|^2(square of magnitude ud-element of CKM-matrix)
double dsQES_dQ2_SM(const Interaction *interaction) const