57 const InitialState & init_state = interaction -> InitState();
76 double sin2_halftheta = M*Q2 / (4*M*E2 - 2*E*Q2);
77 double sin4_halftheta = TMath::Power(sin2_halftheta, 2.);
78 double cos2_halftheta = 1.-sin2_halftheta;
80 double tan2_halftheta = sin2_halftheta/cos2_halftheta;
83 fELFF.Calculate(interaction);
90 double tau = Q2/(4*M2);
91 double epsilon = 1. / (1. + 2.*(1.+tau)*tan2_halftheta);
94 double Ep = E / (1. + 2.*(E/M)*sin2_halftheta);
98 double xsec_mott = (0.25 *
kAem2 * Ep / E3) * (cos2_halftheta/sin4_halftheta);
101 double xsec = xsec_mott * (Ge2 + (tau/
epsilon)*Gm2) / (1+tau);
111#ifdef __GENIE_LOW_LEVEL_MESG_ENABLED__
113 <<
"Jacobian for transformation to: "
150 if(!proc_info.
IsEM())
return false;
156 if (!is_pn)
return false;
160 if (!is_chgl)
return false;
190 bool useFFTE = false ;
191 GetParam(
"UseElFFTransverseEnhancement", useFFTE ) ;
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE,...
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
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
static string AsString(KinePhaseSpace_t kps)
Generated/set kinematical variables for an event.
A class encapsulating an enumeration of interaction types (EM, Weak-CC, Weak-NC) and scattering types...
bool IsQuasiElastic(void) const
A registry. Provides the container for algorithm configuration parameters.
double XSec(const Interaction *i, KinePhaseSpace_t k) const
Compute the cross section for the input interaction.
const XSecIntegratorI * fXSecIntegrator
virtual ~RosenbluthPXSec()
double Integral(const Interaction *i) const
bool ValidProcess(const Interaction *i) const
Can this cross section algorithm handle the input process?
void Configure(const Registry &config)
const ELFormFactorsModelI * fElFFModel
A Neutrino Interaction Target. Is a transparent encapsulation of quite different physical systems suc...
int HitNucPdg(void) const
double HitNucMass(void) const
Modification of magnetic form factors to match observed enhancement in transverse cross section of th...
virtual bool ValidKinematics(const Interaction *i) const
Is the input kinematical point a physically allowed one?
Cross Section Integrator Interface.
static const double kAem2
bool IsChargedLepton(int pdgc)
Simple functions for loading and reading nucleus dependent keys from config files.
double Jacobian(const Interaction *const i, KinePhaseSpace_t f, KinePhaseSpace_t t)
double NuclQELXSecSuppression(string kftable, double pmax, const Interaction *in)
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
const UInt_t kIAssumeFreeNucleon