51 const InitialState & init_state = interaction -> InitState();
52 const Kinematics & kinematics = interaction -> Kine();
53 const XclsTag & xclstag = interaction -> ExclTag();
61 double s =
born->GetS(mlin,Enuin);
65 double t =
born->GetT(mlin,mlout,s,n1);
70 double omx = TMath::Power(n2, 1./zeta );
71 double pdf_soft = TMath::Exp(zeta*(3./4.-TMath::EulerGamma()))/TMath::Gamma(1.+zeta) + omx*(omx-2.)/2./n2;
72 if ( omx<0. || omx>1. )
return 0.;
73 double s_r = s*(1. - omx);
74 double t_r = t*(1. - omx);
78 double Enuout = (mlin*mlin-t_r)/2./mlin;
79 if ( !
born->IsInPhaseSpace(mlin,mlout,Enuin,Enuout) )
return 0.;
81 double xsec =
kPi/4./(s-mlin*mlin) * pdf_soft ;
84 if ( TMath::Sqrt(s_r)<
fWmin )
return 0.;
90 else ME =
born->PXSecCCR (s_r,t_r,mlin,mlout);
91 xsec *= TMath::Max(0.,ME);
97 int Ne = init_state.
Tgt().
Z();
102 <<
"Doesn't support transformation from "
108 LOG(
"GLRESPXSec",
pINFO) <<
"dxsec/dn1dn2 (E= " << Enuin <<
", n1= " << n1 <<
", n2=" << n2 <<
") = " << xsec;
127 if(!proc_info.
IsWeakCC())
return false;
129 const InitialState & init_state = interaction -> InitState();
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE,...
Most commonly used PDG codes. A set of utility functions to handle PDG codes is provided in PDGUtils.
bool GetParam(const RgKey &name, T &p, bool is_top_call=true) const
virtual void Configure(const Registry &config)
const Algorithm * SubAlg(const RgKey ®istry_key) const
Born level nu-electron cross section.
double XSec(const Interaction *i, KinePhaseSpace_t k) const
Compute the cross section for the input interaction.
double fWmin
Minimum value of W.
const XSecIntegratorI * fXSecIntegrator
diff. xsec integrator
double Integral(const Interaction *i) const
void Configure(const Registry &config)
bool ValidProcess(const Interaction *i) const
Can this cross section algorithm handle the input process?
Initial State information.
const Target & Tgt(void) const
double ProbeE(RefFrame_t rf) const
Summary information for an interaction.
const ProcessInfo & ProcInfo(void) const
TParticlePDG * FSPrimLepton(void) const
final state primary lepton
static string AsString(KinePhaseSpace_t kps)
Generated/set kinematical variables for an event.
double GetKV(KineVar_t kv) const
A class encapsulating an enumeration of interaction types (EM, Weak-CC, Weak-NC) and scattering types...
bool IsWeakCC(void) const
bool IsGlashowResonance(void) const
A registry. Provides the container for algorithm configuration parameters.
bool HitNucIsSet(void) const
Cross Section Integrator Interface.
Contains minimal information for tagging exclusive processes.
int FinalLeptonPdg(void) const
static const double kElectronMass
THE MAIN GENIE PROJECT NAMESPACE
const UInt_t kIAssumeFreeElectron
enum genie::EKinePhaseSpace KinePhaseSpace_t
const UInt_t kISkipProcessChk
if set, skip process validity checks