Jpp 19.3.0-rc.1
the software that should make you happy
Loading...
Searching...
No Matches
detector-XY:run.sh
Go to the documentation of this file.
1#!/usr/bin/env zsh
2script=${0##*/}
3
4if [ -z $JPP_DIR ]; then
5 echo "Variable JPP_DIR undefined."
6 exit
7fi
8
9source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/null
10
11set_variable: DEBUG ACOUSTICS_DEBUG 2
12set_variable: WORKDIR ACOUSTICS_WORKDIR ./
13
14if do_usage $*; then
15 usage "$script <string identifier> <detector file> (input file)+"
16fi
17
18if (( $# < 3 )); then
19 fatal "Wrong number of arguments."
20fi
21
22set_variable STRING $argv[1]
23set_variable DETECTOR $argv[2]
24set_array INPUT_FILES $argv[3,-1]
25
26eval `JPrintDetector -a $DETECTOR -O IDENTIFIER`
27eval `JPrintDetector -a $DETECTOR -O SUMMARY`
28
29JAcoustics.sh $DETECTOR_ID
30
31CHECK_EXIT_CODE
32
33if [[ -z "${STRINGS[(r)$STRING]}" ]]; then
34 fatal "Invalid string $STRING; "\
35 "possible values: ${STRINGS[*]}"
36fi
37
38set_variable DETECTOR_TXT $WORKDIR/detectorxy_${STRING}.txt
39set_variable TMPDIR $WORKDIR/.$$
40mkdir -p $TMPDIR
41
42for (( X = -3.0; $X <= +3.0; X += 0.2 )); do
43 for (( Y = -3.0; $Y <= +3.0; Y += 0.2 )); do
44
45 JEditDetector \
46 -a $DETECTOR \
47 -S "$STRING add $X $Y 0.0" \
48 -o $TMPDIR/detector.detx
49
50 rm -f $TMPDIR/katoomba.root
51
52 JKatoomba \
53 -a $TMPDIR/detector.detx \
54 -f "$INPUT_FILES[*]" \
55 -o $TMPDIR/katoomba.root \
56 -T $WORKDIR/tripod.txt \
57 -V $WORKDIR/sound_velocity.txt \
58 -M $WORKDIR/mechanics.txt \
59 -@ $WORKDIR/acoustics_fit_parameters.txt \
60 -! $WORKDIR/disable.txt \
61 -d $DEBUG --!
62
63 if (( `JPrintResult -f $TMPDIR/katoomba.root:chi2 -F "GetSumOfWeights"` > 1.0 )); then
64
65 set_array RESULT `JPrintResult -f $TMPDIR/katoomba.root:chi2 -F "GetMean" -F "GetRMS / sqrt(GetSumOfWeights)"`
66
67 printf "%7.3f %7.3f %7.3f %7.4f\n" $X $Y $RESULT[*] >> $DETECTOR_TXT
68 else
69 error "No result."
70 fi
71 done
72done
73
74rm -rf $TMPDIR