1 #ifndef __JACOUSTICS__JACOUSTICSSUPPORTKIT__ 
    2 #define __JACOUSTICS__JACOUSTICSSUPPORTKIT__ 
   15 namespace JACOUSTICS {}
 
   16 namespace JPP { 
using namespace JACOUSTICS; }
 
   18 namespace JACOUSTICS {
 
   55                       const double f_kHz)
 const 
   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;  
 
   65       return 10.0e3 / (A*
log(10.0));
 
   92   inline double getQ(
const double D_m, 
 
  122               const double f_kHz) :
 
  147                 const double d_m)
 const 
  165       return in >> waveform.
Q0 >> waveform.
f_kHz;
 
  178       return out << waveform.
Q0 << 
' ' << waveform.
f_kHz;
 
double operator()(const double D_m, const double f_kHz) const 
Get attentuation length for given frequency at given depth. 
 
static const double TOAMIN_S
Minimal allowed time-of-arrival [s]. 
 
const JPolynome f1(1.0, 2.0, 3.0)
Function. 
 
static const double TOAMAX_S
Maximal allowed time-of-arrival [s]. 
 
JAttenuationLength(const double T, const double S, const double pH)
Constructor. 
 
static const JAttenuationLength getAttenuationLength(13.2, 38.0, 8.0)
Function object to calculate attenutation length. 
 
double getQ(const double D_m, const double f_kHz, const double d_m)
Get relative quality for given frequency at given distance. 
 
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
 
Auxiliary data structure for calculation of attenuation length. 
 
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
 
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