1 #ifndef __JACOUSTICS__JSOUNDVELOCITY__ 
    2 #define __JACOUSTICS__JSOUNDVELOCITY__ 
   20 namespace JACOUSTICS {}
 
   21 namespace JPP { 
using namespace JACOUSTICS; }
 
   23 namespace JACOUSTICS {
 
   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);
 
  203       JStringStream 
is(in);
 
  209       if (is >> velocity.
a) {
 
  230       out << velocity.
a << 
' ' << velocity.
b << 
' ' << velocity.
z0;
 
JSoundVelocity(const double a, const double b, const double z0)
Constructor. 
 
static const JSoundVelocity getSoundVelocity(1541.0,-17.0e-3,-2000.0)
Function object for velocity of sound. 
 
virtual double operator()(const double z) const override
Get velocity of sound at given depth relative to seabed. 
 
virtual double getInverseVelocity(const double D_m, const double z1, const double z2) const override
Get inverse velocity of sound. 
 
virtual double getDistance(const double t_s, const double z1, const double z2) const override
Get distance travelled by sound. 
 
Implementation for depth dependend velocity of sound. 
 
static JStat getFileStatus
Function object for file status. 
 
JSoundVelocity operator[](const double z0) const 
Get sound velocity at given depth. 
 
virtual double operator()() const override
Get velocity of sound at seabed. 
 
then cat $TRIPOD_INITIAL<< EOF1 256877.5 4743716.7-2438.42 256815.5 4743395.0-2435.53 257096.2 4743636.0-2439.5EOFfiif[[!-f $DETECTOR]];then JEditDetector-a $DETECTOR_INITIAL-s"-1 addz -6.9"-o $DETECTOR--!eval`JPrintDetector-a $DETECTOR-O SUMMARY`for STRING in ${STRINGS[*]};do set_variable MODULE`getModule-a $DETECTOR-L"$STRING 0"`JEditDetector-a $DETECTOR-M"$MODULE setz -2.9"-o $DETECTOR--!donefiif[[!-f $TRIPOD]];then cp-p $TRIPOD_INITIAL $TRIPODfiJAcoustics.sh $DETECTOR_IDcat > acoustics_trigger_parameters txt<< EOFQ=0.0;TMax_s=0.020;quantile=0.9;numberOfHits=90;EOFJAcousticsEventBuilder.sh $DETECTOR $RUNS[*]INPUT_FILES=(`ls KM3NeT_ ${(l:8::0::0:) DETECTOR_ID}_0 *${^RUNS}_event.root`) cd $WORKDIRif[!$HOMEDIR-ef $WORKDIR];then cp-p $HOMEDIR/$DETECTOR $WORKDIR cp-p $HOMEDIR/$TRIPOD $WORKDIR cp-p $HOMEDIR/${^INPUT_FILES}$WORKDIR cp-p $HOMEDIR/{acoustics_fit_parameters, acoustics_trigger_parameters, disable, hydrophone, mechanics, sound_velocity, tripod, waveform}.txt $WORKDIRfisource $JPP_DIR/examples/JAcoustics/acoustics-fit-toolkit.shJConvertDetectorFormat-a $DETECTOR-o $HOMEDIR/detector_backup.datxJDetachPMTs-a $DETECTOR-o $DETECTORtimer_startinitialise stage_1B 0.002 0.1 0 > &stage log
 
virtual double getTime(const double D_m, const double z1, const double z2) const override
Get propagation time of sound. 
 
friend std::istream & operator>>(std::istream &in, JSoundVelocity &velocity)
Read sound velocity from input. 
 
Interface for depth dependend velocity of sound. 
 
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
 
JSoundVelocity & set(const double z0)
Set depth. 
 
friend std::ostream & operator<<(std::ostream &out, const JSoundVelocity &velocity)
Write sound velocity to output.