#!/bin/bash
##########################################################################
# run the BBC ADC gain calibrations
##########################################################################

##########################################################################
# 1 delay = 4[clock]*106.5[ns/clock]/256 = 1.6640625[ns]
# 4 and 256 are defined by electronics. it should not be change!!
# Take always care of clock width, if it will be changed, or not
##########################################################################

let tpdelay=120    <-- TP_Delay. This Value should be 8 more value than TP_Delay value of TVC= 0 ch
let dac=4095     <--  MAX of Charge

##########################################################################
# relevant files:
# 1. the list of tpdelays and prdf files are kept in ~phnxbbc/calib/logs/
# 2. an ascii dump of the output from this run is kept for 30 days in
# ~phnxbbc/calib/logs/rundump
##########################################################################

calibfile=~phnxtof/calib/logs/Q_ntc/ntcqscan`date '+@%m-%d-%Y_%H:%M.%S'`.calib

dumpfile=`ls -tr ~phnxtof/calib/logs/rundump/ntcqscan*.dump | head -1`

##########################################################################
# loop over the test pulse delays
##########################################################################

while [ $dac -ge 0 ]
do

setbbcTimingDelay.sh $tpdelay

echo "********************************"
echo "* setting dac to $dac"
echo "********************************"

setntcQvalue.sh $dac $dac

######################################
# start up run control, take data
######################################
rc_calib.sh BB GTM.BB.INITQFA.gtm 20   <--  Time of taking data

#let dac-=128
let dac-=4000    <--  Step of Charge

done > $dumpfile

##########################################################################
# parse the text dump to get the tpdelay and prdf file
##########################################################################
awk '/^* setting dac to / { printf("%-8d", $NF); } \
/^taskName = tStartPar/ { print $NF; }' $dumpfile > $calibfile