49                         const double dt)
 const 
   53    static const double sigma = 2.0;
 
   55    const double x = dt / sigma;
 
   57    return exp(-0.5*x*x) / (sigma*sqrt(2*PI)) / (4*PI);
 
 
 
   70  return ANTARES::getAngularAcceptance(x);
 
 
   80int main(
int argc, 
char **argv)
 
   92  double      absorptionLength;
 
   93  double      scatteringLength;
 
   98    JParser<> zap(
"Example program to draw PDF from LED beacon.");
 
  104    zap[
'A'] = 
make_field(absorptionLength) = 50.0;
 
  105    zap[
'S'] = 
make_field(scatteringLength) = 50.0;
 
  114  catch(
const exception &error) {
 
  115    FATAL(error.what() << endl);
 
  119  const double theta = dir.first;
 
  120  const double phi   = dir.second;
 
  126  const double P_atm = 240.0;       
 
  127  const double tmin  = -10.0;       
 
  128  const double tmax  = +10.0;       
 
  129  const double A     =  440e-4;     
 
  130  const double R_Hz  =  0.0e3;      
 
  135  const double lm    = scatteringLength / 0.83;
 
  136  const double lr    = scatteringLength / 0.17;
 
  138  const double cs    = 0.83 * 0.92;  
 
  140  const double l_abs = absorptionLength;
 
  141  const double ls    = scatteringLength;
 
  142  const double l_att = l_abs * lr / (l_abs + lr);
 
  147  cout << 
"Rayleigh scattering length " << lr    << 
" m" << endl;
 
  148  cout << 
"Mie      scattering length " << lm    << 
" m" << endl;
 
  149  cout << 
"Absorption length          " << l_abs << 
" m" << endl;
 
  187  TH1D h0(
"h0", NULL, 430, -15.0, +200.0);
 
  188  TH1D h1(
"h1", NULL, 430, -15.0, +200.0);
 
  189  TH1D h2(
"h2", NULL, 430, -15.0, +200.0);
 
  190  TH1D h3(
"h3", NULL, 430, -15.0, +200.0);
 
  191  TH1D ha(
"ha", NULL, 430, -15.0, +200.0);
 
  197  for (
int i = 1; i <= h1.GetNbinsX(); ++i) {
 
  199    const double t1 = h1.GetBinCenter(i);
 
  206    h0.SetBinContent(i, F1 + F2 + F3);
 
  207    h1.SetBinContent(i, F1);
 
  208    h2.SetBinContent(i, F2);
 
  209    h3.SetBinContent(i, F3);
 
  214    f[3][t1] = F1 + F2 + F3;
 
  216    f1[t1] = F1 + F2 + F3;
 
  221  for (
int i = 3; i != 
sizeof(f)/
sizeof(f[0]); ++i) {
 
  228    const double lz = l_abs * 
ls / (l_abs*(1.0-cs) + 
ls);
 
  232    DEBUG(
"D     " << D                       << endl);
 
  233    DEBUG(
"ct    " << ct                      << endl);
 
  234    DEBUG(
"theta " << theta                   << endl);
 
  235    DEBUG(
"phi   " << phi                     << endl);
 
  237    DEBUG(
"t1    " << quantiles.
getX()        << endl);
 
  238    DEBUG(
"max   " << quantiles.
getY()        << endl);
 
  243  const double Tmin = ha.GetXaxis()->GetXmin();
 
  244  const double Tmax = ha.GetXaxis()->GetXmax();
 
  246  const double V = f1.rbegin()->getIntegral()  +  R_Hz * 1e-9 * (Tmax - Tmin);   
 
  248  for (
int i = 1; i <= ha.GetNbinsX(); ++i) {
 
  250    const double t1 = ha.GetBinCenter(i);
 
  252    JSplineFunction1S_t::result_type p = f1(t1);
 
  254    double v = p.v  +  R_Hz * 1e-9 * (t1   - Tmin);
 
  255    double y = p.f  +  R_Hz * 1e-9;                   
 
  257    const double W = exp(-v) * y / (1.0 - exp(-V));
 
  259    ha.SetBinContent(i,W);      
 
 
Properties of Antares PMT and deep-sea water.
 
std::pair< double, double > orientation
 
int main(int argc, char **argv)
 
std::istream & operator>>(std::istream &in, orientation &x)
 
std::ostream & operator<<(std::ostream &out, const orientation &x)
 
double getAngularAcceptance(const double x)
Angular acceptence of PMT.
 
General purpose messaging.
 
#define DEBUG(A)
Message macros.
 
Utility class to parse command line options.
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
 
Properties of KM3NeT PMT and deep-sea water.
 
Utility class to parse command line options.
 
Interface for emission profile from LED.
 
Implementation of dispersion for water in deep sea.
 
Probability Density Functions of the time response of a PMT (C-like interface)
 
double getDirectLightFromLED(const double D_m, const double cd, const double theta, const double phi, const double t_ns) const
Probability density function for direct light from LED.
 
double getScatteredLightFromLED(const double D_m, const double cd, const double theta, const double phi, const double t_ns) const
Probability density function for scattered light from LED.
 
Light yield from LED (number of p.e.
 
double getLightFromLED(const double ct, const double phi, const double dt) const
Light yield from LED (number of p.e.
 
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
 
Auxiliary data structure to list files in directory.