GENIEGenerator
Loading...
Searching...
No Matches
SuSAv2MECPXSec.h
Go to the documentation of this file.
1//____________________________________________________________________________
2/*!
3
4\class genie::SuSAv2MECPXSec
5
6\brief Computes the SuSAv2-MEC 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-2025, 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_MEC_PXSEC_H_
29#define _SUSAV2_MEC_PXSEC_H_
30
35
36namespace genie {
37
38class XSecIntegratorI;
39
41
42public:
43
45 SuSAv2MECPXSec(string config);
46 virtual ~SuSAv2MECPXSec();
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 // Method specifically for evaluating np/pp pair probabilities
59 double PairRatio(const Interaction* i,
60 const std::string& final_state_ratio = "pnFraction") const;
61
62private:
63
64 /// Load algorithm configuration
65 void LoadConfig (void);
66
67 // Calculate Qvalue Shift for susa:
68 double Qvalue(const Interaction & interaction ) const ;
69
70 /// External scaling factor for this cross section
74
76
77 // Fermi momentum table used for scaling
78 string fKFTable;
79
80 // Binding energies:
81 double fEbHe;
82 double fEbLi;
83 double fEbC;
84 double fEbO;
85 double fEbMg;
86 double fEbAr;
87 double fEbCa;
88 double fEbFe;
89 double fEbNi;
90 double fEbSn;
91 double fEbAu;
92 double fEbPb;
93
94 /// GSL numerical integrator
96
97 const XSecScaleI * fMECScaleAlg ; // Optional algorithm to scale the xsec as a function of W
98 const QvalueShifter * fQvalueShifter ; // Optional algorithm to retrieve the qvalue shift for a given target
99
100};
101
102} // genie namespace
103#endif // _SUSAV2_MEC_PXSEC_H_
Creates hadron tensor objects for use in cross section calculations.
Summary information for an interaction.
Definition Interaction.h:56
A registry. Provides the container for algorithm configuration parameters.
Definition Registry.h:65
const genie::HadronTensorModelI * fHadronTensorModel
bool ValidProcess(const Interaction *i) const
Can this cross section algorithm handle the input process?
const XSecScaleI * fMECScaleAlg
double Integral(const Interaction *i) const
double PairRatio(const Interaction *i, const std::string &final_state_ratio="pnFraction") const
const XSecIntegratorI * fXSecIntegrator
GSL numerical integrator.
void Configure(string config)
void LoadConfig(void)
Load algorithm configuration.
double fXSecCCScale
External scaling factor for this cross section.
void Configure(const Registry &config)
double Qvalue(const Interaction &interaction) const
const QvalueShifter * fQvalueShifter
double XSec(const Interaction *i, KinePhaseSpace_t k) const
Compute the cross section for the input interaction.
Cross Section Integrator Interface.
This class is responsible to compute a scaling factor for the XSec.
Definition XSecScaleI.h:25
THE MAIN GENIE PROJECT NAMESPACE
Definition AlgCmp.h:25
enum genie::EKinePhaseSpace KinePhaseSpace_t