12 const Interaction* interaction,
double Q_value)
const
15 if ( !interaction )
return 0.;
24 return contraction(probe_pdg, E_probe, m_probe, Tl, cos_l, ml, Q_value);
28 double m_probe,
double Tl,
double cos_l,
double ml,
double Q_value)
const
34 double q0 = E_probe - El;
38 double q0_corrected = q0 - Q_value;
41 double k_initial = std::sqrt( std::max(0., std::pow(E_probe, 2)
42 - std::pow(m_probe, 2) ));
45 double k_final = std::sqrt( std::max(0., std::pow(Tl, 2) + 2*ml*Tl) );
48 double q_mag2 = std::pow(k_initial, 2) + std::pow(k_final, 2)
49 - 2.*k_initial*k_final*cos_l;
52 double q2 = q0_corrected*q0_corrected - q_mag2;
55 double xs = dSigma_dT_dCosTheta(probe_pdg, E_probe, m_probe, Tl, cos_l, ml,
72 <<
"Unknown probe PDG code " << probe_pdg
bool IsNeutrino(int pdgc)
TParticlePDG * Probe(void) const
Summary information for an interaction.
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
bool IsAntiNeutrino(int pdgc)
const Kinematics & Kine(void) const
double GetKV(KineVar_t kv) const
TParticlePDG * FSPrimLepton(void) const
final state primary lepton
virtual double contraction(const Interaction *interaction, double Q_value) const
const InitialState & InitState(void) const
double ProbeE(RefFrame_t rf) const
Most commonly used PDG codes. A set of utility functions to handle PDG codes is provided in PDGUtils...