17#include "Framework/Conventions/GBuild.h"
67 const InitialState & init_state = interaction -> InitState();
69 int A = init_state.
Tgt().
A();
70 int Z = init_state.
Tgt().
Z();
73 const TLorentzVector p4_lep =
kinematics.FSLeptonP4();
74 const TLorentzVector p4_pi =
kinematics.HadSystP4();
75 double E_lep = p4_lep.E();
91 LOG(
"AlvarezRusoCohPi",
pDEBUG)<<
"Unknown current for AlvarezRuso implementation";
106 LOG(
"AlvarezRusoCohPi",
pDEBUG)<<
"Unknown probe for AlvarezRuso implementation";
121 double xsec =
fMultidiff->DXSec(E_nu, E_lep, p4_lep.Theta(), p4_lep.Phi(), p4_pi.Theta(), p4_pi.Phi());
143 const Target & target = init_state.
Tgt();
148 if (!proc_info.
IsWeak())
return false;
150 if (!(target.
A()>1))
return false;
#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.
virtual void Configure(const Registry &config)
const Algorithm * SubAlg(const RgKey ®istry_key) const
const XSecIntegratorI * fXSecIntegrator
bool ValidProcess(const Interaction *i) const
Can this cross section algorithm handle the input process?
virtual ~AlvarezRusoCOHPiPXSec()
void Configure(const Registry &config)
double Integral(const Interaction *i) const
alvarezruso::AlvarezRusoCOHPiPDXSec * fMultidiff
double XSec(const Interaction *i, KinePhaseSpace_t k) const
Compute the cross section for the input interaction.
const Interaction * fLastInteraction
Initial State information.
const Target & Tgt(void) const
double ProbeE(RefFrame_t rf) const
Summary information for an interaction.
const ProcessInfo & ProcInfo(void) const
const InitialState & InitState(void) const
Generated/set kinematical variables for an event.
A class encapsulating an enumeration of interaction types (EM, Weak-CC, Weak-NC) and scattering types...
bool IsWeakNC(void) const
bool IsWeakCC(void) const
bool IsCoherentProduction(void) const
A registry. Provides the container for algorithm configuration parameters.
A Neutrino Interaction Target. Is a transparent encapsulation of quite different physical systems suc...
bool HitNucIsSet(void) const
virtual bool ValidKinematics(const Interaction *i) const
Is the input kinematical point a physically allowed one?
Cross Section Integrator Interface.
bool IsNeutrino(int pdgc)
bool IsAntiNeutrino(int pdgc)
static constexpr double cm2
Simple functions for loading and reading nucleus dependent keys from config files.
double Jacobian(const Interaction *const i, KinePhaseSpace_t f, KinePhaseSpace_t t)
Root of GENIE utility namespaces.
THE MAIN GENIE PROJECT NAMESPACE
enum genie::EKinePhaseSpace KinePhaseSpace_t
const UInt_t kISkipProcessChk
if set, skip process validity checks