1#ifndef __JPHYSICS__JRADIATIONSOURCE__
2#define __JPHYSICS__JRADIATIONSOURCE__
76 virtual double getThetaRMS(
const double E,
const double Es)
const = 0;
87 public std::shared_ptr<JRadiation>,
100 const std::shared_ptr<JRadiation>& radiation,
101 const double density,
105 radiation_type(source),
118 return (get()->*
sigma)(E) *
rho * 1.0e6;
130 return (get()->*
eloss)(E);
141 virtual double getThetaRMS(
const double E,
const double Es)
const override
143 return (get()->*
theta)(E, Es/E);
168 const double density) :
194 return this->
getE(E);
205 virtual double getThetaRMS(
const double E,
const double Es)
const override
234 const double density,
266 const double xmin = 1.0 / Tmax;
267 const double xmax = 1.0 /
Tmin;
269 return 1.0 / gRandom->Uniform(xmin, xmax);
280 virtual double getThetaRMS(
const double E,
const double Es)
const override
Deep-inelastic muon-nucleon scattering.
Muon radiative cross sections.
Auxiliary class for object identification.
Implementation for calculation of inverse interaction length and shower energy due to deep-inelastic ...
virtual double getThetaRMS(const double E, const double Es) const override
Get RMS of scattering angle.
virtual double getEnergyOfShower(const double E) const override
Get energy of shower.
virtual double getInverseInteractionLength(const double E) const override
Get inverse interaction length.
JDISSource(const int id, const double density)
Constructor.
Deep-inelastic muon-nucleon scattering.
double getCrossSection(const double E) const
Get cross section.
double getE(const double E) const
Get shower energy.
Implementation for calculation of inverse interaction length and shower energy due to delta-rays from...
virtual double getThetaRMS(const double E, const double Es) const override
Get RMS of scattering angle.
virtual double getEnergyOfShower(const double E) const override
Get energy of shower.
virtual double getInverseInteractionLength(const double E) const override
Get inverse interaction length.
const double Tmin
minimal kinetic energy [GeV]
JDeltaRaysSource(const int id, const double density, const double Tmin)
Constructor.
Interface for calculation of inverse interaction length and shower energy.
JRadiationInterface(const int id)
Constructor.
virtual double getEnergyOfShower(const double E) const =0
Get energy of shower.
virtual double getThetaRMS(const double E, const double Es) const =0
Get RMS of scattering angle.
virtual ~JRadiationInterface()
Virtual destructor.
virtual double getInverseInteractionLength(const double E) const =0
Get inverse interaction length.
Implementation for calculation of inverse interaction length and shower energy.
JRadiationSource(const int id, const std::shared_ptr< JRadiation > &radiation, const double density, const JRadiation::radiation_type source)
Constructor.
virtual double getInverseInteractionLength(const double E) const override
Get inverse interaction length.
virtual double getThetaRMS(const double E, const double Es) const override
Get RMS of scattering angle.
virtual double getEnergyOfShower(const double E) const override
Get energy of shower.
Auxiliary class for the calculation of the muon radiative cross sections.
Auxiliary methods for light properties of deep-sea water.
static const double AVOGADRO
Avogadro's number.
static const double NUCLEON_MOLAR_MASS
nucleon molar mass [g/mol]
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
static double getCount(const double E, const double M, const double Tmin, const double Tmax, const double Z, const double A, const JFormFactor_t &F, const int N=1000000)
Get number of delta-rays per unit track length for an ionising particle with given energy and given m...
static double getTmax(const double E, const double M)
Get maximum delta-ray kinetic energy for given lepton energy and mass.
Auxiliary data structure for handling member methods of class JRadiation.
double(JRadiation::* theta)(const double, const double) const
scattering angle method
double(JRadiation::* eloss)(const double) const
energy loss method
double(JRadiation::* sigma)(const double) const
total cross section method