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 <constantinos.andreopoulos \at cern.ch>
30  University of Liverpool & STFC Rutherford Appleton Laboratory
31 
32 \created May 05, 2017
33 
34 \cpright Copyright (c) 2003-2020, 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:
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  mutable int fn_NT;
83  mutable double fQ2;
84  mutable double fv;
85  mutable double fE_nu;
86  mutable double fE_lep;
87  mutable double fmm_ini;
88  mutable double fmm_fin;
89  mutable double fm_tar;
90  mutable double fmm_tar;
91  mutable double fk1;
92  mutable double fk2;
93  mutable double fk7;
94  mutable double fqv;
95  mutable double fqqv;
96  mutable double fcosT_k;
97  mutable double fF_V;
98  mutable double fF_M;
99  mutable double fF_A;
100  mutable double fF_P;
101  mutable double fFF_V;
102  mutable double fFF_M;
103  mutable double fFF_A;
104  mutable double fW_1;
105  mutable double fW_2;
106  mutable double fW_3;
107  mutable double fW_4;
108  mutable double fW_5;
109 
110 
111 };
112 
113 
114 } // genie namespace
115 
116 #endif //_SMITH_MONITZ_QELCC_CROSS_SECTION_H_
Cross Section Calculation Interface.
A class holding Quasi Elastic (QEL) Form Factors.
THE MAIN GENIE PROJECT NAMESPACE
Definition: AlgCmp.h:25
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...
static Config * config
Definition: config.cpp:1054
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