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);
 
  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).
 
static JStat getFileStatus
Function object for file status.
 
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 & set(const double z0)
Set depth.
 
friend std::istream & operator>>(std::istream &in, JSoundVelocity &velocity)
Read sound velocity from input.
 
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.
 
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.