Jpp test-rotations-old
the software that should make you happy
Loading...
Searching...
No Matches
JAbstractSoundVelocity.hh
Go to the documentation of this file.
1#ifndef __JACOUSTICS__JABSTRACTSOUNDVELOCITY__
2#define __JACOUSTICS__JABSTRACTSOUNDVELOCITY__
3
4/**
5 * \file
6 *
7 * Abstract sound velocity.
8 * \author mdejong
9 */
10namespace JACOUSTICS {}
11namespace JPP { using namespace JACOUSTICS; }
12
13namespace JACOUSTICS {
14
15 /**
16 * Interface for depth dependend velocity of sound.
17 *
18 * Note that the z-axis is pointing upwards.
19 */
21 /**
22 * Virtual destructor.
23 */
25 {}
26
27
28 /**
29 * Get velocity of sound.
30 *
31 * \return velocity [m/s]
32 */
33 virtual double operator()() const = 0;
34
35
36 /**
37 * Get velocity of sound at given depth relative to seabed.
38 *
39 * \param z depth [m]
40 * \return velocity [m/s]
41 */
42 virtual double operator()(const double z) const
43 {
44 return (*this)();
45 }
46
47
48 /**
49 * Get distance travelled by sound.
50 *
51 * \param t_s time [s]
52 * \param z1 depth [m]
53 * \param z2 depth [m]
54 * \return distance [m]
55 */
56 virtual double getDistance(const double t_s,
57 const double z1,
58 const double z2) const = 0;
59
60
61 /**
62 * Get propagation time of sound.
63 *
64 * \param D_m distance [m]
65 * \param z1 depth [m]
66 * \param z2 depth [m]
67 * \return time [s]
68 */
69 virtual double getTime(const double D_m,
70 const double z1,
71 const double z2) const = 0;
72
73
74 /**
75 * Get inverse velocity of sound.
76 *
77 * \param D_m distance [m]
78 * \param z1 depth [m]
79 * \param z2 depth [m]
80 * \return inverse velocity [s/m]
81 */
82 virtual double getInverseVelocity(const double D_m,
83 const double z1,
84 const double z2) const = 0;
85 };
86}
87
88#endif
Auxiliary classes and methods for acoustic position calibration.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Interface for depth dependend velocity of sound.
virtual double operator()() const =0
Get velocity of sound.
virtual double getTime(const double D_m, const double z1, const double z2) const =0
Get propagation time of sound.
virtual double operator()(const double z) const
Get velocity of sound at given depth relative to seabed.
virtual double getDistance(const double t_s, const double z1, const double z2) const =0
Get distance travelled by sound.
virtual double getInverseVelocity(const double D_m, const double z1, const double z2) const =0
Get inverse velocity of sound.
virtual ~JAbstractSoundVelocity()
Virtual destructor.