4 if [ -z $JPP_DIR ]; then
 
    5     echo "Variable JPP_DIR undefined."
 
    9 source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/null
 
   13 set_variable:  DEBUG           ACOUSTICS_DEBUG          2
 
   14 set_variable:  WORKDIR         ACOUSTICS_WORKDIR        ./
 
   15 set_variable:  QUALITY_FACTOR  ACOUSTICS_QUALITYFACTOR  2.0e3
 
   18     usage "$script <string identifier> <detector file> (input file)+"
 
   21 if (( ${#} < 3 )); then
 
   22     fatal "Wrong number of arguments."
 
   25 set_variable  STRING              $argv[1]
 
   26 set_variable  DETECTOR            $argv[2]
 
   27 set_array     INPUT_FILES         $argv[3,-1]
 
   29 eval `JPrintDetector -a $DETECTOR -O IDENTIFIER`
 
   30 eval `JPrintDetector -a $DETECTOR -O SUMMARY`
 
   32 JAcoustics.sh   $DETECTOR_ID
 
   34 source JAcousticsToolkit.sh
 
   40 get_tripods $WORKDIR/tripod.txt TRIPODS
 
   42 if (( ${#TRIPODS} < 2 )); then
 
   43     fatal "Not enough tripods " ${#TRIPODS}
 
   46 if [[ -z "${STRINGS[(r)$STRING]}" ]]; then
 
   47     fatal "Invalid string $STRING; "\
 
   48           "possible values: ${STRINGS[*]}"
 
   51 set_variable  MODULE              `getModule -a $DETECTOR -L "$STRING 0"`
 
   52 set_variable  HYDROPHONE_TXT      $WORKDIR/hydrophonez_${STRING}.txt
 
   53 set_array     QUANTILES           0.333 0.666
 
   54 set_variable  TMPDIR              $WORKDIR/.$$
 
   57 JKatoomba.sh  $DETECTOR  $INPUT_FILES[*]  $TMPDIR/katoomba.root
 
   59 for (( Z = -7.5; $Z <= +7.5; Z += 0.1 )); do
 
   61     JEditDetector -a $DETECTOR -o $TMPDIR/detector.datx -M "$MODULE add 0.0 0.0 $Z"
 
   63     $JPP_DIR/examples/JAcoustics/JHydrophone \
 
   64         -a $TMPDIR/detector.datx                        \
 
   65         -f $TMPDIR/katoomba.root                        \
 
   66         -o $TMPDIR/hydrophone.root                      \
 
   67         -H $WORKDIR/hydrophone.txt                      \
 
   68         -T $WORKDIR/tripod.txt                          \
 
   69         -V $WORKDIR/sound_velocity.txt                  \
 
   70         -W $WORKDIR/waveform.txt                        \
 
   78     for TRIPOD in ${(@k)TRIPODS}; do
 
   81             -f "$TMPDIR/hydrophone.root:${MODULE}\.${TRIPOD}"   \
 
   85         if (( ${#RESULT} == ${#QUANTILES} )); then
 
   87             VALUE=$((0.5e3 * ($RESULT[-1] + $RESULT[1])))           # average [ms]
 
   88             TOTAL=$(($TOTAL + 1.0))
 
   90             if (( $TOTAL == 1.0 )); then
 
   94                 XMEAN[2]=$(($XMEAN[1] + ($VALUE - $XMEAN[1]) / $TOTAL))
 
   95                 STDEV[2]=$(($STDEV[1] + ($VALUE - $XMEAN[1]) * ($VALUE - $XMEAN[2])))
 
  102     printf "%7.3f %9.5f\n" $Z $((sqrt($TOTAL * $STDEV[1] / ($TOTAL * ($TOTAL - 1.0))))) >> $HYDROPHONE_TXT