1#ifndef __JPHYSICS__JPDFTRANSFORMER__ 
    2#define __JPHYSICS__JPDFTRANSFORMER__ 
   39  template<
class JArgument_t>
 
  116      const double R = buffer[0];
 
 
  144      const double R = buffer[0];
 
 
  171      const double R = buffer[0];
 
  174      const double ct0 = 1.0 / n;
 
  175      const double st0 = sqrt((1.0 + ct0)*(1.0 - ct0));
 
  179      return exp(-d/
ln) / pow(d,
alpha);
 
 
  223    std::ostream& 
print(std::ostream& out)
 const 
  227      out << 
"Effective attenuation length [m]   " << 
ln    << endl;
 
  228      out << 
"Distance dependence (power term)   " << 
alpha << endl;
 
  229      out << 
"Minimal kappa                      " << 
kmin  << endl;
 
  230      out << 
"Maximal kappa                      " << 
kmax  << endl;
 
 
 
  253  template<
class JArgument_t>
 
  330      const double D  = buffer[0];
 
 
  358      const double D  = buffer[0];
 
 
  385      const double D  = buffer[0];
 
  389      return exp(-d/
ln) / pow(d,
alpha);
 
 
  433    std::ostream& 
print(std::ostream& out)
 const 
  437      out << 
"Effective attenuation length [m]   " << 
ln    << endl;
 
  438      out << 
"Distance dependence (power term)   " << 
alpha << endl;
 
  439      out << 
"Minimal kappa                      " << 
kmin  << endl;
 
  440      out << 
"Maximal kappa                      " << 
kmax  << endl;
 
 
 
  465  template<
class JArgument_t>
 
  562      const double cd = buffer[1];
 
 
  604    std::ostream& 
print(std::ostream& out)
 const 
 
 
  619  template<
unsigned int N, 
class JArgument_t>
 
  634  template<
class JArgument_t>
 
  668      transformer(ln, alpha, kmin, kmax)
 
 
  692      return transformer.putXn(buffer, xn);
 
 
  705      return transformer.getXn(buffer, xn);
 
 
  717      return transformer.getWeight(buffer);
 
 
  755    std::ostream& 
print(std::ostream& out)
 const 
  757      return transformer.print(out);
 
 
 
  778  template<
class JArgument_t>
 
  793    using JMultiMapTransformer_t::getWeight;
 
  822      transformer(ln, alpha, kmin, kmax),
 
 
  852      return transformer.putXn(buffer, xn);
 
 
  865      return transformer.getXn(buffer, xn);
 
 
  880      const double theta = buffer[1];
 
  881      const double phi   = buffer[2];
 
  884      const double ct0 = 1.0 / n;
 
  885      const double st0 = sqrt((1.0 + ct0)*(1.0 - ct0));
 
  887      const double px = sin(theta)*cos(phi);
 
  889      const double pz = cos(theta);
 
  891      const double ct = st0*px + ct0*pz;
 
 
  935    std::ostream& 
print(std::ostream& out)
 const 
  937      return transformer.print(out);
 
 
 
  961  template<
class JArgument_t>
 
  976    using JMultiMapTransformer_t::getWeight;
 
 1008                    const double    amin) :
 
 1009      transformer(ln, alpha, kmin, kmax, 
geant, bmin),
 
 
 1039      return transformer.putXn(buffer, xn);
 
 
 1052      return transformer.getXn(buffer, xn);
 
 
 1064      const double cd    = buffer[1];
 
 1065      const double theta = buffer[2];
 
 1066      const double phi   = buffer[3];
 
 1068      const double ct0 = (cd > -1.0 ? cd < +1.0 ? cd : +1.0 : -1.0);
 
 1069      const double st0 = sqrt((1.0 + ct0)*(1.0 - ct0));
 
 1071      const double px = sin(theta)*cos(phi);
 
 1073      const double pz = cos(theta);
 
 1075      const double ct = st0*px + ct0*pz;
 
 
 1119    std::ostream& 
print(std::ostream& out)
 const 
 1121      return transformer.print(out);
 
 
 
 1147  template<
class JArgument_t>
 
 1175      transformer(transformer)
 
 
 1200                    const double    amin) :
 
 1201      transformer(ln, alpha, kmin, kmax, 
geant, bmin, pmt, amin)
 
 
 1225      return transformer.putXn(buffer.
pop_front(), xn);
 
 
 1238      return transformer.getXn(buffer.
pop_front(), xn);
 
 
 1250      const double E     = buffer[0];
 
 1252      return transformer.getWeight(buffer.
pop_front()) / E;
 
 
 1290    std::ostream& 
print(std::ostream& out)
 const 
 1292      return transformer.print(out);
 
 
 
Compiler version dependent expressions, macros, etc.
 
double getAngularAcceptance(const double x)
Angular acceptence of PMT.
 
Base class for photon emission profile EM-shower.
 
Interface for binary input.
 
Interface for binary output.
 
Base class for the probability density function of photon emission from EM-shower as a function of th...
 
Auxiliary methods for light properties of deep-sea water.
 
double getIndexOfRefraction()
Get average index of refraction of water corresponding to group velocity.
 
const double getInverseSpeedOfLight()
Get inverse speed of light.
 
double getTanThetaC()
Get average tangent of Cherenkov angle of water corresponding to group velocity.
 
static const JGeant geant(geanx, 0.0001)
Function object for the number of photons from EM-shower as a function of emission angle.
 
double getIndexOfRefractionPhase()
Get average index of refraction of water corresponding to phase velocity.
 
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).