1#ifndef __JACOUSTICS__JACOUSTICSSUPPORTKIT__
2#define __JACOUSTICS__JACOUSTICSSUPPORTKIT__
55 const double f_kHz)
const
57 const double z = D_m * 1.0e-3;
58 const double f1 = 0.78 * sqrt(
S/35.0) * exp(T/26.0);
59 const double f2 = 42.0 * exp(T/17.0);
60 const double a1 = 0.106 * f1*(f_kHz*f_kHz) / (f_kHz*f_kHz + f1*f1) * exp((
pH-8.0)/0.56);
61 const double a2 = 0.52 * (1.0 + T/43.0) * (
S/35.0) * f2 * f_kHz*f_kHz / (f_kHz*f_kHz + f2*f2) * exp(-z/6.0);
62 const double a0 = 0.00049 * exp(-T/27.0 + z/17.0) * f_kHz*f_kHz;
63 const double A = a0 + a1 + a2;
65 return 10.0e3 / (A*log(10.0));
92 inline double getQ(
const double D_m,
122 const double f_kHz) :
147 const double d_m)
const
165 return in >> waveform.
Q0 >> waveform.
f_kHz;
178 return out << waveform.
Q0 <<
' ' << waveform.
f_kHz;
Auxiliary classes and methods for acoustic position calibration.
static const double TOAMIN_S
Minimal allowed time-of-arrival [s].
double getQ(const double D_m, const double f_kHz, const double d_m)
Get relative quality for given frequency at given distance.
static const double TOAMAX_S
Maximal allowed time-of-arrival [s].
static const JAttenuationLength getAttenuationLength(13.2, 38.0, 8.0)
Function object to calculate attenutation length.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary data structure for calculation of attenuation length.
double operator()(const double D_m, const double f_kHz) const
Get attentuation length for given frequency at given depth.
JAttenuationLength(const double T, const double S, const double pH)
Constructor.