12 #include "Framework/Conventions/GBuild.h"
22 using namespace genie;
23 using namespace genie::constants;
24 using namespace genie::controls;
51 const InitialState & init_state = interaction -> InitState();
52 const Kinematics & kinematics = interaction -> Kine();
53 const ProcessInfo & proc_info = interaction -> ProcInfo();
57 double y = kinematics.
y();
61 if(y > 1/(1+0.5*me/Ev))
return 0;
73 xsec = TMath::Power(em,2) + TMath::Power(ep*(1-y),2) - ep*em*me*y/Ev;
82 xsec = TMath::Power(ep,2) + TMath::Power(em*(1-y),2) - ep*em*me*y/Ev;
91 xsec = TMath::Power(em,2) + TMath::Power(ep*(1-y),2) - ep*em*me*y/Ev;
100 xsec = TMath::Power(ep,2) + TMath::Power(em*(1-y),2) - ep*em*me*y/Ev;
113 #ifdef __GENIE_LOW_LEVEL_MESG_ENABLED__
115 <<
"*** dxsec(ve-)/dy [free e-](Ev="<< Ev <<
", y= "<< y<<
") = "<< xsec;
129 int Ne = init_state.
Tgt().
Z();
170 fSin28w = TMath::Power(TMath::Sin(thw), 2);
171 fSin48w = TMath::Power(TMath::Sin(thw), 4);
Cross Section Calculation Interface.
bool IsWeakCC(void) const
double J(double q0, double q3, double Enu, double ml)
Cross Section Integrator Interface.
Generated/set kinematical variables for an event.
bool IsAntiNuTau(int pdgc)
const XSecIntegratorI * fXSecIntegrator
enum genie::EKinePhaseSpace KinePhaseSpace_t
static const double kElectronMass
double Integral(const Interaction *i) const
double y(bool selected=false) const
Summary information for an interaction.
bool IsWeakNC(void) const
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
static constexpr double A
A class encapsulating an enumeration of interaction types (EM, Weak-CC, Weak-NC) and scattering types...
virtual void Configure(const Registry &config)
bool IsAntiNuMu(int pdgc)
const UInt_t kISkipKinematicChk
if set, skip kinematic validity checks
bool ValidKinematics(const Interaction *i) const
Is the input kinematical point a physically allowed one?
double XSec(const Interaction *i, KinePhaseSpace_t k) const
Compute the cross section for the input interaction.
A registry. Provides the container for algorithm configuration parameters.
virtual ~NuElectronPXSec()
void Configure(const Registry &config)
double Jacobian(const Interaction *const i, KinePhaseSpace_t f, KinePhaseSpace_t t)
bool GetParam(const RgKey &name, T &p, bool is_top_call=true) const
const Target & Tgt(void) const
bool ValidProcess(const Interaction *i) const
Can this cross section algorithm handle the input process?
virtual double Integrate(const XSecAlgorithmI *model, const Interaction *interaction) const =0
double ProbeE(RefFrame_t rf) const
const UInt_t kISkipProcessChk
if set, skip process validity checks
Initial State information.
const UInt_t kIAssumeFreeElectron
const Algorithm * SubAlg(const RgKey ®istry_key) const