GENIEGenerator
Loading...
Searching...
No Matches
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-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_QE_PXSEC_H_
29#define _SUSAV2_QE_PXSEC_H_
30
35
36namespace genie {
37
38class XSecIntegratorI;
39
41
42public:
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
58private:
59
60 /// Load algorithm configuration
61 void LoadConfig (void);
62
63 // Apply scaling of the first kind to the xsec
64 // (A-scaling with tuning based on Fermi momentum)
65 double XSecScaling(double xsec, const Interaction* i, int target_pdg, int tensor_pdg, bool need_to_scale) const;
66
67
68 /// External scaling factor for this cross section
72
73 /// Blending start/end q0 value for the combined models
76 double q0BlendEnd;
77 double qBlendDel;
78 double qBlendRef;
79
80 // Which model to run
94
96
98
99 // Fermi momentum table used for scaling
100 string fKFTable;
101
102 // Binding energies:
103 double fEbHe;
104 double fEbLi;
105 double fEbC;
106 double fEbO;
107 double fEbMg;
108 double fEbAr;
109 double fEbCa;
110 double fEbFe;
111 double fEbNi;
112 double fEbSn;
113 double fEbAu;
114 double fEbPb;
115
116 /// GSL numerical integrator
118
119 /// Alternate cross section model for free nucleon targets
121
122 const QvalueShifter * fQvalueShifter ; // Gives the option to retrieve a qvalue shift for a given target
123};
124
125} // genie namespace
126#endif // _SUSAV2_QE_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 HadronTensorModelI * fHadronTensorModel
double XSec(const Interaction *i, KinePhaseSpace_t k) const
Compute the cross section for the input interaction.
double Integral(const Interaction *i) const
void LoadConfig(void)
Load algorithm configuration.
int blendMode
Blending start/end q0 value for the combined models.
const QvalueShifter * fQvalueShifter
bool ValidProcess(const Interaction *i) const
Can this cross section algorithm handle the input process?
void Configure(const Registry &config)
const XSecIntegratorI * fXSecIntegrator
GSL numerical integrator.
void Configure(string config)
double XSecScaling(double xsec, const Interaction *i, int target_pdg, int tensor_pdg, bool need_to_scale) const
const XSecAlgorithmI * fFreeNucleonXSecAlg
Alternate cross section model for free nucleon targets.
double fXSecCCScale
External scaling factor for this cross section.
Cross Section Integrator Interface.
THE MAIN GENIE PROJECT NAMESPACE
Definition AlgCmp.h:25
enum genie::EKinePhaseSpace KinePhaseSpace_t