SuSAv2QELPXSec.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::SuSAv2QELPXSec
5 
6 \brief Computes the SuSAv2-QE model differential cross section.
7  Uses precomputed hadron tensor tables.
8  Is a concrete implementation of the XSecAlgorithmI interface.
9 
10 \author Steven Gardiner <gardiner \at fnal.gov>
11  Fermi National Acclerator Laboratory
12 
13  Stephen Dolan <stephen.joseph.dolan \at cern.ch>
14  European Organization for Nuclear Research (CERN)
15 
16 \ref G.D. Megias et al., "Meson-exchange currents and quasielastic
17  predictions for charged-current neutrino-12C scattering in the
18  superscaling approach," PRD 91 (2015) 073004
19 
20 \created November 2, 2018
21 
22 \cpright Copyright (c) 2003-2019, The GENIE Collaboration
23  For the full text of the license visit http://copyright.genie-mc.org
24  or see $GENIE/LICENSE
25 */
26 //____________________________________________________________________________
27 
28 #ifndef _SUSAV2_QE_PXSEC_H_
29 #define _SUSAV2_QE_PXSEC_H_
30 
35 
36 namespace genie {
37 
38 class XSecIntegratorI;
39 
41 
42 public:
43 
45  SuSAv2QELPXSec(string config);
46  virtual ~SuSAv2QELPXSec();
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  /// External scaling factor for this cross section
64  double fXSecScale;
65 
67 
68  // Fermi momentum table used for scaling
69  string fKFTable;
70 
71  // Binding energies:
72  double fEbHe;
73  double fEbLi;
74  double fEbC;
75  double fEbO;
76  double fEbMg;
77  double fEbAr;
78  double fEbCa;
79  double fEbFe;
80  double fEbNi;
81  double fEbSn;
82  double fEbAu;
83  double fEbPb;
84 
85  /// GSL numerical integrator
87 
88  /// Alternate cross section model for free nucleon targets
90 
91  const QvalueShifter * fQvalueShifter ; // Gives the option to retrieve a qvalue shift for a given target
92 };
93 
94 } // genie namespace
95 #endif // _SUSAV2_QE_PXSEC_H_
Cross Section Calculation Interface.
void LoadConfig(void)
Load algorithm configuration.
THE MAIN GENIE PROJECT NAMESPACE
Definition: AlgCmp.h:25
Cross Section Integrator Interface.
const XSecIntegratorI * fXSecIntegrator
GSL numerical integrator.
const QvalueShifter * fQvalueShifter
enum genie::EKinePhaseSpace KinePhaseSpace_t
double XSec(const Interaction *i, KinePhaseSpace_t k) const
Compute the cross section for the input interaction.
Summary information for an interaction.
Definition: Interaction.h:56
static Config * config
Definition: config.cpp:1054
const HadronTensorModelI * fHadronTensorModel
const XSecAlgorithmI * fFreeNucleonXSecAlg
Alternate cross section model for free nucleon targets.
double fXSecScale
External scaling factor for this cross section.
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
Computes the SuSAv2-QE model differential cross section. Uses precomputed hadron tensor tables...
Creates hadron tensor objects for use in cross section calculations.
void Configure(const Registry &config)
double Integral(const Interaction *i) const