GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
NievesSimoVacasMECPXSec2016.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::NievesSimoVacasMECPXSec2016
5 
6 \brief Computes the Valencia MEC model differential cross section.
7  Uses precomputed hadon tensor tables.
8  Is a concrete implementation of the XSecAlgorithmI interface.
9 
10 \author Code contributed by J. Schwehr, D. Cherdack, R. Gran and described
11  in arXiv:1601.02038 and some of the refereces there-in,
12  in particular PRD 88 (2013) 113007
13 
14  Substantial code refactorizations by the core GENIE group.
15 
16  Refactored in 2018 by S. Gardiner to use the new hadron tensor
17  framework
18 
19 \ref J. Nieves, I. Ruiz Simo, M.J. Vicente Vacas,
20  Inclusive quasi-elastic neutrino reactions, PRC 83 (2011) 045501
21 
22 \created Mar 22, 2016
23 
24 \cpright Copyright (c) 2003-2024, The GENIE Collaboration
25  For the full text of the license visit http://copyright.genie-mc.org
26 */
27 //____________________________________________________________________________
28 
29 #ifndef _NIEVES_SIMO_VACAS_MEC_PXSEC_2016_H_
30 #define _NIEVES_SIMO_VACAS_MEC_PXSEC_2016_H_
31 
36 
37 namespace genie {
38 
39 class XSecIntegratorI;
40 
42 
43 public:
45  NievesSimoVacasMECPXSec2016(string config);
47 
48  // XSecAlgorithmI interface implementation
49  double XSec (const Interaction * i, KinePhaseSpace_t k) const;
50  double Integral (const Interaction * i) const;
51  bool ValidProcess (const Interaction * i) const;
52 
53  // override the Algorithm::Configure methods to load configuration
54  // data to private data members
55  void Configure (const Registry & config);
56  void Configure (string config);
57 
58 private:
59 
60  // Load algorithm configuration
61  void LoadConfig (void);
62 
63  double fXSecCCScale; ///< external xsec scaling factor
64  double fXSecNCScale; ///< external xsec scaling factor
65 
67 
68  const XSecIntegratorI * fXSecIntegrator; // Numerical integrator (GSL)
69 
70  const XSecScaleI * fMECScaleAlg ; // Optional algorithm to scale the xsec as a function of W
71  const QvalueShifter * fQvalueShifter ; // Optional algorithm to retrieve the qvalue shift for a given target
72 };
73 
74 } // genie namespace
75 #endif // _NIEVES_SIMO_VACAS_MEC_PXSEC_2016_H_
Cross Section Calculation Interface.
Cross Section Integrator Interface.
This class is responsible to compute a scaling factor for the XSec.
Definition: XSecScaleI.h:25
double XSec(const Interaction *i, KinePhaseSpace_t k) const
Compute the cross section for the input interaction.
double fXSecCCScale
external xsec scaling factor
enum genie::EKinePhaseSpace KinePhaseSpace_t
double fXSecNCScale
external xsec scaling factor
Summary information for an interaction.
Definition: Interaction.h:56
Computes the Valencia MEC model differential cross section. Uses precomputed hadon tensor tables...
double Integral(const Interaction *i) const
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:65
bool ValidProcess(const Interaction *i) const
Can this cross section algorithm handle the input process?
Creates hadron tensor objects for use in cross section calculations.