4# ------------------------------------------------------------------------------------------
6# Auxiliary script to plot slow control data from database.
8# ------------------------------------------------------------------------------------------
10if [ -z $JPP_DIR ]; then
11 echo "Variable JPP_DIR undefined."
15source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/null
17set_variable: DEBUG DATABASE_DEBUG 2
18set_variable: WORKDIR DATABASE_WORKDIR ${TMPDIR:-/tmp}/
19set_variable: CANVAS DATABASE_CANVAS 1200x600
20set_variable: TIMEAXIS DATABASE_TIMESAXIS %d:%m:%y%F1970-01-01 00:00:00
21set_variable: GRAPHICS DATABASE_GRAPHICS gif
22set_variable: WILDCARD DATABASE_WILDCARD %
25 usage "$script <input file> <parameters file> [working directory]"
29 3) set_variable WORKDIR $3;&
30 2) set_variable PARAMETERS_FILE $2;
31 set_variable INPUT_FILE $1;;
32 *) fatal "Wrong number of arguments."
35if [[ ! -f $INPUT_FILE ]]; then
36 fatal "File $INPUT_FILE not found."
39if [[ ! -f $PARAMETERS_FILE ]]; then
40 echo $PARAMETERS_FILE > $WORKDIR/.parameters.txt # temporary file
41 set_variable PARAMETERS_FILE $WORKDIR/.parameters.txt
46exec 3< $PARAMETERS_FILE
48while read -u 3 QUANTITY MIN OUT YMIN YMAX; do
50 if [[ -n "${QUANTITY}" && ! ${QUANTITY} =~ "^#" ]]; then
52 # set environment variables:
57 eval `JPrintTitle -f ${INPUT_FILE}:TUNA`
59 echo $QUANTITY | sed -n "s/\([^\.]*\)\.\([^\.]*\)\.\(.*\)/\1 \2 \3/p" | read string floor QUANTITY
61 debug "Parsed: <${string}> <${floor}> <${QUANTITY}>"
63 if [[ ${string} != $WILDCARD ]]; then
64 set_array STRINGS $string
67 if [[ ${floor} != $WILDCARD ]]; then
68 set_variable FIRST_FLOOR ${floor/-*}
69 set_variable LAST_FLOOR ${floor/*-}
72 if [[ -n "${YMIN}" && -n "${YMAX}" ]]; then
73 set_variable Y_RANGE -y "$YMIN $YMAX"
78 set_variable quantity `echo $QUANTITY | sed 's/\[/\\\[/g;s/\]/\\\]/g'`
83 for STRING in $STRINGS[*]; do
85 for (( FLOOR = $FIRST_FLOOR; $FLOOR <= $LAST_FLOOR; FLOOR += 1 )); do
87 notice "Creating graphics ${WORKDIR}/${STRING}_${FLOOR}_${QUANTITY}.${GRAPHICS}"
91 -f "${INPUT_FILE}:${STRING}.${FLOOR}.${quantity}$" \
94 -T "(${STRING},${FLOOR})" \
96 -o ${WORKDIR}/${STRING}_${FLOOR}_${QUANTITY}.${GRAPHICS} \
100 if (( ${LAST_FLOOR} - ${FIRST_FLOOR} + 1 == 18 )); then
102 notice "Creating graphics ${WORKDIR}/${STRING}_${QUANTITY}.${GRAPHICS}"
107 ${WORKDIR}/${STRING}_*_${QUANTITY}.${GRAPHICS} \
108 ${WORKDIR}/${STRING}_${QUANTITY}.${GRAPHICS}
110 rm -f ${WORKDIR}/${STRING}_*_${QUANTITY}.${GRAPHICS}
116rm -f $WORKDIR/.parameters.txt