1#ifndef __JPHYSICS__JPDFTOOLKIT__ 
    2#define __JPHYSICS__JPDFTOOLKIT__ 
   62    const double x = n*lambda;
 
 
   98    const double gamma = E / M;
 
   99    const double beta  = sqrt((1.0 + 1.0/gamma) * (1.0 - 1.0/gamma));    
 
  102             (1.0 + 2.0*gamma*ratio + ratio*ratio) );
 
 
  133      const double K = 0.307075;                            
 
  135      const double gamma = E / M;
 
  136      const double beta  = sqrt((1.0 + 1.0/gamma) * (1 - 1.0/gamma));
 
  138      const double a = 0.25/(E*E);
 
  139      const double b = beta*beta/Tmax;
 
  140      const double c = 1.0;
 
  142      const double W = 0.5 * 
K * (Z/A) * (1.0/(beta*beta)); 
 
  144      const double sT = Tmax + Tmin;
 
  145      const double dT = Tmax - Tmin;
 
  146      const double rT = Tmax / Tmin;
 
  148      const double weight = W * (a*sT*dT - b*dT + c*log(rT));
 
 
  175  template<
class JFormFactor_t>
 
  182                             const JFormFactor_t& F,
 
  183                             const int            N = 1000000)
 
  189      const double K = 0.307075;                            
 
  191      const double gamma = E / M;
 
  192      const double beta  = sqrt((1.0 + 1.0/gamma) * (1 - 1.0/gamma));
 
  194      const double W = 0.5 * 
K * (Z/A) * (1.0/(beta*beta)); 
 
  196      const double xmin = log(Tmin);
 
  197      const double xmax = log(Tmax);
 
  198      const double dx   = (xmax - xmin) / ((
double) N);
 
  202      for (
double x = xmin; x <= xmax; x += dx) {
 
  204        const double T = exp(x);
 
  205        const double y = W * F(T) * dx;                     
 
 
  236    static const double Z = 10.0; 
 
  237    static const double A = 18.0; 
 
 
  263    static const double Z = 10.0; 
 
  264    static const double A = 18.0; 
 
 
  288    static const double a =  3.195e-01;
 
  289    static const double b =  3.373e-01;
 
  290    static const double c = -2.731e-02;
 
  291    static const double d =  1.610e-03;
 
  292    static const double Emin = 0.13078; 
 
  296      const double x = log10(E);                      
 
  297      const double y = a + x*(b + x*(c + x*(d)));     
 
 
  325    static const double Z = 10.0; 
 
  326    static const double A = 18.0; 
 
 
  350    static const double a = -2.178e-01;
 
  351    static const double b =  4.995e-01;
 
  352    static const double c = -3.906e-02;
 
  353    static const double d =  1.615e-03;
 
  354    static const double Emin = 2.19500; 
 
  358      const double x = log10(E);                      
 
  359      const double y = a + x*(b + x*(c + x*(d)));     
 
 
  381    return 0.188 * exp(-1.25 * pow(fabs(x - 0.90), 1.30));
 
 
  395    static const double d = 0.36;                    
 
  396    static const double U = PI*PI*PI*PI*PI*2.0/3.0;
 
  397    static const double V = d*d*d*d*d*d;
 
  399    const double W     = (n*n - 1.0) / (n*n + 2.0);
 
  400    const double sigma = 1.0e-14 * U*V*W*W / (lambda*lambda*lambda*lambda);   
 
 
  416    static const double amu = 18.01528; 
 
 
Auxiliary class to define a range between two values.
 
static const uint32_t K[64]
 
Auxiliary methods for light properties of deep-sea water.
 
double getDeltaRaysFromMuon(const double E, const JRange< double > T_GeV=JRange< double >(DELTARAY_TMIN, DELTARAY_TMAX))
Equivalent EM-shower energy due to delta-rays per unit muon track length.
 
static const double ALPHA_ELECTRO_MAGNETIC
Electro-Magnetic coupling constant.
 
static const double DELTARAY_TMIN
Minimum allowed delta-ray kinetic energy [GeV].
 
static const double DELTARAY_TMAX
Maximum allowed delta-ray kinetic energy [GeV].
 
double getDeltaRayTmin()
Get minimum delta-ray kinetic energy.
 
double getDeltaRaysFromMuonFit(const double E)
Equivalent EM-shower energy due to delta-rays per unit muon track length.
 
static const double DENSITY_SEA_WATER
Fixed environment values.
 
const double getRayleighScatteringLength(const double n, const double lambda)
Rayleigh scattering length.
 
double getDeltaRaysFromTauFit(const double E)
Equivalent EM-shower energy due to delta-rays per unit tau track length.
 
static const double MASS_ELECTRON
electron mass [GeV]
 
double getDeltaRayProbability(const double x)
Emission profile of photons from delta-rays.
 
const double getRayleighCrossSection(const double n, const double lambda)
Rayleigh cross section.
 
double cherenkov(const double lambda, const double n)
Number of Cherenkov photons per unit track length and per unit wavelength.
 
double getMinimalWavelength()
Get minimal wavelength for PDF evaluations.
 
double getDeltaRayTmax(const double E, const double M)
Get maximum delta-ray kinetic energy for given lepton energy and mass.
 
static const double MASS_TAU
tau mass [GeV]
 
double getDeltaRays(const double E, const double M, const double Tmin, const double Tmax, const double Z, const double A)
Get equivalent EM-shower energy due to delta-rays per unit track length for an ionising particle with...
 
static const double AVOGADRO
Avogadro's number.
 
double getSinThetaC()
Get average sine of Cherenkov angle of water corresponding to group velocity.
 
double getKineticEnergy(const double E, const double m)
Get kinetic energy of particle with given energy and mass.
 
double getMaximalWavelength()
Get maximal wavelength for PDF evaluations.
 
double getDeltaRaysFromTau(const double E, const JRange< double > T_GeV=JRange< double >(DELTARAY_TMIN, DELTARAY_TMAX))
Equivalent EM-shower energy due to delta-rays per unit tau track length.
 
double getDeltaRaysFromElectron(const double E, const JRange< double > T_GeV=JRange< double >(DELTARAY_TMIN, DELTARAY_TMAX))
Equivalent EM-shower energy due to delta-rays per unit electron track length.
 
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
 
Auxiliary data structure to list files in directory.