4 # --------------------------------------------------------------------------------------------
6 # Steering script for tuning of (x,y,z) positions of the strings and tripods as well as
7 # the (z) positions of the modules.
9 # --------------------------------------------------------------------------------------------
11 if [ -z $JPP_DIR ];
then
12 echo "Variable JPP_DIR undefined."
16 source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/
null
26 usage "$script <detector file> <tripod file> <stage> (input file)+"\
27 "\nInput files correspond to the output of JAcousticsEventBuilder[.sh]."\
28 "\nFirst stage is 1 (or A) and last stage is 3."
32 fatal
"Wrong number of arguments."
42 eval `JPrintDetector -
a $DETECTOR -O IDENTIFIER`
46 source JAcoustics.sh $DETECTOR_ID
48 # copy (part of) configuration
58 get_tripods $TRIPOD_FILE TRIPODS
60 if [[ -
n "ACOUSTICS_STRINGS" ]]
then
62 ACOUSTICS_STRINGS=(`
echo $ACOUSTICS_STRINGS`)
64 STRINGS=(${STRINGS:|ACOUSTICS_STRINGS})
67 if [[ -
n "ACOUSTICS_TRIPODS" ]]
then
69 for ID in `
echo $ACOUSTICS_TRIPODS`;
do
70 unset
"TRIPODS[${ID}]"
79 typeset -
a CHI2 # chi2(old,
new)
84 # --------------------------------------------------------------------------------------------
85 # Get center-of-gravity of tripods.
88 # --------------------------------------------------------------------------------------------
95 for value
in "${(@v)TRIPODS}";
do
99 let X_CENTER=
"$X_CENTER + $X"
100 let Y_CENTER=
"$Y_CENTER + $Y"
101 let Z_CENTER=
"$Z_CENTER + $Z"
104 let X_CENTER=
"$X_CENTER / ${#TRIPODS}"
105 let Y_CENTER=
"$Y_CENTER / ${#TRIPODS}"
106 let Z_CENTER=
"$Z_CENTER / ${#TRIPODS}"
108 printf
"%12.3f %12.3f %12.3f" $X_CENTER $Y_CENTER $Z_CENTER
112 # --------------------------------------------------------------------------------------------
116 # --------------------------------------------------------------------------------------------
123 -
f "$INPUT_FILES[*]" \
128 -@
$WORKDIR/acoustics_fit_parameters.txt \
129 -!
$WORKDIR/disable.txt \
$HYDROPHONE \
138 # --------------------------------------------------------------------------------------------
139 # Fit given coordinate of string position.
141 # \param 1 string identifier
142 # \param 2 coordinate (X|Y|Z)
144 # --------------------------------------------------------------------------------------------
145 function fitPositionOfString()
155 if [[
"$2" ==
"Z" ]];
then
156 OPTION=-s # optical modules only
158 OPTION=-
S # all modules
161 for (( ; $N != $NUMBER_OF_ITERATIONS; ++
N ));
do
167 if (( $CHI2[2] >= $CHI2[1] ));
then
177 for (( ; $N != $NUMBER_OF_ITERATIONS; ++
N ));
do
183 if (( $CHI2[2] >= $CHI2[1] ));
then
193 printf
"string %04d %s %6d %7.3f\n" $1 $2 $N $CHI2[1]
197 # --------------------------------------------------------------------------------------------
198 # Fit stretching of string.
200 # \param 1 string identifier
201 # \param 2 multiplication factor
202 # --------------------------------------------------------------------------------------------
203 function fitStretchingOfString()
207 let
Z=
"$CAN_ZMAX_M * $2"
209 for (( ; $N != $NUMBER_OF_ITERATIONS; ++
N ));
do
215 if (( $CHI2[2] >= $CHI2[1] ));
then
225 for (( ; $N != $NUMBER_OF_ITERATIONS; ++
N ));
do
231 if (( $CHI2[2] >= $CHI2[1] ));
then
241 printf
"string %04d M %6d %7.3f\n" $1 $N $CHI2[1]
245 # --------------------------------------------------------------------------------------------
246 # Fit given coordinate of tripod position.
248 # \param 1 tripod identifier
249 # \param 2 coordinate (X|Y|Z)
251 # --------------------------------------------------------------------------------------------
252 function fitPositionOfTripod()
256 BUFFER=(
X 0.0
Y 0.0 Z 0.0)
262 for (( ; $N != $NUMBER_OF_ITERATIONS; ++
N ));
do
264 JEditTripod -
f $TRIPOD_FILE -
T "$1 add $BUFFER[*]" -
r -
d 0 >& /dev/
null
268 if (( $CHI2[2] >= $CHI2[1] ));
then
270 JEditTripod -
f $TRIPOD_FILE -
T "$1 sub $BUFFER[*]" -
r -
d 0 >& /dev/
null
278 for (( ; $N != $NUMBER_OF_ITERATIONS; ++
N ));
do
280 JEditTripod -
f $TRIPOD_FILE -
T "$1 sub $BUFFER[*]" -
r -
d 0 >& /dev/
null
284 if (( $CHI2[2] >= $CHI2[1] ));
then
286 JEditTripod -
f $TRIPOD_FILE -
T "$1 add $BUFFER[*]" -
r -
d 0 >& /dev/
null
294 printf
"tripod %2d %s %6d %7.3f\n" $1 $2 $N $CHI2[1]
298 # --------------------------------------------------------------------------------------------
299 # Fit module z-position.
301 # \param 1 string identifier
304 # --------------------------------------------------------------------------------------------
305 function fitPositionOfModule()
309 BUFFER=(
X 0.0
Y 0.0 Z $3)
316 for (( i=0 ;
$i != $NUMBER_OF_STEPS && $N != $NUMBER_OF_ITERATIONS; ++i, ++
N ));
do
322 if (( $CHI2[2] >= $CHI2[1] ));
then
332 for (( i=0 ;
$i != $NUMBER_OF_STEPS && $N != $NUMBER_OF_ITERATIONS; ++i, ++
N ));
do
338 if (( $CHI2[2] >= $CHI2[1] ));
then
348 printf
"module %04d.%02d %6d %7.3f\n" $1 $2 $N $CHI2[1]
352 # --------------------------------------------------------------------------------------------
353 # Fit given coordinate of hydrophone position.
355 # \param 1 string identifier
356 # \param 2 coordinate (X|Y|Z)
358 # --------------------------------------------------------------------------------------------
359 function fitPositionOfHydrophone()
363 BUFFER=(
X 0.0
Y 0.0 Z 0.0)
371 if [[
"$2" ==
"Z" ]];
then
372 ADD=
"-M $MODULE add $BUFFER[*]" # base module only
373 SUB=
"-M $MODULE sub $BUFFER[*]" # base module only
375 ADD=
"-S $1 add $BUFFER[*]" # all modules
376 SUB=
"-S $1 sub $BUFFER[*]" # all modules
379 for (( ; $N != $NUMBER_OF_ITERATIONS; ++
N ));
do
385 if (( $CHI2[2] >= $CHI2[1] ));
then
395 for (( ; $N != $NUMBER_OF_ITERATIONS; ++
N ));
do
401 if (( $CHI2[2] >= $CHI2[1] ));
then
411 printf
"hydrophone %04d %s %6d %7.3f\n" $1 $2 $N $CHI2[1]
415 # --------------------------------------------------------------------------------------------
416 # Fit rotation of hydrophone.
418 # \param 1 string identifier
419 # \param 2 rotation angle [rad]
420 # --------------------------------------------------------------------------------------------
421 function fitRotationOfHydrophone()
429 for (( ; $N != $NUMBER_OF_ITERATIONS; ++
N ));
do
431 JEditHydrophone -
f $WORKDIR/hydrophone.txt -
S "$1 rot $ROT" -
r -
d 0 >& /dev/
null
435 if (( $CHI2[2] >= $CHI2[1] ));
then
437 let ROT=
"-1.0 * $ROT"
439 JEditHydrophone -
f $WORKDIR/hydrophone.txt -
S "$1 rot $ROT" -
r -
d 0 >& /dev/
null
447 for (( ; $N != $NUMBER_OF_ITERATIONS; ++
N ));
do
449 JEditHydrophone -
f $WORKDIR/hydrophone.txt -
S "$1 rot $ROT" -
r -
d 0 >& /dev/
null
453 if (( $CHI2[2] >= $CHI2[1] ));
then
455 let ROT=
"-1.0 * $ROT"
457 JEditHydrophone -
f $WORKDIR/hydrophone.txt -
S "$1 rot $ROT" -
r -
d 0 >& /dev/
null
465 printf
"hydrophone %04d R %6d %7.3f\n" $1 $N $CHI2[1]
473 echo "Processing stage $STAGE"
483 A) # ------------------------------------------------------------------------------------
488 cat>acoustics_fit_parameters.txt<<EOF # fix tilt angles of
strings
499 for ((
N=0; $N < $NUMBER_OF_ITERATIONS; ++N ));
do
506 fitPositionOfString
$STRING Z $DX_M
512 fitPositionOfTripod
$TRIPOD Z $DX_M
515 if (( $CHI2[3] - $CHI2[1] < $EPSILON ));
then
522 let
X=
"$X - $X_CENTER"
523 let
Y=
"$Y - $Y_CENTER"
524 let Z=
"$Z - $Z_CENTER"
526 JEditTripod -
f $TRIPOD_FILE -
T "-1 sub $X $Y $Z" -
r -
d 0 >& /dev/
null
531 if (( $N >= $NUMBER_OF_ITERATIONS ));
then
532 printf
"warning: reached maximum number of iterations %d - converenge %7.3f\n" $N $(($CHI2[3] - $CHI2[1]))
539 for DX_M in 0.1;
do # fit (z) positions of modules
541 for (( N=0; $N < $NUMBER_OF_ITERATIONS; ++
N ));
do
545 for STRING in $STRINGS[*];
do
546 for (( FLOOR = 1; $FLOOR <= 18; FLOOR += 1 ));
do
547 fitPositionOfModule
$STRING $FLOOR $DX_M
551 if (( $CHI2[3] - $CHI2[1] < $EPSILON ));
then
558 if (( $N >= $NUMBER_OF_ITERATIONS ));
then
559 printf
"warning: reached maximum number of iterations %d - converenge %7.3f\n" $N $(($CHI2[3] - $CHI2[1]))
564 1)
# ------------------------------------------------------------------------------------
569 cat>acoustics_fit_parameters.txt<<EOF
578 for STRING in $STRINGS[*];
do # fit stretching and (z) position of given
string
585 for MUL in 0.005 0.001;
do
589 for (( N=0; $N < $NUMBER_OF_ITERATIONS; ++
N ));
do
593 fitPositionOfString
$STRING Z $DX_M
594 fitStretchingOfString
$STRING $MUL
596 if (( $CHI2[3] - $CHI2[1] < $EPSILON ));
then
601 if (( $N >= $NUMBER_OF_ITERATIONS ));
then
602 printf
"warning: reached maximum number of iterations %d - converenge %7.3f\n" $N $(($CHI2[3] - $CHI2[1]))
615 2)
# ------------------------------------------------------------------------------------
620 cat>acoustics_fit_parameters.txt<<EOF
631 for (( N=0; $N < $NUMBER_OF_ITERATIONS; ++N ));
do
636 fitPositionOfString
$STRING X $DX_M
637 fitPositionOfString
$STRING Y $DX_M
638 fitPositionOfString
$STRING Z $DX_M
642 fitPositionOfTripod
$TRIPOD X $DX_M
643 fitPositionOfTripod
$TRIPOD Y $DX_M
644 fitPositionOfTripod
$TRIPOD Z $DX_M
647 if (( $CHI2[3] - $CHI2[1] < $EPSILON ));
then
652 getCenter |
read X Y Z
654 let X=
"$X - $X_CENTER"
655 let Y=
"$Y - $Y_CENTER"
656 let Z=
"$Z - $Z_CENTER"
658 JEditTripod -
f $TRIPOD_FILE -
T "-1 sub $X $Y $Z" -
r -
d 0 >& /dev/
null
663 if (( $N >= $NUMBER_OF_ITERATIONS ));
then
664 warning "reached maximum number of iterations $N - converenge $(($CHI2[3] - $CHI2[1]))"
671 for DX_M in 0.10;
do # fit (z) positions of modules and (
x,y) positions of
strings
673 for (( N=0; $N < $NUMBER_OF_ITERATIONS; ++N ));
do
679 for (( FLOOR = 1; $FLOOR <= 18; FLOOR += 1 ));
do
680 fitPositionOfModule
$STRING $FLOOR $DX_M
683 fitPositionOfString
$STRING X $DX_M
684 fitPositionOfString
$STRING Y $DX_M
687 if (( $CHI2[3] - $CHI2[1] < $EPSILON ));
then
694 if (( $N >= $NUMBER_OF_ITERATIONS ));
then
695 warning "reached maximum number of iterations $N -
converenge $(($CHI2[3] - $CHI2[1]))"
700 3)
# ------------------------------------------------------------------------------------
705 cat>acoustics_fit_parameters.txt<<EOF
714 for DX_M in 0.10 0.05;
do # fit (x,y,z) positions of
strings and
tripods
716 for (( N=0; $N < $NUMBER_OF_ITERATIONS; ++N ));
do
721 fitPositionOfString
$STRING X $DX_M
722 fitPositionOfString
$STRING Y $DX_M
723 fitPositionOfString
$STRING Z $DX_M
727 fitPositionOfTripod
$TRIPOD X $DX_M
728 fitPositionOfTripod
$TRIPOD Y $DX_M
729 fitPositionOfTripod
$TRIPOD Z $DX_M
732 if (( $CHI2[3] - $CHI2[1] < $EPSILON ));
then
737 getCenter |
read X Y Z
739 let X=
"$X - $X_CENTER"
740 let Y=
"$Y - $Y_CENTER"
741 let Z=
"$Z - $Z_CENTER"
743 JEditTripod -
f $TRIPOD_FILE -
T "-1 sub $X $Y $Z" -
r -
d 0 >& /dev/
null
748 if (( $N >= $NUMBER_OF_ITERATIONS ));
then
749 warning "reached maximum number of iterations $N - converenge $(($CHI2[3] - $CHI2[1]))"
756 for DX_M in 0.05;
do # fit (z) positions of modules and (x,y) positions of
strings
758 for (( N=0; $N < $NUMBER_OF_ITERATIONS; ++N ));
do
764 for (( FLOOR = 1; $FLOOR <= 18; FLOOR += 1 ));
do
765 fitPositionOfModule
$STRING $FLOOR $DX_M
768 fitPositionOfString
$STRING X $DX_M
769 fitPositionOfString
$STRING Y $DX_M
772 if (( $CHI2[3] - $CHI2[1] < $EPSILON ));
then
779 if (( $N >= $NUMBER_OF_ITERATIONS ));
then
780 warning "reached maximum number of iterations $N -
converenge $(($CHI2[3] - $CHI2[1]))"
785 D)
# ------------------------------------------------------------------------------------
791 cat>acoustics_fit_parameters.txt<<EOF
800 for A_RAD DX_M in 0.05 0.10;
do # fit
orientation and z-position of hydrophones
802 for (( N=0; $N < $NUMBER_OF_ITERATIONS; ++
N ));
do
806 for STRING in $STRINGS[*];
do
807 fitRotationOfHydrophone
$STRING $A_RAD
808 fitPositionOfHydrophone
$STRING Z $DX_M
811 if (( $CHI2[3] - $CHI2[1] < $EPSILON ));
then
818 if (( $N >= $NUMBER_OF_ITERATIONS ));
then
819 warning "reached maximum number of iterations $N - converenge $(($CHI2[3] - $CHI2[1]))"
825 for (( N=0; $N < $NUMBER_OF_ITERATIONS; ++
N ));
do
829 for STRING in $STRINGS[*];
do
830 fitPositionOfString
$STRING X $DX_M
831 fitPositionOfString
$STRING Y $DX_M
832 fitPositionOfString
$STRING Z $DX_M
833 fitPositionOfHydrophone
$STRING Z $DX_M
836 for TRIPOD in ${(
k)TRIPODS};
do
837 fitPositionOfTripod
$TRIPOD X $DX_M
838 fitPositionOfTripod
$TRIPOD Y $DX_M
839 fitPositionOfTripod
$TRIPOD Z $DX_M
842 if (( $CHI2[3] - $CHI2[1] < $EPSILON ));
then
847 getCenter |
read X Y Z
849 let X=
"$X - $X_CENTER"
850 let Y=
"$Y - $Y_CENTER"
851 let Z=
"$Z - $Z_CENTER"
853 JEditTripod -
f $TRIPOD_FILE -
T "-1 sub $X $Y $Z" -
r -
d 0 >& /dev/
null
858 if (( $N >= $NUMBER_OF_ITERATIONS ));
then
859 warning "reached maximum number of iterations $N - converenge $(($CHI2[3] - $CHI2[1]))"
866 for DX_M in 0.05;
do # fit (z) positions of modules and (x,y) positions of
strings
868 for (( N=0; $N < $NUMBER_OF_ITERATIONS; ++N ));
do
874 for (( FLOOR = 1; $FLOOR <= 18; FLOOR += 1 ));
do
875 fitPositionOfModule
$STRING $FLOOR $DX_M
878 fitPositionOfString
$STRING X $DX_M
879 fitPositionOfString
$STRING Y $DX_M
882 if (( $CHI2[3] - $CHI2[1] < $EPSILON ));
then
889 if (( $N >= $NUMBER_OF_ITERATIONS ));
then
890 warning "reached maximum number of iterations $N -
converenge $(($CHI2[3] - $CHI2[1]))"
895 *)
# ------------------------------------------------------------------------------------
897 fatal
"invalid stage $STAGE (possible stages: 1, 2, 3, A, D)"
909 rm -
f acoustics_fit_parameters.txt
911 source JAcoustics.sh $DETECTOR_ID
914 then usage $script< detector file >< detectorfile > nIf the range of floors is the first detector file is aligned to the second before the comparison nIn only modules within the given range of floors are used fi case set_variable RANGE $argv[3]
then usage $script< detector >< run >< outputfile > fi case set_variable OPTION
then fatal No hydrophone data file $HYDROPHONE_TXT fi sort gr k
std::istream & read(std::istream &in, JTestSummary &summary, const char delimiter= ' ')
Read test summary.
clean eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY set_variable STRING
then JLigier sh continue fi cat
then warning reached maximum number of iterations $N converenge(($CHI2[3]-$CHI2[1]))" fi done set_variable NUMBER_OF_ITERATIONS 2000 set_variable EPSILON 5.0E-4 for DX_M in 0.10
o $QUALITY_ROOT d $DEBUG!JPlot1D f
then JShowerPostfit f $INPUT_FILE o $OUTPUT_FILE N
static const double H
Planck constant [eV s].
then fatal Wrong number of arguments fi set_variable STRING $argv[1] set_variable DETECTORXY_TXT $WORKDIR $DETECTORXY_TXT tail read X Y CHI2 RMS printf optimum n $X $Y $CHI2 $RMS awk v Y
V(JDAQEvent-JTriggerReprocessor)*1.0/(JDAQEvent+1.0e-10)
do JCanberra a $DETECTOR f $INPUT_FILE o $WORKDIR canberra[${EMITTER}\] root T $WORKDIR tripod txt V $WORKDIR sound_velocity txt M $WORKDIR mechanics txt H $WORKDIR hydrophone txt E $EMITTER $DISABLE d $DEBUG!done kill_child_processes_at_exit attach getModule a $DETECTOR typeset Z STRING typeset Z FLOOR for STRING in $STRINGS[*]
then timer_start(JRandomTimesliceWriter-a ${DETECTOR}-o ${PIPE}-n ${NUMBER_OF_SLICES}-P ${PMT_FILE}-d ${DEBUG}-S ${SEED}-B"$BACKGROUND_HZ"-N"$RECYCLING"--!&&for((i=0;$i!=10;++i));do;echo 'EOF' > $PIPE;usleep 100000;done &&rm-f $PIPE)&JTimesliceReprocessor-a $
do for((RUN=${RANGE%%-*};$RUN<=${RANGE##*-};RUN+=1))
*fatal invalid stage $STAGE(possible stages:1, 2, 3, A, D)"
then fatal Invalid string $STRING
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable
do set_variable OUTPUT_DIRECTORY $WORKDIR T
then usage $script< detector specific acoustics-fit script >< option > nAuxiliary script to make scan of pre stretching of detector strings(see JEditDetector)." "\nPossible options
then break fi done getCenter read X Y Z let X
set_variable NUMBER_OF_ITERATIONS set_variable EPSILON cat acoustics_fit_parameters txt<< EOF $CONFIGURATION[*]Nmin=3;sigma_s=100.0e-6;stdev=10.0;mestimator=0;fixStrings=0;EOF for STRING in $STRINGS[*];do#fit stretching and(z) position of given string set_variable DETECTOR_TMP ${TMPDIR:-/tmp}/detector_A.datx JEditDetector-a $DETECTOR-o $DETECTOR_TMP-r $STRING JEditDetector-a $DETECTOR-o $DETECTOR-k $STRING for MUL in 0.005 0.001;do DX_M=0.2 for((N=0;$N< $NUMBER_OF_ITERATIONS;++N));do CHI2[3]=$CHI2[1] fitPositionOfString $STRING Z $DX_M fitStretchingOfString $STRING $MUL if(($CHI2[3]-$CHI2[1]< $EPSILON));then break fi done if(($N >=$NUMBER_OF_ITERATIONS));then printf"warning: reached maximum number of iterations %d - converenge %7.3f\n"$N $(($CHI2[3]-$CHI2[1])) fi done JMergeDetector-a $DETECTOR-a $DETECTOR_TMP-o $DETECTOR rm-f $DETECTOR_TMP JConvertDetectorFormat-a $DETECTOR-o $DETECTOR-r-d 0 > &dev null done
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR if do_usage *then usage $script[(input file)+] fi set_variable DEBUG set_variable WORKDIR TMPDIR
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable DEBUG set_variable WORKDIR
then JConvertDetectorFormat a $DETECTOR[1] o
do sput $STRING $FLOOR sget MODULE INPUT_FILES
do set_variable SIGMA_NS set_variable OUTLIERS set_variable OUTPUT_FILE matrix[${ALPHA_DEG}\deg\] root $JPP JMatrixNZ a $DETECTOR f $INPUT_FILE o $OUTPUT_FILE S
&set_variable OUTPUT_FILE
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
then set_variable MODULE getModule a $DETECTOR L $STRING $FLOOR JEditDetector a $DETECTOR M $MODULE add $X o $DETECTOR else echo No update of detector $DETECTOR
static const JPBS_t HYDROPHONE(4, 5)
PBS of hydrophone
then usage $script< input_file >< detector_file > fi set_variable OUTPUT_DIR set_variable SELECTOR JDAQTimesliceL1 set_variable DEBUG case set_variable DEBUG
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR &dev null set_variable DEBUG set_variable WORKDIR $JPP_DATA set_variable MAKE_PDF set_variable MERGE_PDF set_variable MAKE_CDF set_variable CLEAN set_variable BACKGROUND set_variable WGET set_variable RMAX_M set_variable absorptionLengthFactor set_variable scatteringLengthFactor BUFFER
do set_variable MODULE getModule a $WORKDIR detector_a datx L $STRING JEditDetector a $WORKDIR detector_a datx M $MODULE setz o $WORKDIR detector_a datx JEditDetector a $WORKDIR detector_b datx M $MODULE setz o $WORKDIR detector_b datx done echo Output stored at $WORKDIR detector_a datx and $WORKDIR tripod_a txt JDrawDetector2D a $WORKDIR detector_a datx a $WORKDIR detector_b datx L BL o detector $FORMAT $BATCH JDrawDetector2D T $WORKDIR tripod_a txt T $WORKDIR tripod_b txt L BL o tripod $FORMAT $BATCH JCompareDetector a $WORKDIR detector_a datx b $WORKDIR detector_b datx o $WORKDIR abc root &dev null for KEY in X Y Z
do unset TRIPODS[${ID}] done fi set_variable TMPDIR $WORKDIR mkdir p $TMPDIR set_variable OUTPUT_FILE $TMPDIR katoomba root typeset a CHI2 CHI2
then fatal Not enough tripods
double getChi2(const double P)
Get chi2 corresponding to given probability.
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 source JAcoustics sh $DETECTOR_ID CHECK_EXIT_CODE typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
source $JPP_DIR setenv csh $JPP_DIR &dev null eval JShellParser o a A
do echo Generating $dir eval D
*fatal Wrong option $OPTION
then fatal Invalid tripod $TRIPOD
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null
const JModule & getModule(const JDetector &detector, const JModuleLocation &location)
find module with a given string and floor number
do if[[!-f $ACOUSTICS_WORKDIR/${KEY}.txt]]
then usage $script< detector file >< tripodfile >< stage > input file nInput files correspond to the output of JAcousticsEventBuilder[.sh] nFirst stage eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY eval JPrintDetector a $DETECTOR O CAN source JAcoustics sh $DETECTOR_ID typeset A CONFIGURATION for key in Tmax_s