30 using namespace genie;
59 const InitialState & init_state = interaction -> InitState();
61 const ProcessInfo & proc_info = interaction -> ProcInfo();
65 double y = kinematics.
y();
69 if(y > 1/(1+0.5*me/Ev))
return 0;
81 xsec = TMath::Power(em,2) + TMath::Power(ep*(1-y),2) - ep*em*me*y/Ev;
90 xsec = TMath::Power(ep,2) + TMath::Power(em*(1-y),2) - ep*em*me*y/Ev;
99 xsec = TMath::Power(em,2) + TMath::Power(ep*(1-y),2) - ep*em*me*y/Ev;
108 xsec = TMath::Power(ep,2) + TMath::Power(em*(1-y),2) - ep*em*me*y/Ev;
121 #ifdef __GENIE_LOW_LEVEL_MESG_ENABLED__ 123 <<
"*** dxsec(ve-)/dy [free e-](Ev="<< Ev <<
", y= "<< y<<
") = "<<
xsec;
137 int Ne = init_state.
Tgt().
Z();
178 fSin28w = TMath::Power(TMath::Sin(thw), 2);
179 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)
THE MAIN GENIE PROJECT NAMESPACE
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...
A class encapsulating an enumeration of interaction types (EM, Weak-CC, Weak-NC) and scattering types...
virtual void Configure(const Registry &config)
Misc GENIE control constants.
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()
virtual double Integrate(const XSecAlgorithmI *model, const Interaction *interaction) const =0
void Configure(const Registry &config)
assert(nhit_max >=nhit_nbins)
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?
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