21 using namespace genie;
22 using namespace genie::constants;
31 virtual void setupOset (
const double &density,
const double &pionTk,
const int &pionPDG,
32 const double &protonFraction) = 0;
37 return fTotalCrossSection;
43 return fCexCrossSection;
49 return fAbsorptionCrossSection;
55 return fCexCrossSection / fTotalCrossSection;
61 return fAbsorptionCrossSection / fTotalCrossSection;
81 static const unsigned int fNChannels = 3;
84 double fQelCrossSections[fNChannels];
85 double fCexCrossSections[fNChannels];
88 virtual void setCrossSections () = 0;
91 void setCrossSections (
const int &pionPDG,
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)
109 return isEqual (x, y, epsilon);
114 return a[0] * x * x + a[1] * x + a[2];
118 #endif // INUKE_OSET_H
INukeOset * currentInstance
double fCexCrossSection
cex cross section (averaged over proton / neutron fraction)
bool isEqual(const double &x, const double &y, const double &epsilon)
double getAbsorptionCrossSection() const
return absorption cross section
double fPionKineticEnergy
pion kinetic energy in MeV
double quadraticFunction(const double &x, const double *a)
double fTotalCrossSection
el+cex+abs cross section (averaged over proton / neutron fraction)
double getAbsorptionFraction() const
return fraction of absorption events
double getCexCrossSection() const
return cex cross section
double getTotalCrossSection() const
return total = (qel+cex+abs) cross section
double getCexFraction() const
return fraction of cex events
double fAbsorptionCrossSection
absorption cross section (averaged over proton / neutron fraction)
double fNuclearDensity
nuclear density in fm-3
Most commonly used PDG codes. A set of utility functions to handle PDG codes is provided in PDGUtils...