MartiniEricsonChanfrayMarteauMECPXSec2016.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::MartiniEricsonChanfrayMarteauMECPXSec2016
5 
6 \brief Computes the Martini, Ericson, Chanfray and Marteau MEC model
7  differential cross section.
8  Uses precomputed hadon tensor tables.
9  Is a concrete implementation of the XSecAlgorithmI interface.
10 
11 \author Sara Bolognesi <sara.bolognesi@cea.fr>
12  CEA Saclay
13 
14  Marco Martini
15  CEA Saclay
16 
17 \ref M. Martini, M. Ericson, G. Chanfray, J. Marteau.
18  Neutrino and antineutrino quasielastic interactions with nuclei
19  Phys.Rev. C81 (2010) 045502
20 
21 \created Mar 30, 2016
22 
23 \cpright Copyright (c) 2003-2020, The GENIE Collaboration
24  For the full text of the license visit http://copyright.genie-mc.org
25 */
26 //____________________________________________________________________________
27 
28 #ifndef _MARTINI_ERICSON_CHANFRAY_MARTEAU_MEC_PXSEC_2016_H_
29 #define _MARTINI_ERICSON_CHANFRAY_MARTEAU_MEC_PXSEC_2016_H_
30 
31 #include <vector>
32 
34 
35 using std::vector;
36 
37 namespace genie {
38 
39 class XSecIntegratorI;
40 
42 
43 public:
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  const XSecIntegratorI * fXSecIntegrator; // Numerical integrator (GSL)
64 
65 };
66 
67 } // genie namespace
68 #endif // _MARTINI_ERICSON_CHANFRAY_MARTEAU_MEC_PXSEC_2016_H_
Computes the Martini, Ericson, Chanfray and Marteau MEC model differential cross section. Uses precomputed hadon tensor tables. Is a concrete implementation of the XSecAlgorithmI interface.
Cross Section Calculation Interface.
THE MAIN GENIE PROJECT NAMESPACE
Definition: AlgCmp.h:25
Cross Section Integrator Interface.
struct vector vector
enum genie::EKinePhaseSpace KinePhaseSpace_t
Summary information for an interaction.
Definition: Interaction.h:56
static Config * config
Definition: config.cpp:1054
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?
double XSec(const Interaction *i, KinePhaseSpace_t k) const
Compute the cross section for the input interaction.