Jpp  17.3.0
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Public Attributes | List of all members
JACOUSTICS::JAttenuationLength Struct Reference

Auxiliary data structure for calculation of attenuation length. More...

#include <JAcousticsSupportkit.hh>

Public Member Functions

 JAttenuationLength (const double T, const double S, const double pH)
 Constructor. More...
 
double operator() (const double D_m, const double f_kHz) const
 Get attentuation length for given frequency at given depth. More...
 

Public Attributes

double T
 
double S
 
double pH
 

Detailed Description

Auxiliary data structure for calculation of attenuation length.

Attenuation according to Ainslie and McColm, J. Acoust. Soc. AM. 103 (3) 1671 1998.
See also http://resource.npl.co.uk/acoustics/techguides/seaabsorption/physics.html for numerical values.

Definition at line 30 of file JAcousticsSupportkit.hh.

Constructor & Destructor Documentation

JACOUSTICS::JAttenuationLength::JAttenuationLength ( const double  T,
const double  S,
const double  pH 
)
inline

Constructor.

Parameters
Ttemperature [C]
Ssalinity [pm]
pHpH

Definition at line 38 of file JAcousticsSupportkit.hh.

Member Function Documentation

double JACOUSTICS::JAttenuationLength::operator() ( const double  D_m,
const double  f_kHz 
) const
inline

Get attentuation length for given frequency at given depth.

Parameters
D_mdepth [m]
f_kHzfrequency [kHz]
Returns
attenuation length [m]

Definition at line 54 of file JAcousticsSupportkit.hh.

56  {
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; // dB/km
64 
65  return 10.0e3 / (A*log(10.0));
66  }
const JPolynome f1(1.0, 2.0, 3.0)
Function.
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;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/${^ACOUSTICS_KEYS}.txt $WORKDIR cp-p $HOMEDIR/${^INPUT_FILES}$WORKDIRfisource $JPP_DIR/examples/JAcoustics/acoustics-fit-toolkit.shtimer_startinitialise stage_b 1 0 100.0e-6 0.002 0.1 0 > &stage log
source $JPP_DIR setenv csh $JPP_DIR &dev null eval JShellParser o a A
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable STRING $argv[2] set_array QUANTILES set_variable FORMULA *[0] exp(-0.5 *(x-[1])*(x-[1])/([2]*[2]))" set_variable MODULE `getModule -a $DETECTOR -L "$STRING 0"` source JAcousticsToolkit.sh typeset -A TRIPODS get_tripods $WORKDIR/tripod.txt TRIPODS XMEAN

Member Data Documentation

double JACOUSTICS::JAttenuationLength::T

Definition at line 68 of file JAcousticsSupportkit.hh.

double JACOUSTICS::JAttenuationLength::S

Definition at line 69 of file JAcousticsSupportkit.hh.

double JACOUSTICS::JAttenuationLength::pH

Definition at line 70 of file JAcousticsSupportkit.hh.


The documentation for this struct was generated from the following file: