GENIEGenerator
Loading...
Searching...
No Matches
StrumiaVissaniIBDPXSec.h
Go to the documentation of this file.
1//____________________________________________________________________________
2/*!
3
4\class genie::StrumiaVissaniIBDPXSec
5
6\brief An implementation of the neutrino - (free) nucleon [inverse beta
7 decay] cross section, valid from the threshold energy (1.806MeV)
8 up to hundreds of MeV. Currently cut off at 1/2 nucleon mass.
9 Based on the Strumia/Vissani paper Phys.Lett.B564:42-54,2003
10
11\ref Strumia A., Vissani F., Phys. Lett. B564, pp42-54 (2003)
12
13\author Corey Reed <cjreed \at nikhef.nl>
14 Nikhef
15
16\created June 22, 2009
17
18\cpright Copyright (c) 2003-2025, The GENIE Collaboration
19 For the full text of the license visit http://copyright.genie-mc.org
20*/
21//____________________________________________________________________________
22
23#ifndef _SV_QUASIELASTIC_NU_NUCLEON_XSEC_H_
24#define _SV_QUASIELASTIC_NU_NUCLEON_XSEC_H_
25
27
28namespace genie {
29
30class XSecIntegratorI;
31
33
34public:
36 StrumiaVissaniIBDPXSec(string config);
38
39 //-- XSecAlgorithmI interface implementation
40 double XSec (const Interaction * i, KinePhaseSpace_t k) const;
41 double Integral (const Interaction * i) const;
42 bool ValidProcess (const Interaction * i) const;
43 bool ValidKinematics (const Interaction * i) const;
44
45 //-- overload the Algorithm::Configure() methods to load private data
46 // members from configuration options
47 void Configure(const Registry & config);
48 void Configure(string config);
49
50private:
51 void LoadConfig (void);
52
53 //-- Routines for calculating the scattering amplitute
54 double dSigDt(const double sMinusU,
55 const double sMinusMnuc,
56 const double t) const;
57 double MtxElm(const double sMinusU,
58 const double t) const;
59 static double MAterm(const double t,
60 const double t2,
61 const double f124,
62 const double f22,
63 const double g124,
64 const double g224meM2,
65 const double f1cf2R8,
66 const double g1cg2R16me,
67 const double g1cFsumR);
68 static double MBterm(const double t,
69 const double f1cf2,
70 const double g1cg2,
71 const double g1cFsumR,
72 const double f22);
73 static double MCterm(const double t,
74 const double f124,
75 const double f22,
76 const double g124);
77 double RadiativeCorr(const double Ee) const;
78 double FinalStateCorr(const double Ee) const;
79
80 // variables
81 double fCosCabibbo2; // cos^2(cabibbo)
82 double fg1of0; // axial form factor at q2=0
83 double fMa2; // axial mass squared
84 double fMv2; // vector mass squared
85 double fNucleonMMDiff; // nucleon magnetic moment difference
86 double fEpsilon; // small number used to compare floats with 0
87
88 const XSecIntegratorI * fXSecIntegrator; //! the integrator to get total xsec
89
90public:
91 ClassDef(StrumiaVissaniIBDPXSec, 1) // Inverse Beta Decay partial cross section calculation based on a Strumia/Vissani paper
92};
93} // genie namespace
94#endif // _SV_QUASIELASTIC_NU_NUCLEON_XSEC_H_
Summary information for an interaction.
Definition Interaction.h:56
A registry. Provides the container for algorithm configuration parameters.
Definition Registry.h:65
double XSec(const Interaction *i, KinePhaseSpace_t k) const
Compute the cross section for the input interaction.
void Configure(const Registry &config)
double dSigDt(const double sMinusU, const double sMinusMnuc, const double t) const
double RadiativeCorr(const double Ee) const
double Integral(const Interaction *i) const
static double MAterm(const double t, const double t2, const double f124, const double f22, const double g124, const double g224meM2, const double f1cf2R8, const double g1cg2R16me, const double g1cFsumR)
bool ValidProcess(const Interaction *i) const
Can this cross section algorithm handle the input process?
bool ValidKinematics(const Interaction *i) const
Is the input kinematical point a physically allowed one?
double MtxElm(const double sMinusU, const double t) const
double FinalStateCorr(const double Ee) const
static double MBterm(const double t, const double f1cf2, const double g1cg2, const double g1cFsumR, const double f22)
static double MCterm(const double t, const double f124, const double f22, const double g124)
const XSecIntegratorI * fXSecIntegrator
Cross Section Integrator Interface.
THE MAIN GENIE PROJECT NAMESPACE
Definition AlgCmp.h:25
enum genie::EKinePhaseSpace KinePhaseSpace_t