1#ifndef __JACOUSTICS__JSOUNDVELOCITY__ 
    2#define __JACOUSTICS__JSOUNDVELOCITY__ 
   64      this->
a  += this->
b * (z0 - this->
z0);
 
 
  121                               const double z2)
 const override 
  123      const double eps = 1.0e-8;
 
  125      const double v1  = (*this)(z1);
 
  126      const double v2  = (*this)(z2);
 
  127      const double lv  = log(v2/v1);
 
  130        return t_s * fabs((z2 - z1) * 
b / lv);
 
  132        return 0.5 * t_s * (v1 + v2);
 
 
  149                           const double z2)
 const override 
  151      const double eps = 1.0e-8;
 
  153      const double ct  = (z2 - z1) / D_m;
 
  154      const double v1  = (*this)(z1);
 
  155      const double v2  = (*this)(z2);
 
  158        return fabs(log(v2/v1) / (ct*
b));
 
  160        return 2.0 * D_m / (v1 + v2);
 
 
  177                                      const double z2)
 const override 
  179      const double eps = 1.0e-8;
 
  181      const double ct  = (z2 - z1) / D_m;
 
  182      const double v1  = (*this)(z1);
 
  183      const double v2  = (*this)(z2);
 
  186        return fabs(log(v2/v1) / ((z2 - z1) * 
b));
 
  188        return 2.0 / (v1 + v2);
 
 
  205      if (getFileStatus(is.str().c_str())) {
 
  209      if (is >> velocity.
a) {
 
 
  230      out << velocity.
a << 
' ' << velocity.
b << 
' ' << velocity.
z0;
 
 
 
Wrapper class around STL stringstream class to facilitate optional loading of data from file.
 
void load()
Load data from file with name corresponding to current contents.
 
Auxiliary classes and methods for acoustic position calibration.
 
static const JSoundVelocity getSoundVelocity(1541.0, -17.0e-3, -2000.0)
Function object for velocity of sound.
 
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
 
Interface for depth dependend velocity of sound.
 
Implementation for depth dependend velocity of sound.
 
virtual double getDistance(const double t_s, const double z1, const double z2) const override
Get distance travelled by sound.
 
virtual double operator()(const double z) const override
Get velocity of sound at given depth relative to seabed.
 
friend std::ostream & operator<<(std::ostream &out, const JSoundVelocity &velocity)
Write sound velocity to output.
 
JSoundVelocity operator[](const double z0) const
Get sound velocity at given depth.
 
virtual double getTime(const double D_m, const double z1, const double z2) const override
Get propagation time of sound.
 
JSoundVelocity & set(const double z0)
Set depth.
 
virtual double getInverseVelocity(const double D_m, const double z1, const double z2) const override
Get inverse velocity of sound.
 
JSoundVelocity(const double a, const double b, const double z0)
Constructor.
 
virtual double operator()() const override
Get velocity of sound at seabed.
 
friend std::istream & operator>>(std::istream &in, JSoundVelocity &velocity)
Read sound velocity from input.