31 virtual void setupOset (
const double &density,
const double &pionTk,
const int &pionPDG,
32 const double &protonFraction) = 0;
92 const double &protonFraction);
100 inline bool isEqual (
const double &x,
const double &y,
103 return std::abs(x - y) <
epsilon;
106 inline bool isEqual (
const double &x,
const double &y)
108 static const double epsilon = std::numeric_limits<double>::epsilon();
114 return a[0] * x * x +
a[1] * x +
a[2];
Most commonly used PDG codes. A set of utility functions to handle PDG codes is provided in PDGUtils.
double getAbsorptionCrossSection() const
return absorption cross section
double fCexCrossSections[fNChannels]
cex cross section for each channel
double getCexCrossSection() const
return cex cross section
double fQelCrossSections[fNChannels]
total qel (el+cex) cross section for each channel
double fAbsorptionCrossSection
absorption cross section (averaged over proton / neutron fraction)
double fNuclearDensity
nuclear density in fm-3
double fCexCrossSection
cex cross section (averaged over proton / neutron fraction)
double getCexFraction() const
return fraction of cex events
virtual void setCrossSections()=0
calculalte cross sections for each channel
virtual void setupOset(const double &density, const double &pionTk, const int &pionPDG, const double &protonFraction)=0
use to set up Oset class (assign pion Tk, nuclear density etc)
double fTotalCrossSection
el+cex+abs cross section (averaged over proton / neutron fraction)
double getAbsorptionFraction() const
return fraction of absorption events
static const unsigned int fNChannels
number of possible channels: pi+n, pi+p, pi0
double fPionKineticEnergy
pion kinetic energy in MeV
double getTotalCrossSection() const
return total = (qel+cex+abs) cross section
THE MAIN GENIE PROJECT NAMESPACE
double quadraticFunction(const double &x, const double *a)
bool isEqual(const double &x, const double &y, const double &epsilon)
INukeOset * currentInstance