Menu [hide]
Toggle  Wiki
Toggle  Blogs
Toggle  Forums
Toggle  Charts
TikiWiki Assistant
Thank you for installing TikiWiki!
Click the :: options in the Menu for more options. Please, also see TikiMovies for more setup details.

GEnSpecialEvents

Specially inserted events using scripts (data not from "GEn" ROCs)
GEn
print PDF
How scripts are launched
Here is quote from Bob Michaels:
All the scripts except epicsRunEnd are launched at the start of a run
by ~a-onl/scripts/getruninfo (which in turn calls getruninfo_bgr, a
background process, done that way to avoid hanging up CODA). The
script epicsRunEnd is called at the end of a run. The scripts are
specified in the CODA database, and are called automatically (presumably
by a system call but I never checked this) by CODA during the afore-
mentioned transitions.

Tree of scripts/executables launched by CODA
getruninfo
Back to top

This scripts started at the beginning of every run.
It starts getruninfo_bgr as background process to avoid hang of CODA.
#!/bin/ksh
SCRIPT_DIR=/adaqfs/halla/a-onl/scripts

$SCRIPT_DIR/getruninfo_bgr &

exit 0

getruninfo_bgr
Back to top

This script started at beginning of each run by getruninfo. It is a
script manager to clean up old run, set up new run and start taking specially inserted events.
#!/bin/ksh
SCRIPT_DIR=/adaqfs/halla/a-onl/scripts
DETMAP_DIR=/adaqfs/halla/a-onl/detmap
PRESCALE_DIR=/adaqfs/halla/a-onl/prescale
EPICS_DIR=/adaqfs/halla/a-onl/epics
RUNNUMBER_FILE=/adaqfs/halla/a-onl/datafile/rcRunNumber
TRIGGER_FILE=/adaqfs/halla/atrig/trigger/trigger.setup
STRIP_CLEAR=/adaqfs/halla/adaq/$EXPERIMENT/scaler/clear.ctl
#
# Run number - needed by mss storage script
let num=$(eval /adaqfs/halla/a-onl/scripts/getrunnumber)
echo "$num" > $RUNNUMBER_FILE
#
if [ -e $STRIP_CLEAR ] ; then
  echo "1" > $STRIP_CLEAR
fi
#
$SCRIPT_DIR/linkassn > /dev/null 2> /dev/null &
#
# reenable scalers if last run died
$SCRIPT_DIR/clevclr_bb
#
# first clean up from previous run (if necessary)
$SCRIPT_DIR/end_clean
#
# This silly script may solve the end-run "hanging caget" problem
$SCRIPT_DIR/startLooper
#
# start ET server (unless already running)
$SCRIPT_DIR/startETserver
#
# Insert various files
#$SCRIPT_DIR/fileToEvent $DETMAP_DIR/detmap.config 135
# Write GEN thresholds to event 135
$SCRIPT_DIR/ThresGenLog > /dev/null 2> /dev/null &
#
$SCRIPT_DIR/fileToEvent $PRESCALE_DIR/prescale.dat 133
#
# write GEN HV to event 134
$SCRIPT_DIR/HVgenlogger > /dev/null 2> /dev/null &
#
# $SCRIPT_DIR/fileToEvent $TRIGGER_FILE 136
#
# Charge asymmetry feedback
# To enable/disable type "feedback on" or "feedback off".
# (COMMENT OUT FOR NOW)/adaqfs/home/adaq/qasy/feedback/start_feedback
#
# Start-of-Run EPICS info to /adaqfs/halla/a-onl/epics/runfiles/Start_of_Run_NNN.epics
$SCRIPT_DIR/epicsRunStart &
#
# Launch the scaler and EPICS loggers
$SCRIPT_DIR/getscaler &
$SCRIPT_DIR/epicsLogger &
$SCRIPT_DIR/fastEpicsLogger &
#
#
exit 0

ThresGenLog
Back to top

This script will use ~a-onl/scripts/threshold-gen to obtain the threshold values of BigHand, BigBite Preshower and Shower detectors. And using ~a-onl/scripts/fileToEvent executable to insert obtained information into data stream as event type 135.
#!/bin/ksh
#
log() { # debug echo - send it to /dev/null when not needed
    echo $* >> $thresfile
    if [ ! -z "$PS1" ] ; then echo $* ; fi
}
#
thresfile=$HOME/epics/thres.dat
/bin/rm -f $thresfile
log "Neutron arm threshold: "`/adaqfs/home/a-onl/scripts/threshold-gen get 0 | gawk '{print $1}`
log "BigBite Preshower threshold: "`/adaqfs/home/a-onl/scripts/threshold-gen get 1 | gawk '{print $1}`
log "BigBite TotalShower threshold: "`/adaqfs/home/a-onl/scripts/threshold-gen get 2 | gawk '{print $1}`
$HOME/scripts/fileToEvent $thresfile 135

fileToEvent
Back to top

This is executable which read file and inserts its content into data stream as event type specified on command line. Usage:
fileToEvent <filename> <evtype>

HVgenlogger
Back to top

Drives the readout of Neutron Arm and BigBite HV and inserts them into data stream as event type 134.
#!/bin/ksh
#
SCRIPTS=$HOME/scripts
EPICS_DIR=/adaqfs/halla/a-onl/epics
$SCRIPTS/get_hvs NA > $EPICS_DIR/gen_NA_hv.dat  2> /dev/null
$SCRIPTS/get_hvs BB > $EPICS_DIR/gen_BB_hv.dat  2> /dev/null
$SCRIPTS/fileToEvent $EPICS_DIR/gen_NA_hv.dat 134
$SCRIPTS/fileToEvent $EPICS_DIR/gen_BB_hv.dat 134

get_hvs
Back to top

This script obtains list of maps for particular detector and retrieves individual HV maps.
#!/bin/bash
#
#--- To be included in CODA start of run etc...
#-- Get the HV parameters from the "hvs" server
#

  PROG=`basename $0`
#  echo Start $PROG

  if [ $# -ne 1 ] ; then
    echo " ***" Error in $PROG: "one call parameter (NA,BB,...) is needed"
    help_dis
    exit 2
  fi

  HVG=/adaqfs/home/adev/bin/hv_proc.com
  if ! test -x $HVG ; then
    echo " ***" Error in $PROG: binary $HVG is not found
    help_dis
    exit 2
  fi

  det=XX
  tst=0
  hlp=0
  pid=$PPID

  declare -a ftmp
  i=0 ; while let $((i++)); [ $i -lt 3 ]; do
    ftmp[$i]=hv2coda.$i.$pid.tmp
  done

# ==========   Help routine start
 help_dis () {

  cat <<help_doc
 $PROG - a script to get HV parameters from the "hvs" server (in order to paste it into the CODA stream)

 Call parameters:
 $PROG detec
    where:
           detec - detector name ( BB, NA)
           -? or ? or -h  print this help                       default: none
 Example: $PROG NA
 Example: $PROG BB
help_doc
 }
# ==========   Help routine end
# ==========   Exit routine
 exit_proc () {
  i=0 ; while let $((i++)); [ $i -lt 3 ]; do
    fn=${ftmp[$i]}
    [ -f "$fn" ] && rm -f $fn
  done
 }
# ==========   Help routine end

  if [ "$1" = "?" -o "$1" = "-?" ]; then
    help_dis
    exit 2
  fi

#  set -- `getopt htP:D: $*`
#  if [ $? != 0 ] ; then
#    echo *** Error in getopt . Usage:
#    help_dis
#    exit 2
#  fi
#  for i in $* ; do
#     case $i in
#      -t)  tst=1 ; shift 1;;
#      -h)  hlp=1 ; shift 1;;
#      -c)  comm=$2 ; shift 2;;
#      -P)  hvpar=$2 ; shift 2;;
#      -D)  detec=$2 ; shift 2;;
#      --)  shift ; break;;
#     esac
#  done


 det=$1
 $HVG -D $det -c MAPS 1>${ftmp[1]} 2>${ftmp[2]}
 if [ $? -ne 0 ]; then
   cat ${ftmp[2]}
   exit_proc
   exit 2
 fi

 for map in `cat  ${ftmp[1]} | awk '{print $1}'`; do
   echo "# Map " $map " Measured Voltage"
   $HVG -D $map -c GET -P MV
   if [ $? -ne 0 ]; then
       echo " Error in information retrieval in $HVS -D $map -c GET -P MV"
   fi
   echo "# Map " $map " Measured Current"
   $HVG -D $map -c GET -P MC
   if [ $? -ne 0 ]; then
       echo " Error in information retrieval in $HVS -D $map -c GET -P MC"
   fi
 done

 exit_proc
 exit 0

hv_proc.com
Back to top

Using hvcli executable readout HV values from hvs server, and format the output.
#!/bin/bash
#
#-- Get the HV parameters from the "hvs" server
#

  PROG=`basename $0`
#  echo Start $PROG

  hostserv=XX
  hostsna=agen
  hostsbb=agen4
  port=5555
  detec=XX
  hvpar=DV
  chmap=XX
  tst=0
  hlp=0
  comm=GET
  setval=XX
  fnam=XX

  HVC=~/slowc/hvg/hvcli
  if ! test -x $HVC ; then
    HVC=/adaqfs/home/adev/slowc/hvg/hvcli
  fi
  if ! test -x $HVC ; then
    echo *** Error: binary $HVC is not found
    help_dis
    exit 2
  fi

  pid=$PPID
  declare -a ftmp
  i=0 ; while let $((i++)); [ $i -lt 6 ]; do
    ftmp[$i]=hv.$i.$pid.tmp
  done

# ==========   Help routine start
 help_dis () {
  cat <<help_doc
 $PROG - a script to get HV parameters from the "hvs" server
 Call parameters:
 $PROG -D detec [-c command] -m range [-c command] [-P parameter-to-get] [-H host] [-p port] ....
    where:
           -c command (GET or SET or MAPS)                      default: $comm
              MAPS: just prints the maps names
             (-D should be defined, the other parameters are ignored)
           -P parameter to use : DV, MV, MC, CE                 default: $hvpar
              for -c SET the valid parameters are DV, CE
           -D detector maps                                     default: none
              NA: NA_ND_L / NA_ND_R / NA_VT_L / NA_VT_R
              BB: BB_SH / BB_PS_L / BB_PS_R /BB_SC_L / BB_SC_R
              MO: MO_ALL (Moller)
           -m colums,rows range, ex: 3,17 or 2:13,7:9           default: none
              (if not defined - the max size will be taken)
           -v  value to SET (used if no -f declared)            default: none
           -f  file name containing lines with "ix iy value"    default: none
           -t  test only                                        default: none
           -H host name where the server is running             default: none
              if not set - tries to find the server by looking the lockfile:
               a) local home directory, say ~/slowc/HV_??, where ?? is the map name
               b) ~adev/slowc/HV_??
           -p port number                                       default: $port
           -b client program                                    default: $HVC
           -? or ? or -h  print this help                       default: none
 Example: $PROG -c GET -P MV -D NA_ND_L -m 1:4,2:26
 Example: $PROG -c GET -P MC -D BB_SH -m 1:7,1:27
 Example: $PROG -c MAPS -P MC -D NA_VT_L -m 1:7,1:27
 Example: $PROG -c SET -P DV -v -1200 -D NA_ND_L -m 1:7,1:27
 Example: $PROG -c SET -P CE -v 1 -D NA_ND_L -m 1:7,1:27
help_doc
 }
# ==========   Help routine end
# ==========   Exit routine
 exit_proc () {
  i=0 ; while let $((i++)); [ $i -lt 6 ]; do
    fn=${ftmp[$i]}
    [ -f "$fn" ] && rm -f $fn
  done
 }
# ==========   Help routine end

  if [ "$1" = "?" -o "$1" = "-?" ]; then
    help_dis
    exit 1
  fi

  set -- `getopt htP:D:c:v:m:f:H:p: $*`
  if [ $? != 0 ] ; then
    echo *** Error in getopt . Usage:
    help_dis
    exit 2
  fi
  for i in $* ; do
     case $i in
      -t)  tst=1 ; shift 1;;
      -h)  hlp=1 ; shift 1;;
      -c)  comm=$2 ; shift 2;;
      -P)  hvpar=$2 ; shift 2;;
      -D)  detec=$2 ; shift 2;;
      -m)  chmap=$2 ; shift 2;;
      -v)  setval=$2 ; shift 2;;
      -f)  fnam=$2 ; shift 2;;
      -H)  hostserv=$2  ; shift 2;;
      -p)  port=$2 ; shift 2;;
      -b)  HVC=$2 ; shift 2;;
      --)  shift ; break;;
     esac
  done

  if [ $hlp -gt 0 ]; then
    help_dis
    exit 1
  fi

  if [ ! -x  $HVC ]; then
    echo " *** Error - the HV client program is missing " $HVC
    exit 2
  fi

#  Get the server name

 if [ $hostserv == "XX" ]; then
   ok=0
   det=`echo $detec | cut -f1 -d\_`
#
# --  Try to find a lockfile and learn the server host name
#
   ddet=HV_$det
   lockf=.lock_hvs_$ddet

   declare -a lockname
   lockname[1]=~/slowc/$ddet/$lockf
   lockname[2]=~adev/slowc/$ddet/$lockf
   i=0 ; while let $((i++)); [ $ok -eq 0 ] && [ $i -lt 3 ]; do
     lockfile=${lockname[$i]}
     if test -f $lockfile ; then
        hostserv=`cat $lockfile | awk '{print $1}'`
        ok=1
     fi
   done

   if [ $ok -ne 0 ]; then
     echo " -- Found: server hostname " $hostserv " from the lockfile " $lockfile 1>&2
   else
     echo " *** Error - hostname for the server (-H) is not defined, and no local lockfile was found "
     i=0 ; while let $((i++)); [ $i -lt 3 ]; do
       echo " *** not found " ${lockname[$i]}
     done
     echo " *** Error - HV server host is unknown "
     help_dis
     exit 2
   fi
 fi


 ok=0
 for i in GET get SET set MAPS maps ; do
   [ $comm == $i ] && ok=1
 done
 if [ $ok -eq 0 ]; then
   echo " *** Error - server command -c "$comm " is unknown "
   help_dis
   exit 2
 fi

# Just print the maps

 if [ "$comm" == "MAPS" ]; then
    $HVC -h $hostserv -p $port -m 'get maplist' | sed s"/^C/ /"
    exit 0
 fi

#  Is the HV frame command valid?

 ok=0
 j=0
 for i in DV CE MV MC ; do
   let $((j++))
   if [ "$hvpar" == "$i" ]; then
     [ "$j" -le 2 ] || [ "$comm" == "GET" ] && ok=1
   fi
 done

 if [ $ok -eq 0 ]; then
   echo " *** Error - Wrong combination -c "$comm " and -P "$hvpar
   help_dis
   exit 2
 fi

 if [ "$comm" == "SET" ]; then
   if [ "$fnam" == "XX" ]; then
     if [ "$setval" == "XX" ]; then
       echo " *** Error - for the SET operation -c "$comm " the value -c ..., of file -f ... should be defined"
       help_dis
       exit 2
     fi
   else
     if [ ! -s "$fnam" ]; then
       echo " *** Error - for the SET operation -c "$comm " filename set -f "$fnam " is missing"
       help_dis
       exit 2
     fi
   fi
 fi

# echo $hvpar " " $detec " " $chmap " " $hostserv " " $port

 $HVC -h $hostserv -p $port -m 'get maplist' > ${ftmp[1]}
#  cp tmptmp ${ftmp[1]} # test
 head -1 ${ftmp[1]} | grep -i error >/dev/null ; ok=$?

 if [ $ok -eq 0 ]; then
   echo " *** Server at host " $hostserv " is not properly responding"
   exit_proc
   exit 2
 fi

 lin=`cat ${ftmp[1]} | sed s"/^C/ /" | awk -v t=$detec ' $1 ~ t {print $2" "$3" "$4" "$5}'`
 nw=`echo $lin | wc -w`
 if [ $nw -lt 4 ]; then
   echo " *** Map name "$detec " is missing or not properly set in the server list :"
   echo $lin
   cat ${ftmp[1]}
   exit_proc
   exit 2
 fi
# ---   Check the detector map

 if [ $chmap == "XX" ]; then
#   Get the map
   chmap=`echo $lin | awk '{k1=$3-1+$1;k2=$4-1+$2;print $3":"k1","$4":"k2}'`
 fi

 if [ "$comm" == "SET" ]; then
   $HVC -h $hostserv -p $port -m "$detec $comm $hvpar $chmap $setval"
   exit_proc
   exit 0
 fi

# comm=GET
 $HVC -h $hostserv -p $port -m "$detec $comm $hvpar $chmap"   | sed s"/^C/ /" | sed s'/\*/\&/'g > ${ftmp[2]}
# $HVC -h $hostserv -p $port -m "$detec $comm $hvpar $chmap"  # | sed s"/^C/ /"
# echo  $HVC -h $hostserv -p $port -m "$detec $comm $hvpar $chmap"  # | sed s"/^C/ /"

 head -1 ${ftmp[2]} | grep -i error >/dev/null ; ok=$?

 if [ $ok -eq 0 ]; then
   echo " *** Error in the HV server response:"
   cat ${ftmp[2]}
   exit_proc
   exit 1
 fi

 aa=`echo $chmap | cut -d, -f1`
 echo $aa | grep '\:' > /dev/null ; onenmb=$?
 if [ "$onenmb" -eq 1 ]; then
   ix1=$aa
   nx=1
   ix2=$ix1
 else
   ix1=`echo $aa | cut -d: -f1`
   ix2=`echo $aa | cut -d: -f2`
   nx=$((ix2-ix1+1))
 fi

 aa=`echo $chmap | cut -d, -f2`
 echo $aa | grep '\:' > /dev/null ; onenmb=$?
 if [ "$onenmb" -eq 1 ]; then
   iy1=$aa
   ny=1
   iy2=$iy1
 else
   iy1=`echo $aa | cut -d: -f1`
   iy2=`echo $aa | cut -d: -f2`
   ny=$((iy2-iy1+1))
 fi

# echo $nx" "$ix1" "$ix2
# echo $ny" "$iy1" "$iy2

 iy=$iy1
 ix=$ix1
 newl=1
 nw=`cat ${ftmp[2]} | wc -w`
 for i in `cat ${ftmp[2]}`; do
#   [ "$iy" -eq "$iy1" ] && printf " %3d " $iy
#   [ "$ix" -eq "$ix1" ] && printf " %3d " $iy
   if [ "$ny" -gt 1 -a "$newl" -eq 1 ]; then
     printf "%3d : " $iy
     newl=0
   fi
   if [ "$i" == "&&&" ]; then
     printf "   XXX "
   else
     printf "%6.0f " "$i"
   fi
   let $((ix++))
   if [ "$ix" -gt "$ix2" ]; then
     let $((iy++))
     ix=$ix1
     printf "\n"
     newl=1
   fi
 done



 exit_proc

 exit 0

epicsRunStart
Back to top

  • Grabs start of run information entered by user (supplementary TCL script runstart.tcl is used for that).
  • Includes prescale factors, EPICS variables, HV values and detector thresholds.
  • Generates the halog entry.
  • Inserts into data stream as event with type 130.

NOTE: Only variables in sections 2,5,7,8,10 inserted into data stream. It is implemented using TURNON* variables.
#!/bin/ksh
#
# $Id: epicsRunStart,v 1.5 2001/05/31 07:23:36 adaq Exp $
# May 18, 1998, adapted from the E91026 experiment.
# Log a bunch of EPICS data at end of run.
# The experimenters may modify this file.
#
# March 5, 1999  R.M.  Use runstart_happex.tcl
#                      for happex.  Toss out He3 stuff.
#
# July 28, 1999  R.M.  Took away runstart_happex.tcl and
#                      restored what was there before happex,
#                      but runstart.tcl may need mods.
#
# Sept 14, 2000  R.M.  Spectrometers are "right" and "left".
#                      This goes with the magnet system, not
#                      with the detector stack nor particle type.
# May  25, 2001  P.Z   gather all filenames at the beginning
#
#
# Sept 18, 2002  K.M   Modified file for E00007.  Added
#                      readback for G0 helicity and FPP HV
#
#
# Dec  23, 2002  P.S   Modified file for E01012: added polarized
#                      3He variables readback.
#
# Jan   8, 2003  P.S   add Helicity variables
#
# Apr  16, 2003  P.S   add septum and gradient coils variables
#
# May   6, 2003  R.M.  Added HALLA:p and HALLA:dpp
#
# June 5, 2005 P.M.    Add septum and gradient coils variables again
#
# $Log: epicsRunStart,v $
# Revision 1.5  2001/05/31 07:23:36  adaq
# working version 0.2 for HRS left
#
# Revision 1.4  2001/05/31 05:56:17  adaq
# *** empty log message ***
#
# Revision 1.3  2001/05/29 22:29:18  adaq
# *** empty log message ***
#

log() { # debug echo - send it to /dev/null when not needed
    echo $* >> $epicsfile
    if [ ! -z "$PS1" ] ; then echo $* ; fi
}
#

# make it easy to turn off stuff (dont just comment it out!)
TURNON1=0
TURNON2=1   # Bigbite magnets
TURNON3=0
TURNON4=0
TURNON5=1
TURNON6=0
TURNON7=1 # injector info
TURNON8=1 # Gen thresholds for BigHnad and BigBite
TURNON9=0 # SLI data and watefall target
TURNON10=1 # 3he target variables

CAGET=$HOME/scripts/caget
WISH=$CODA_BIN/dpwish
#
RNUMFILE=$HOME/datafile/rcRunNumber        # file with the run number
RUNFILES=$HOME/epics/runfiles              # epics run files
PRESCALE=$HOME/prescale/prescale.dat       # prescale file
HALOGCOM=~adaq/halog/src/halogentry.file   #
#
RTITFILE=$HOME/scripts/RUN_INFO.TITLE
RSTAFILE=$HOME/scripts/.runstart.info
RCOMFILE=$HOME/scripts/.runstart.comments
CSCRIPTS=$HOME/scripts/cscripts
#
TKSCR=$HOME/scripts/runstart.tcl
#
num=`cat $RNUMFILE`
keyword="Start_Run_2198,Run_type=other,beam_energy=1.099,beam_polarization=%,beam_raster=off,comment_text=Data with beam Threshold set to -150 2.5 uA,daq_mode=GeN,kin_name=,leftarm_p=1.095,leftarm_theta=6.0,rightarm_p=1.097,rightarm_theta=6.0,target_halfwaveplate=out,target_name=none,target_polarization=0,target_type=BeO Carbon foils"

epicsfile=$RUNFILES/Start_of_Run_$num.epics
halogfile=$RUNFILES/halog_$num.epics
#
# exec Tcl/Tk script
#
$WISH -f $TKSCR
#
key_phrase=`cat $RTITFILE`
keyword="Start_Run_${num},${key_phrase}"
#
/bin/rm -f $epicsfile
log "Beginning-of-run EPICS data for Run Number $num at `date`"
log ""

#keyword=Start_Run_2198,Run_type=other,beam_energy=1.099,beam_polarization=%,beam_raster=off,comment_text=Data with beam Threshold set to -150 2.5 uA,daq_mode=GeN,kin_name=,leftarm_p=1.095,leftarm_theta=6.0,rightarm_p=1.097,rightarm_theta=6.0,target_halfwaveplate=out,target_name=none,target_polarization=0,target_type=BeO Carbon foils
# write prescales
cat $PRESCALE  >> $epicsfile
log " ">>$epicsfile
#
#  GET ALL THE EPICS INFO
#  Set address list of epics hosts for magnets variables
#
EPICS_CA_ADDR_LIST="129.57.188.47 129.57.188.13 129.57.188.15 129.57.188.8 129.57.188.5 129.57.188.68 129.57.188.58 129.57.188.74"
#
#  Magnet Info
#
if [ $TURNON1 -eq 1 ] ; then
#
log "Left septum set current                 : "`$CAGET -t  MSEPLRSETI` # >> $epicsfile
log "Left septum current readback            : "`$CAGET -t  MSEPLMIR`  # >> $epicsfile
log "Left septum upper coil T                : "`$CAGET -t  MSEPLUPCOILT`  # >> $epicsfile
log "Left septum lower coil T                : "`$CAGET -t  MSEPLLOWCOILT`  # >> $epicsfile
log "Right septum set current                : "`$CAGET -t  MSEPRRSETI` # >> $epicsfile
log "Right septum current readback           : "`$CAGET -t  MSEPRMIR`  # >> $epicsfile
log "Right septum upper coil T               : "`$CAGET -t  MSEPRUPCOILT`  # >> $epicsfile
log "Right septum lower coil T               : "`$CAGET -t  MSEPRLOWCOILT`  # >> $epicsfile
#log "Left septum yoke T                      : "`$CAGET -t  MSEPLT2R`  # >> $epicsfile
#log "Left septum bore shield  T              : "`$CAGET -t  MSEPLT5R`  # >> $epicsfile
#
log "Left Arm Q1 momentum                     : "`$CAGET -t  HacL_Q1_P0rb    `
log "Left Arm Q1 power supply                 : "`$CAGET -t  MQ171LM`
log "Left Arm Q1 gauss meter                  : "`$CAGET -t  HacL_Q1_LS450:FLD_DATA`
log "Left Arm Q2 power supply current         : "`$CAGET -t  HacL_Q2_HP3458A:IOUT`
log "Left Arm Q2 momentum                     : "`$CAGET -t  HacL_Q2_P0rb    `
log "Left Arm Q2 gauss meter                  : "`$CAGET -t  HacL_Q2_LS450:FLD_DATA`
log "Left Arm Q2 power supply polarity        : "`$CAGET -t  HacL_VMIC1182:0_Ch17`
log "Left Arm D1 power supply current         : "`$CAGET -t  HacL_D1_HP3458A:IOUT`
log "Left Arm D1 momentum                     : "`$CAGET -t  HacL_D1_P0rb    `
log "Left Arm D1 NMR                          : "`$CAGET -t  HacL_D1_NMR:SIG`
log "Left Arm Q3 power supply current         : "`$CAGET -t  HacL_Q3_HP3458A:IOUT`
log "Left Arm Q3 momentum                     : "`$CAGET -t  HacL_Q3_P0rb    `
log "Left Arm Q3 gauss meter                  : "`$CAGET -t  HacL_Q3_LS450:FLD_DATA`
log "Left Arm Q3 power supply polarity        : "`$CAGET -t  HacL_VMIC1182:0_Ch26`
#
log "Right Arm Q1 momentum                    : "`$CAGET -t  HacR_Q1_P0rb    `
log "Right Arm Q1 power supply                : "`$CAGET -t  MQ172RM`
log "Right Arm Q1 gauss meter                 : "`$CAGET -t  HacR_Q1_LS450:FLD_DATA`
log "Right Arm Q2 power supply current        : "`$CAGET -t  HacR_Q2_HP3458A:IOUT`
log "Right Arm Q2 momentum                    : "`$CAGET -t  HacR_Q2_P0rb    `
log "Right Arm Q2 gauss meter                 : "`$CAGET -t  HacR_Q2_LS450:FLD_DATA`
log "Right Arm Q2 power supply polarity       : "`$CAGET -t  HacR_VMIC1182:0_Ch17`
log "Right Arm D1 power supply current        : "`$CAGET -t  HacR_D1_HP3458A:IOUT`
log "Right Arm D1 momentum                    : "`$CAGET -t  HacR_D1_P0rb    `
log "Right Arm D1 NMR                         : "`$CAGET -t  HacR_D1_NMR:SIG`
log "Right Arm Q3 power supply current        : "`$CAGET -t  HacR_Q3_HP3458A:IOUT`
log "Right Arm Q3 momentum                    : "`$CAGET -t  HacR_Q3_P0rb    `
log "Right Arm Q3 gauss meter                 : "`$CAGET -t  HacR_Q3_LS450:FLD_DATA`
log "Right Arm Q3 power supply polarity       : "`$CAGET -t  HacR_VMIC1182:0_Ch26`
#
fi

if [ $TURNON2 -eq 1 ] ; then

EPICS_CA_ADDR_LIST="129.57.188.16 129.57.188.42 129.57.188.58"

#  BigBite magnet
#log "BigBite magnet magnet probe              : "`$CAGET -t  HacR_BB_LS450:FLD_DATA`
log " -----"
log "BigBite magnet current setpoint          : "`$CAGET -t  MBIGBOX`
log "BigBite magnet current readback          : "`$CAGET -t  MBIGBOXM`

fi

if [ $TURNON3 -eq 1 ] ; then

#  VDC Currents
#
EPICS_CA_ADDR_LIST="129.57.188.4 129.57.188.10 "
#
log "Left Arm Top VDC Current                 : "`$CAGET -t  HrsH_VDC_rCURTop`
log "Left Arm Bottom VDC Current              : "`$CAGET -t  HrsH_VDC_rCURBot`
log "Left Arm Top VDC voltage                 : "`$CAGET -t  HrsH_VDC_rHVTop`
log "Left Arm Bottom VDC voltage              : "`$CAGET -t  HrsH_VDC_rHVBot`
log "Right Arm Top VDC voltage                : "`$CAGET -t  HRSE_DTECTR_HPE1313A:0_Ch0`
log "Right Arm Bottom VDC voltage             : "`$CAGET -t  HRSE_DTECTR_HPE1313A:0_Ch2`
#
fi

if [ $TURNON4 -eq 1 ] ; then
#
# RICH stuff
EPICS_CA_ADDR_LIST="129.57.188.40"
log "RICH Vmon 16                            : "`$CAGET -t CAENdatC1M2Ch16.NLH`
log "RICH Imon 16                            : "`$CAGET -t CAENdatC1M2Ch16.NLK`
log "RICH Vmon 17                            : "`$CAGET -t CAENdatC1M2Ch17.NLH`
log "RICH Imon 17                            : "`$CAGET -t CAENdatC1M2Ch17.NLK`
log "RICH Radiator Oxygen                    : "`$CAGET -t HacRICH_HPE1313A:0_RadO2`
log "RICH Radiator Moisture                  : "`$CAGET -t HacRICH_HPE1313A:0_RadMoist`
log "RICH Radiator Pressure                  : "`$CAGET -t HacRICH_HPE1313A:0_Ch9`
log "RICH Condensor temperature              : "`$CAGET -t HacRICH_HPE1313A:0_Cond_Temp`
log "RICH Gas Oxygen                         : "`$CAGET -t HacRICH_HPE1313A:0_GasO2`
log "RICH Gas Moisture                       : "`$CAGET -t HacRICH_HPE1313A:0_GasMoist`
log "RICH Argon Flow                         : "`$CAGET -t HacRICH_HPE1313A:0_Ch4`
log "RICH Methane Flow                       : "`$CAGET -t HacRICH_HPE1313A:0_Ch5`
log "RICH A Volts                            : "`$CAGET -t HacRICH_HPE1313A:0_Ch10`
log "RICH B Volts                            : "`$CAGET -t HacRICH_HPE1313A:0_Ch11`
#
fi

if [ $TURNON5 -eq 1 ] ; then

#  Beam Info
#
#  Set address list of epics hosts for beam current variables
#
EPICS_CA_ADDR_LIST="129.57.188.5"
log " -----"
log "Average current of the two cavities      : "`$CAGET -t  hac_bcm_average`
log "Current on Unser monitor                 : "`$CAGET -t  hac_unser_current`
log "Current on Upstream bcm                  : "`$CAGET -t  hac_bcm_dvm1_current`
log "Current on Downstream bcm                : "`$CAGET -t  hac_bcm_dvm2_current`
log "Upstream Cavity Coefficient              : "`$CAGET -t  hac_bcm_A1`
log "Downstream Cavity Coefficient            : "`$CAGET -t  hac_bcm_A2`
#
EPICS_CA_ADDR_LIST="129.57.188.5 129.57.188.2 129.57.236.67 129.57.236.70 129.57.236.87 129.57.255.4"
log " Current on IBC0L02 (source)            : "`$CAGET -t  IBC0L02Current`
#
EPICS_CA_ADDR_LIST="129.57.255.4 129.57.188.5 129.57.188.13 129.57.188.15 129.57.188.16 129.57.236.67"
log "Tiefenbach Hall A energy                 : "`$CAGET -t  halla_MeV    `
log "Tiefenbach Hall C energy                 : "`$CAGET -t  hallc_MeV    `
log "Delta(E)/E width (MV_AI_DXWID)           : "`$CAGET -t  MV_AI_DXWID  `
#
EPICS_CA_ADDR_LIST="129.57.236.67 129.57.255.4"  #this last address seems to give some kind of confilst (Gaskell 5/1/2002)
EPICS_CA_ADDR_LIST="129.57.255.4 "
log "HALLA:p                                  : "`$CAGET -t  HALLA:p      `
log "HALLA:dpp                                : "`$CAGET -t  HALLA:dpp    `
log "MBSY1c Hall A Beam energy                : "`$CAGET -t  MBSY1C_energy`
log "MBSY3c Hall C Beam energy                : "`$CAGET -t  MBSY3C_energy`
log "MBSY1c magnet current (amp)              : "`$CAGET -t  MBSY1C       `
log "MBSY1c Bdl                               : "`$CAGET -t  MBSY1C.BDL   `
#
# arc stuff
#
EPICS_CA_ADDR_LIST="129.57.255.4 129.57.188.5 129.57.188.13 129.57.188.15 129.57.188.16 129.57.188.2 129.57.236.67 129.57.236.70 129.57.236.87 129.57.236.128 129.57.236.129"
log "Arc1 dp/p                                : "`$CAGET -t  Arc1_dpp`
log "Arc2 dp/p                                : "`$CAGET -t  Arc2_dpp`
#
fi

if [ $TURNON6 -eq 1 ] ; then
#
EPICS_CA_ADDR_LIST="129.57.188.13 129.57.188.15 129.57.188.8"
log "Left Arm Collimator                      : "`$CAGET -t  HacL_COL:ENC`
#log " Left LVDT HPM                           : "`$CAGET -t  HacL_HPM_LVDT:VALr`    # >> $epicsfile
#log " Left LVDT VPM                           : "`$CAGET -t  HacL_VPM_LVDT:VALr`    # >> $epicsfile
log " HacL_HPE1313A:0_Ch58                    : "`$CAGET -t  HacL_HPE1313A:0_Ch58`
log " HacL_HPE1313A:0_Ch55                    : "`$CAGET -t  HacL_HPE1313A:0_Ch55`
log " HacL_HPE1313A:0_Ch54                    : "`$CAGET -t  HacL_HPE1313A:0_Ch54`
#log " HacL_alignROLL                          : "`$CAGET -t  HacL_alignROLL`        # >> $epicsfile
#log " HacL_alignPITCH                         : "`$CAGET -t  HacL_alignPITCH`       # >> $epicsfile
#log " HacL_alignHPT                           : "`$CAGET -t  HacL_alignHPT `        # >> $epicsfile
##
#
#EPICS_CA_ADDR_LIST="129.57.188.13 129.57.188.15 129.57.188.8"
EPICS_CA_ADDR_LIST="129.57.255.5"
log "Left Arm Angle Floor Angle               : "`$CAGET -t  HacL_AglMrk`           # >> $epicsfile
log "Left Arm Angle Vernier                   : "`$CAGET -t  HacL_AglVrn`           # >> $epicsfile
log "Left Arm Scattering Angle                : "`$CAGET -t  HacL_alignAGL`         # >> $epicsfile
#
#EPICS_CA_ADDR_LIST="129.57.188.13 129.57.188.15 129.57.188.8"
#log " Right Arm Arm Collimator                 : "`$CAGET -t  HacR_COL:ENC`          # >> $epicsfile
#log " Right LVDT HPM                           : "`$CAGET -t  HacR_HPM_LVDT:VALr`    # >> $epicsfile
#log " Right LVDT VPM                           : "`$CAGET -t  HacR_VPM_LVDT:VALr`    # >> $epicsfile
#log " HacR_HPE1313A:0_Ch58                    : "`$CAGET -t  HacR_HPE1313A:0_Ch58`  # >> $epicsfile
#log " HacR_HPE1313A:0_Ch55                    : "`$CAGET -t  HacR_HPE1313A:0_Ch55`  # >> $epicsfile
#log " HacR_HPE1313A:0_Ch54                    : "`$CAGET -t  HacR_HPE1313A:0_Ch54`  # >> $epicsfile
#log " HacR_alignROLL                          : "`$CAGET -t  HacR_alignROLL`        # >> $epicsfile
#log " HacR_alignPITCH                         : "`$CAGET -t  HacR_alignPITCH`       # >> $epicsfile
#log " HacR_alignHPT                           : "`$CAGET -t  HacR_alignHPT `        # >> $epicsfile
##
#
EPICS_CA_ADDR_LIST="129.57.188.13 129.57.188.15 129.57.188.8"
log "Right Arm Angle Floor Angle              : "`$CAGET -t  HacR_AglMrk`
log "Right Arm Angle Vernier                  : "`$CAGET -t  HacR_AglVrn`
log "Right Arm Scattering Angle               : "`$CAGET -t  HacR_alignAGL`
#
fi

if [ $TURNON7 -eq 1 ] ; then

# polarized beam info
#EPICS_CA_ADDR_LIST="129.57.188.2 129.57.236.67 129.57.236.70 129.57.236.87 129.57.236.128 129.57.236.129"
#log "Laser attenuation Hall A                 : "`$CAGET -t  psub_aa_pos`
#log "Laser power  Hall A                      : "`$CAGET -t  IGL1I00DAC0`
EPICS_CA_ADDR_LIST="129.57.255.4"
log " -----"
log "IPM1C12.XPOS                             : "`$CAGET -t  IPM1C12.XPOS  `
log "IPM1C12.YPOS                             : "`$CAGET -t  IPM1C12.YPOS  `
log "IPM1H04A.XPOS                            : "`$CAGET -t  IPM1H04A.XPOS  `
log "IPM1H04A.YPOS                            : "`$CAGET -t  IPM1H04A.YPOS  `
log "IPM1H04B.XPOS                            : "`$CAGET -t  IPM1H04B.XPOS  `
log "IPM1H04B.YPOS                            : "`$CAGET -t  IPM1H04B.YPOS  `
EPICS_CA_ADDR_LIST="129.57.242.3 129.57.242.2 129.57.236.67 129.57.236.70 129.57.236.87"
# survey offsets in bpm positions
log "Survey X offset bpmA                     : "`$CAGET -t  IPM1H04A.XSOF    `
log "Survey Y offset bpmA                     : "`$CAGET -t  IPM1H04A.YSOF    `
log "Survey X offset bpmB                     : "`$CAGET -t  IPM1H04B.XSOF    `
log "Survey Y offset bpmB                     : "`$CAGET -t  IPM1H04B.YSOF    `
#
# polarized beam information
EPICS_CA_ADDR_LIST="129.57.255.4 129.57.188.5 129.57.188.13 129.57.188.15 129.57.188.16 129.57.188.2 129.57.236.67 129.57.236.70 129.57.236.87 129.57.236.128 129.57.236.129"
EPICS_CA_ADDR_LIST="129.57.255.4"
log " -----"
log "Wien angle                               : "`$CAGET -t  WienAngle`
log "Helicity Mode ON/OFF Random/Toggle       : "`$CAGET -t  IGL1I00OD16_5`
#log "Wien BDL                                 : "`$CAGET -t  MWF1I04.BDL`
log "Wien field                               : "`$CAGET -t  IGL1I00DAC6`
log "Laser attenuation Hall A                 : "`$CAGET -t  psub_aa_pos`
log "Laser power  Hall A                      : "`$CAGET -t  IGL1I00DAC0    `
log "Half-wave plate (off=out)                : "`$CAGET -t  IGL1I00OD16_16   `
log "rotating waveplate                       : "`$CAGET -t  psub_pl_pos      `
log "Beam Half-wave plate (off=out)           : "`$CAGET -t  IGL1I00DI24_24M   `

# OTR BEAM INFO
#EPICS_CA_ADDR_LIST="129.57.238.102"
#log "target OTR  x-position                          : "`$CAGET -t  hlat:MV_AI_DXPOS `
#log "target OTR  y-position                          : "`$CAGET -t  hlat:MV_AI_DYPOS `
#log "target OTR  x-width                             : "`$CAGET -t  hlat:MV_AI_DXWID `
#log "target OTR  y-width                             : "`$CAGET -t  hlat:MV_AI_DYWID `
#log "target OTR  data valid flag                     : "`$CAGET -t  hlat:DataValid `
#log "target OTR  In/Out                              : "`$CAGET -t  hlat:DataReason `
#log "Arc OTR  x-position                          : "`$CAGET -t  hla:MV_AI_DXPOS `
#log "Arc OTR  y-position                          : "`$CAGET -t  hla:MV_AI_DYPOS `
#log "Arc OTR  x-width                             : "`$CAGET -t  hla:MV_AI_DXWID `
#log "Arc OTR  y-width                             : "`$CAGET -t  hla:MV_AI_DYWID `
#log "Arc OTR  data valid flag                     : "`$CAGET -t  hla:DataValid `
#log "Arc OTR  In/Out                              : "`$CAGET -t  hla:DataReason `


#
# CRYO TARGET INFO
#
#EPICS_CA_ADDR_LIST="129.57.188.29"
#log "Target                                        : "`$CAGET -t haBDSSELECT`
#log "fan frequency loop 1                          : "`$CAGET -t haL1_Fan_frequency_R `
#log "fan frequency loop 2                          : "`$CAGET -t haL2_Fan_frequency_R `
#log "Encoder position                              : "`$CAGET -t haBDSPOS `
#log "temperature loop 1                            : "`$CAGET -t haITC502_1_Sensor_1_R `
#log "temperature loop 1                            : "`$CAGET -t haITC502_1_Sensor_2_R `
#log "temperature loop 1                            : "`$CAGET -t haITC502_1_Sensor_3_R `
#log "temperature loop 2                            : "`$CAGET -t haITC502_2_Sensor_1_R `
#log "temperature loop 2                            : "`$CAGET -t haITC502_2_Sensor_2_R `
#log "temperature loop 2                            : "`$CAGET -t haITC502_2_Sensor_3_R `
#log "pressure loop D2                              : "`$CAGET -t haH2_P_Fill_Bottle_R `
#log "pressure loop H2                              : "`$CAGET -t haD2_P_Fill_Bottle_R `
#
fi


if [ $TURNON8 -eq 1 ] ; then

log " -----"
log "Neutron arm threshold: "`/adaqfs/home/a-onl/scripts/threshold-gen get 0 | gawk '{print $1}`
log "BigBite Preshower threshold: "`/adaqfs/home/a-onl/scripts/threshold-gen get 1 | gawk '{print $1}`
log "BigBite TotalShower threshold: "`/adaqfs/home/a-onl/scripts/threshold-gen get 2 | gawk '{print $1}`
log " -----"
log "BigBite DC Voltage Ch1 Cathode Front : "`hv_proc.com -D BB_DC -m 1,1:1 -c GET -P MV | gawk '{print $1}`
log "BigBite DC Voltage Ch1 Cathode Back : "`hv_proc.com -D BB_DC -m 2,1:1 -c GET -P MV | gawk '{print $1}`
log "BigBite DC Voltage Ch1 Field : "`hv_proc.com -D BB_DC -m 3,1:1 -c GET -P MV | gawk '{print $1}`
log "BigBite DC Voltage Ch2 Cathode : "`hv_proc.com -D BB_DC -m 1,2:2 -c GET -P MV | gawk '{print $1}`
log "BigBite DC Voltage Ch2 Cathode : "`hv_proc.com -D BB_DC -m 2,2:2 -c GET -P MV | gawk '{print $1}`
log "BigBite DC Voltage Ch2 Field : "`hv_proc.com -D BB_DC -m 3,2:2 -c GET -P MV | gawk '{print $1}`
log "BigBite DC Voltage Ch3 Cathode Top Front : "`hv_proc.com -D BB_DC -m 1,3:3 -c GET -P MV | gawk '{print $1}`
log "BigBite DC Voltage Ch3 Cathode Bot. Front : "`hv_proc.com -D BB_DC -m 2,3:3 -c GET -P MV | gawk '{print $1}`
log "BigBite DC Voltage Ch3 Cathode Top Back : "`hv_proc.com -D BB_DC -m 3,3:3 -c GET -P MV | gawk '{print $1}`
log "BigBite DC Voltage Ch3 Cathode Bot. Back : "`hv_proc.com -D BB_DC -m 4,3:3 -c GET -P MV | gawk '{print $1}`
log "BigBite DC Voltage Ch3 Field : "`hv_proc.com -D BB_DC -m 5,3:3 -c GET -P MV | gawk '{print $1}`
log " -----"
log "BigBite DC Current Ch1 Cathode Front : "`hv_proc.com -D BB_DC -m 1,1:1 -c GET -P MC | gawk '{print $1}`
log "BigBite DC Current Ch1 Cathode Back : "`hv_proc.com -D BB_DC -m 2,1:1 -c GET -P MC | gawk '{print $1}`
log "BigBite DC Current Ch1 Field : "`hv_proc.com -D BB_DC -m 3,1:1 -c GET -P MC | gawk '{print $1}`
log "BigBite DC Current Ch2 Cathode : "`hv_proc.com -D BB_DC -m 1,2:2 -c GET -P MC | gawk '{print $1}`
log "BigBite DC Current Ch2 Cathode : "`hv_proc.com -D BB_DC -m 2,2:2 -c GET -P MC | gawk '{print $1}`
log "BigBite DC Current Ch2 Field : "`hv_proc.com -D BB_DC -m 3,2:2 -c GET -P MC | gawk '{print $1}`
log "BigBite DC Current Ch3 Cathode Top Front : "`hv_proc.com -D BB_DC -m 1,3:3 -c GET -P MC | gawk '{print $1}`
log "BigBite DC Current Ch3 Cathode Bot. Front : "`hv_proc.com -D BB_DC -m 2,3:3 -c GET -P MC | gawk '{print $1}`
log "BigBite DC Current Ch3 Cathode Top Back : "`hv_proc.com -D BB_DC -m 3,3:3 -c GET -P MC | gawk '{print $1}`
log "BigBite DC Current Ch3 Cathode Bot. Back : "`hv_proc.com -D BB_DC -m 4,3:3 -c GET -P MC | gawk '{print $1}`
log "BigBite DC Current Ch3 Field : "`hv_proc.com -D BB_DC -m 5,3:3 -c GET -P MC | gawk '{print $1}`


fi
if [ $TURNON10 -eq 1 ] ; then
EPICS_CA_ADDR_LIST="129.57.188.16 129.57.188.42 129.57.188.58"
log " -----"
log " HacAi_hpchan0: Temp at Target Cell: "`$CAGET -t HacAi_hpchan0  `
log " HacAi_hpchan1: Temp at Target Cell: "`$CAGET -t HacAi_hpchan1  `
log " HacAi_hpchan2: Temp at Target Cell: "`$CAGET -t HacAi_hpchan2  `
log " HacAi_hpchan3: Temp at Target Cell: "`$CAGET -t HacAi_hpchan3  `
log " HacAi_hpchan4: Temp at Target Cell: "`$CAGET -t HacAi_hpchan4  `
log " HacAi_hpchan5: Temp at Target Cell: "`$CAGET -t HacAi_hpchan5  `
log " HacAi_hpchan6: Temp at Target Cell: "`$CAGET -t HacAi_hpchan6  `
log " HacAi_hpchan7: Temp at Target Cell: "`$CAGET -t HacAi_hpchan7  `
log " HacAi_hpchan8: Temp at Target Cell: "`$CAGET -t HacAi_hpchan8  `
log " HacAi_hpchan9: Temp at Target Cell: "`$CAGET -t HacAi_hpchan9  `
log " HacAi_hpchan60: Temp at Target Cell: "`$CAGET -t HacAi_hpchan60  `
log " HacAi_hpchan61: Temp at Target Cell: "`$CAGET -t HacAi_hpchan61  `
log " HacAi_hpchan62: Temp at Target Cell: "`$CAGET -t HacAi_hpchan62  `
log " Target position: "`$CAGET -t HaGenTargPos  `
log " Oven Air Flow: "`$CAGET -t HacOMEGA_RTD  `
log " Over Heater Temperature: "`$CAGET -t HacDP41_READ  `
log " -----"
log " HaGenTargBrake : "`$CAGET -t HaGenTargBrake  `
log " HaGenTargBrake : "`$CAGET -t HaGenTargBrake  `
#log " HacOMEGA_RTD : "`$CAGET -t HacOMEGA_RTD`
log " HacOMEGA_AL1 : "`$CAGET -t HacOMEGA_AL1`
log " HacOMEGA_READ : "`$CAGET -t HacOMEGA_READ`
log " HacOMEGA_SP1 : "`$CAGET -t HacOMEGA_SP1`
log " HacOMEGA_PROP1 : "`$CAGET -t HacOMEGA_PROP1`
log " HacOMEGA_RST1 : "`$CAGET -t HacOMEGA_RST1`
log " HacOMEGA_RATE : "`$CAGET -t HacOMEGA_RATE1`
log " pol3heSmallCoilCurrent : "`$CAGET -t pol3heSmallCoilCurrent`
log " CLASER_STATE_MB : "`$CAGET -t CLASER_STATE_MB`
log " CLASER_RDCUR : "`$CAGET -t CLASER_RDCUR`
log " CLASER_TEMP : "`$CAGET -t CLASER_TEMP`
log " CLASER2_STATE_MB : "`$CAGET -t CLASER2_STATE_MB`
log " CLASER2_RDCUR CLASER2_TEMP : "`$CAGET -t CLASER2_RDCUR CLASER2_TEMP`
log " CLASERAB_STATE_MB : "`$CAGET -t CLASERAB_STATE_MB`
log " CLASERAB_GETCUR0 : "`$CAGET -t CLASERAB_GETCUR0`
log " CLASERAB_GETCUR : "`$CAGET -t CLASERAB_GETCUR1`
log " CLASERAB_GETTEMP0 : "`$CAGET -t CLASERAB_GETTEMP0`
log " CLASERAB_GETTEMP : "`$CAGET -t CLASERAB_GETTEMP1`
log " CLASER3_STATE_MB : "`$CAGET -t CLASER3_STATE_MB`
log " CLASER3_RDCUR : "`$CAGET -t CLASER3_RDCUR`
log " CLASER3_TEMP : "`$CAGET -t CLASER3_TEMP`
log " CLASER4_STATE_MB : "`$CAGET -t CLASER4_STATE_MB`
log " CLASER4_RDCUR : "`$CAGET -t CLASER4_RDCUR`
log " CLASER4_TEMP : "`$CAGET -t CLASER4_TEMP`
log " CLASERAB2_STATE_M: "`$CAGET -t CLASERAB2_STATE_MB`
log " CLASERAB2_GETCUR0 : "`$CAGET -t CLASERAB2_GETCUR0`
log " CLASERAB2_GETCUR : "`$CAGET -t CLASERAB2_GETCUR1`
log " CLASERAB2_GETTEMP : "`$CAGET -t CLASERAB2_GETTEMP0`
log " CLASERAB2_GETTEMP1 : "`$CAGET -t CLASERAB2_GETTEMP1`
log " ----"
fi


if [ $TURNON9 -eq 1 ] ; then
EPICS_CA_ADDR_LIST="129.57.238.102 129.57.188.57"
log "SLI data valid?                         : "`$CAGET -t slia:DataValid`
log "SLI horiz size mm                       : "`$CAGET -t slia:MV_AO_DYWIDS`
log "SLI Energy spread  *10^5                : "`$CAGET -t slia:MV_AO_SPREADS`
log "SLI x position                          : "`$CAGET -t slia:MV_AI_DYPOS`
log "SLI vert. size mm                       : "`$CAGET -t slia:MV_AO_DXWIDS`
log "SLI y position                          : "`$CAGET -t slia:MV_AI_DXPOS`
log "Waterfall Pump Speed                    : "`$CAGET -t HAWF_DAC1`
log "Target StepMot Pos.                     : "`$CAGET -t HA_WF_motpos`

fi

cp $epicsfile $halogfile

$HALOGCOM $halogfile "$keyword"

echo "epicsRunStart:  script finished"

# This is sort of temporary, I want to log everything into logbook
#log ""
#log "Run Information:"
#log ""
#cat $RSTAFILE >> $epicsfile
#comfile=`cat $RCOMFILE`
#log "Using Type="
#log $1
#log ""
#if [ -z "$1" ] ; then
#    elog -l runliste -h clrlpc -p 8080 -x -a Author="Auto Submission from DAQ" -a Type="DVCS" -a Number=$num -a Subject="Start of Run" -f  $epicsfile "Information for run $num $comfile";
#else
#    elog -l runliste -h clrlpc -p 8080 -x -a Author="Auto Submission from DAQ" -a Type="$1" -a Number=$num -a Subject="Start of Run" -f  $epicsfile "Information for run $num $comfile";
#fi

getscaler
Back to top

Uses ~a-onl/scaler/gen/onl/scread executable to read out scaler and insert every 8 seconds into data stream.
#!/bin/ksh
SCRIPTS=/adaqfs/halla/a-onl/scripts
BBITE=/adaqfs/halla/a-onl/scaler/saw_server/RPC
pidfile=$SCRIPTS/getscalers_pid
DVCS=/adaqfs/halla/a-onl/scaler/dvcs_calo
RIGHT=/adaqfs/halla/a-onl/scaler/right
LEFT=/adaqfs/halla/a-onl/scaler/left
BB=/adaqfs/halla/a-onl/scaler/gen/onl
TSCALE=/adaqfs/halla/a-onl/vme/trigscal
echo $$>$pidfile
sleep 20
while [ 1 = 1 ] ; do
    $BB/scread -i
    sleep 8
done

epicsLogger
Back to top

Every 30 seconds collects the long list of epics variables and inserts them into data stream.
#!/bin/ksh
#
#  Script to get EPICS data periodically.  The time period will depend
#  on the sleep commands here but also on any delays caused by missing
#  EPICS channels (e.g. a computer is off).
#
#  Before adding anything, make sure 'caget' works at the command
#  line and you know what you are doing !!!
#
#  July 04 -- RWM   Added P0rb (readback of momentum setting) and
#                   Hac*_VMIC1182:0_Ch17
#
#
# TESTPRINT is to debug that things work.
TESTPRINT=1
EPICS_DIR=$HOME/epics
SCRIPTS=$HOME/scripts
pidfile=$EPICS_DIR/.epicsLoggerpid
epicsfile1=$EPICS_DIR/halla.epics
#
# BR added SLI stuff
#
#epicslist1="slia:DataValid slia:MV_AO_DYWIDS slia:MV_AO_SPREADS slia:MV_AI_DYWID slia:MV_AI_DYPOS slia:MV_AI_DXPOS IPM1H04A IPM1H04A.XPOS IPM1H04A.YPOS IPM1H04B IPM1H04B.XPOS IPM1H04B.YPOS IPM1C08.XPOS IPM1C10 IPM1C10.XPOS IPM1C10.YPOS IPM1C12 IPM1C12.XPOS IPM1C12.YPOS IPM1C14 IPM1C14.XPOS IPM1C14.YPOS IPM1C16 IPM1C16.XPOS IPM1C16.YPOS IPM1C18 IPM1C18.XPOS IPM1C18.YPOS IPM1C20 IPM1C20.XPOS IPM1C20.YPOS IPM1H01 IPM1H01.XPOS IPM1H01.YPOS MQA1H01RB.BDL MQM1H02RB.BDL MQO1H03RB.BDL MQO1H03ARB.BDL MBSY1C_energy MQA1H01 MQM1H02 MQO1H03 MQO1H03A MV_AI_DXPOS MV_AI_DXWID MV_AI_DYPOS MV_AI_DYWID MV_AI_XPOS MV_AI_XWID MV_AI_YPOS MV_AI_YWID  MBSY3C_energy halla_MeV hallc_MeV MBSY1C.BDL MBSY1C halla_MeV MBSY1C_energy HALLA:p HALLA:dpp HELG0TSETTLEs HELG0DELAYs HELG0PATTERNs HELG0TSETTLEd HELG0DELAYd HELG0PATTERNd FB_A:use_RF FB_A:status:mbbi2.B7 IGL1I00OD16_16 IGL1I00DI24_24M IBC0L02Current"
epicslist1="IPM1H04A IPM1H04A.XPOS IPM1H04A.YPOS IPM1H04B IPM1H04B.XPOS IPM1H04B.YPOS IPM1C08.XPOS IPM1C10 IPM1C10.XPOS IPM1C10.YPOS IPM1C12 IPM1C12.XPOS IPM1C12.YPOS IPM1C14 IPM1C14.XPOS IPM1C14.YPOS IPM1C16 IPM1C16.XPOS IPM1C16.YPOS IPM1C18 IPM1C18.XPOS IPM1C18.YPOS IPM1C20 IPM1C20.XPOS IPM1C20.YPOS IPM1H01 IPM1H01.XPOS IPM1H01.YPOS FB_A:use_RF FB_A:status:mbbi2.B7 halla_MeV hallc_MeV IBC0L02Current"
#
# Readout the following from Hall A
#
#HacR_Q1_DF853:AD8      Right Arm Q1 power supply current
#HacR_Q1_LS450:FIELD?   Right Arm Q1 gauss meter
#HacR_Q1_P0rb           Right Arm Q1 momentum setting readback
#HacR_Q2_HP3458A:IOUT   Right Arm Q2 power supply current
#HacR_Q2_LS450:FIELD?   Right Arm Q2 gauss meter
#HacR_Q2_P0rb           Right Arm Q2 momentum setting readback
#HacR_D1_HP3458A:IOUT   Right Arm D1 power supply current
#HacR_D1_VMIC1182:0_Ch17  Right Arm D1 power supply current
#HacR_D1_NMR:SIG        Right Arm D1 NMR
#HacR_D1_NMR:SIGLCK     Right Arm D1 NMR Lock Status
#HacR_D1_P0rb           Right Arm D1 momentum setting readback
#HacR_Q3_HP3458A:IOUT   Right Arm Q3 power supply current
#HacR_Q3_LS450:FIELD?   Right Arm Q3 gauss meter
#HacR_Q3_P0rb           Right Arm Q3 momentum setting readback
#
#HacL_Q1_DF853:AD8      Left Arm Q1 power supply current
#HacL_Q1_LS450:FIELD?   Left Arm Q1 gauss meter
#HacL_Q1_P0rb           Left Arm Q1 momentum setting readback
#HacL_Q2_HP3458A:IOUT   Left Arm Q2 power supply current
#HacL_Q2_LS450:FIELD?   Left Arm Q2 gauss meter
#HacL_Q2_P0rb           Left Arm Q2 momentum setting readback
#HacL_D1_HP3458A:IOUT   Left Arm D1 power supply current
#HacL_D1_NMR:SIG                Left Arm D1 NMR
#HacL_D1_NMR:SIGLCK     Left Arm D1 NMR Lock Status
#HacL_D1_VMIC1182:0_Ch17  Left Arm D1 power supply current
#HacL_D1_P0rb           Left Arm D1 momentum setting readback
#HacL_Q3_HP3458A:IOUT   Left Arm Q3 power supply current
#HacL_Q3_LS450:FIELD?   Left Arm Q3 gauss meter
#HacL_Q3_P0rb           Left Arm Q3 momentum setting readback
# HacR_COL:ENC          Right Arm Arm Collimator Position
# HacL_COL:ENC          Left Arm Arm Collimator Position
#HacR_HPE1313A:0_Ch58
#HacR_HPE1313A:0_Ch55
#HacR_HPE1313A:0_Ch54
#HacL_HPE1313A:0_Ch58
#HacL_HPE1313A:0_Ch55
#HacL_HPE1313A:0_Ch54
# add mkj 12/17/99
# HacR_HPM_LVDT:VALr HacR_VPM_LVDT:VALr
# HacR_alignROLL HacR_alignPITCH HacR_alignHPT
# HacL_HPM_LVDT:VALr HacL_VPM_LVDT:VALr
# HacL_alignROLL HacL_alignPITCH HacL_alignHPT
#hac_bcm_A1
#hac_bcm_A2
#hac_bcm_average         Average current of the two cavities
#hac_unser_current       Current on Unser monitor
#hac_bcm_dvm1_current    Current on Upstream bcm
#hac_bcm_dvm2_current    Current on Downstream bcm
#
# MSW1C00M               HAPPEX sweeper power supply current
# MSW1C00VM              HAPPEX sweeper power supply voltage
#
# added lvdt stuff back in for super-rosenbluth
# BR: septum stuff added
# BR: added waterfall target (HAWF...) and removed it (see 26apr04 save dir)
# BR: added RICH HV
# BR: fast feedback status
#
# For non-standard analysis of 1C12 OTR at low currents, pull out:
# hla:otr_xsigma   -- fit to size in X (mm)
# hla:otr_xsig_avg -- average of last 10 fits (mm)
# hla_otr_counter  -- status of fit: if >20 then program crashed
#
# Added loop2 target temperature/pressure
#epicslist2="MSEPLRSETI MSEPLMIR MSEPLUPCOILT MSEPLLOWCOILT MSEPLYOKET MSEPLLHESUPT MSEPRRSETI MSEPRMIR MSEPRUPCOILT MSEPRLOWCOILT MSEPRYOKET MSEPRLHESUPT"
# following are removed, correspond to RICH operation
# CAENdatC1M2Ch16.NLH CAENdatC1M2Ch16.NLK CAENdatC1M2Ch17.NLH CAENdatC1M2Ch17.NLK
#epicslist2="HacR_COL:ENC HacL_COL:ENC HacR_Q1_LS450:FLD_DATA HacR_Q1_P0rb HacR_Q2_P0rb HacR_D1_P0rb HacR_Q3_P0rb HacR_VMIC1182:0_Ch17 HacR_D1_HP3458A:IOUT HacR_D1_NMR:SIG HacR_D1_NMR:SIGLCK HacR_Q2_HP3458A:IOUT HacR_Q2_LS450:FLD_DATA HacR_Q3_HP3458A:IOUT HacR_Q3_LS450:FLD_DATA HacL_Q1_P0rb HacL_Q2_P0rb HacL_D1_P0rb HacL_Q3_P0rb HacL_VMIC1182:0_Ch17 HacL_D1_HP3458A:IOUT HacL_D1_NMR:SIG HacL_D1_NMR:SIGLCK HacL_Q2_HP3458A:IOUT HacL_Q3_HP3458A:IOUT hac_bcm_dvm1_read hac_bcm_dvm2_read hac_bcm_average hac_unser_current hac_bcm_dvm1_current hac_bcm_dvm2_current HacR_HPM_LVDT:VALr HacR_VPM_LVDT:VALr HacR_HPE1313A:0_Ch58 HacR_HPE1313A:0_Ch55 HacR_HPE1313A:0_Ch54  HacR_alignROLL HacR_alignPITCH HacR_alignHPT   HacL_HPE1313A:0_Ch58 HacL_HPE1313A:0_Ch55 HacL_HPE1313A:0_Ch54 hac_bcm_A1 hac_bcm_A2 HrsH_VDC_rHVTop HrsH_VDC_rHVBot HRSE_DTECTR_HPE1313A:0_Ch0 HRSE_DTECTR_HPE1313A:0_Ch2 hla:otr_xsigma hla:otr_xsig_avg hla:otr_counter"
epicslist2="hac_bcm_dvm1_read hac_bcm_dvm2_read hac_bcm_average hac_unser_current hac_bcm_dvm1_current hac_bcm_dvm2_current"
# EPICS for Gen Target, Bigbite
epicslist3="HacAi_hpchan0 HacAi_hpchan1 HacAi_hpchan2 HacAi_hpchan3 HacAi_hpchan4 HacAi_hpchan5 HacAi_hpchan6 HacAi_hpchan7 HacAi_hpchan8 HacAi_hpchan9 HacAi_hpchan60 HacAi_hpchan61 HacAi_hpchan62 HaGenTargPos HaGenTargBrake HaGenTargSeqStat HaGenTargIndCm HacDP41_READ HacDP41_1_READ HacOMEGA_RTD HacOMEGA_AL1 HacOMEGA_READ HacOMEGA_SP1 HacOMEGA_PROP1 HacOMEGA_RST1 HacOMEGA_RATE1 pol3heSmallCoilCurrent CLASER_STATE_MB CLASER_RDCUR CLASER_TEMP CLASER2_STATE_MB CLASER2_RDCUR CLASER2_TEMP CLASERAB_STATE_MB CLASERAB_GETCUR0 CLASERAB_GETCUR1 CLASERAB_GETTEMP0 CLASERAB_GETTEMP1 CLASER3_STATE_MB CLASER3_RDCUR CLASER3_TEMP CLASER4_STATE_MB CLASER4_RDCUR CLASER4_TEMP CLASERAB2_STATE_MB CLASERAB2_GETCUR0 CLASERAB2_GETCUR1 CLASERAB2_GETTEMP0 CLASERAB2_GETTEMP1 MBIGBOX MBIGBOXM"
# Injector helicity info: WienAngle, Helicity Mode ON/OFF Random/Toggle,
#     Wien field, Laser attenuation Hall A,Laser power  Hall A ,
#     Half-wave plate (off=out) ,rotating waveplate,Beam Half-wave plate (off=out)
epicslist4="WienAngle IGL1I00OD16_5 IGL1I00DAC6 psub_aa_pos  IGL1I00DAC0 IGL1I00OD16_16 psub_pl_pos IGL1I00DI24_24M"
# An infinite loop...
while [ 1 = 1 ] ; do
# beamline EPICS addresses
EPICS_CA_ADDR_LIST="129.57.255.4"
     date >| $epicsfile1
     for word in $epicslist1 ;  do
        if [ $TESTPRINT -eq 1 ] ; then
          echo "---------- test of caget output for $word ------------"
          $SCRIPTS/caget $word
        fi
        $SCRIPTS/caget $word >> $epicsfile1
     done
# Hall A EPICS addresses
EPICS_CA_ADDR_LIST="129.57.239.255 129.57.211.255 129.57.243.255 129.57.188.5 129.57.188.13 129.57.188.15 129.57.188.8 129.57.188.47 129.57.188.4 129.57.188.10 129.57.188.57 129.57.188.40 129.57.188.68 129.57.188.29 129.57.238.108 129.57.188.58 129.57.188.2 129.57.236.67 129.57.236.70 129.57.236.87 129.57.255.4 129.57.188.16 129.57.236.128 129.57.236.129 129.57.242.3 129.57.242.2 129.57.238.102 129.57.188.29 129.57.188.74"
     for word in $epicslist2 ; do
         if [ $TESTPRINT -eq 1 ] ; then
            echo "---------- test of caget output for $word ------------"
            $SCRIPTS/caget $word
         fi
         $SCRIPTS/caget $word >> $epicsfile1
     done
# Target and BigBite variables
EPICS_CA_ADDR_LIST="129.57.188.16 129.57.188.42 129.57.188.58"
     for word in $epicslist3 ; do
         if [ $TESTPRINT -eq 1 ] ; then
            echo "---------- test of caget output for $word ------------"
            $SCRIPTS/caget $word
         fi
         $SCRIPTS/caget $word >> $epicsfile1
     done
# Beam Helicity
EPICS_CA_ADDR_LIST="129.57.255.4"
     for word in $epicslist4 ; do
         if [ $TESTPRINT -eq 1 ] ; then
            echo "---------- test of caget output for $word ------------"
            $SCRIPTS/caget $word
         fi
         $SCRIPTS/caget $word >> $epicsfile1
     done

     $SCRIPTS/fileToEvent $epicsfile1 131


     sleep 30

done
exit 0

fastEpicsLogger
Back to top

Every 4 seconds collects the short list of epics variables and inserts them into data stream.
#!/bin/ksh
#
#  fastEpicsLogger -- faster than EpicsLogger with a shorter list of
#  EPICS variables.
#  Script to get EPICS data periodically.  The time period will depend
#  on the sleep commands here but also on any delays caused by missing
#  EPICS channels (e.g. a computer is off).
#
#  Before adding any variables, make sure 'caget' works at the
#  command line and that you know what you are doing.
#
TESTPRINT=0
EPICS_DIR=$HOME/epics
SCRIPTS=$HOME/scripts
pidfile=$EPICS_DIR/.fastEpicsLoggerpid
epicsfile1=$EPICS_DIR/fast.epics
#
# hac_bcm_average         Average current of the two cavities
# hac_bcm_dvm1_current    Current on Upstream bcm
# hac_bcm_dvm2_current    Current on Downstream bcm
# hac_unser_current       Unser Monitor (useful for calib)
# The IPM stuff are BPMs near the target
#
# halla_MeV  Tiefenbach energy
# MBSY1C_energy  another energy
# HallA  dp/p           halla_dpp
# HallA  dp/pCorrector  halla_dppCorr
# HallA  dp/pBpm        halla_dppBpm
# Arc1   dp/p           Arc1_dpp
# Arc2   dp/p           Arc2_dpp
#
# OTR analysis at 1C12 (for optics data at low currents)
# hla:otr_xsigma
# hla:otr_xsig_avg
# hla:otr_counter
#
# Gen Pol 3He target
# HacAi_hpchan0: Temp at Target Cell
# HacAi_hpchan1: Temp at Target Cell
# HacAi_hpchan2: Temp at Target Cell
# HacAi_hpchan3: Temp at Target Cell
# HacAi_hpchan4: Temp at Target Cell
# HacAi_hpchan0: Temp at Target Cell
# HacAi_hpchan6: Temp at Target Cell
# HacAi_hpchan7: Temp at Target Cell
# HacAi_hpchan8: Temp at Target Cell
# HacAi_hpchan9: Temp at Target Cell
# HacAi_hpchan60: Temp at Target Cell
# HacAi_hpchan61: Temp at Target Cell
# HacAi_hpchan62: Temp at Target Cell
# HaGenTargPos: Target Position
# HacDP41_READ: Oven Air Flow
# HacDP41_1_READ: Oven Heater Temperature
# MBIGBOXM: BigBite Readback
#
#epicslist1="IPM1H04A.XPOS IPM1H04A.YPOS IPM1H04B.XPOS IPM1H04B.YPOS slia:DataValid slia:MV_AO_DYWIDS slia:MV_AO_SPREADS slia:MV_AI_DYWID hla:MV_AI_DXPOS hla:MV_AI_DXWID hla:MV_AI_DYPOS hla:MV_AI_DYWID hla:DataValid hla:DataReason slia:MV_AO_ESPREADM slia:MV_AO_DXWIDM IPM1C12.XPOS IPM1C12.YPOS HC+ibcm1"
#
epicslist2="hac_bcm_average hac_bcm_dvm1_read hac_bcm_dvm2_read hac_bcm_dvm1_current hac_bcm_dvm2_current hac_unser_current"

epicslist3="IBC0L02Current"

# GEN Target Epics+ BigBite
epicslist4="HacAi_hpchan0 HacAi_hpchan1 HacAi_hpchan2 HacAi_hpchan3 HacAi_hpchan4 HacAi_hpchan5 HacAi_hpchan6 HacAi_hpchan7 HacAi_hpchan8 HacAi_hpchan9 HacAi_hpchan60 HacAi_hpchan61 HacAi_hpchan62 HaGenTargPos HacDP41_READ HacDP41_1_READ MBIGBOXM"
#epicslist4="MBIGBOXM"
#
EPICS_CA_ADDR_LIST="129.57.255.4"
echo $$>$pidfile
date >| $epicsfile1
for word in $epicslist1
  do
     $SCRIPTS/caget $word >> $epicsfile1
done
while $SCRIPTS/fileToEvent $epicsfile1 131 ; do
        sleep 4
EPICS_CA_ADDR_LIST="129.57.255.4 129.57.238.102"
        date >| $epicsfile1
        for word in $epicslist1
          do
          if [ $TESTPRINT -eq 1 ] ; then
             echo "---------- test of caget output for $word ------------"
             $SCRIPTS/caget $word
          fi
          $SCRIPTS/caget $word >> $epicsfile1
        done
#
EPICS_CA_ADDR_LIST="129.57.239.255 129.57.211.255 129.57.243.255 129.57.188.5 129.57.188.13 129.57.188.15 129.57.188.16 129.57.188.2 129.57.236.10 129.57.255.8 129.57.238.108 129.57.238.102"
        for word in $epicslist2
          do
          if [ $TESTPRINT -eq 1 ] ; then
             echo "---------- test of caget output for $word ------------"
             $SCRIPTS/caget $word
          fi
          $SCRIPTS/caget $word >> $epicsfile1
        done
EPICS_CA_ADDR_LIST="129.57.255.4"
        for word in $epicslist3
          do
          if [ $TESTPRINT -eq 1 ] ; then
             echo "---------- test of caget output for $word ------------"
             $SCRIPTS/caget $word
          fi
          $SCRIPTS/caget $word >> $epicsfile1
        done
EPICS_CA_ADDR_LIST="129.57.188.16 129.57.188.42 129.57.188.58"
        for word in $epicslist4
          do
          if [ $TESTPRINT -eq 1 ] ; then
             echo "---------- test of caget output for $word ------------"
             $SCRIPTS/caget $word
          fi
          $SCRIPTS/caget $word >> $epicsfile1
        done

done
exit 0

epicsRunEnd
Back to top

  • Grabs end of run information entered by user (supplementary executable /adaqfs/coda/2.5/Linux/bin/dpwish is used for that).
  • End of run information includes prescale factors, EPICS variables, HV values and detector thresholds.
  • Generates the halog entry.
NOTE: Only variables in sections 2,5,7,8,10 are going into end of run information. It is implemented using TURNON* variables.

Using supplementary TCL script runend.tcl this script does:
  • Grabs end of run information entered by user.
  • Collects various scaler data.
  • Generates the halog entry.
  • Does not insert information into data stream.

NOTE: halog_com_####.epics halog_end_####.epics files from epics/runfiles directory are the same.

#!/bin/ksh
# May 18, 1998, adapted from the E91026 experiment.
# Log a bunch of EPICS data at end of run.
# The experimenters may modify this file.
#
# Sept 14, 2000  R.M.  Spectrometers are "right" and "left".
#                      This goes with the magnet system, not
#                      with the detector stack nor particle type.
#
# May  25, 2001  P.Z   gather all filenames at the beginning
#
# Jan   8, 2003  P.S   add Helicity variables
#
# Apr  16, 2003  P.S   add septum and gradient coils variables
#
# May   6, 2003  R.M.  added HALLA:p and HALLA:dpp
#
# Jan  13, 2003  R.M.  Turned off several "broken" variables.
#                      Put in switches to turn off sections
#                      (need to keep the script short).
#
# June 5, 2005   P.M.  Added septm stuff back in


log() {
    echo $* >> $epicsfile
    if [ ! -z "$PS1" ] ; then echo $* ; fi
}
#
# turn stuff on/off (1/0)
TURNON1=0   #magnets
TURNON2=0   #beam info
TURNON3=0   #polarized beam/OTR
TURNON4=0   #RICH
TURNON5=0   #SLI
TURNON8=1 # Gen thresholds for BigHnad and BigBite

#
#
CAGET=$HOME/scripts/caget
WISH=$CODA_BIN/dpwish
#
RNUMFILE=$HOME/datafile/rcRunNumber        # file with the run number
RUNFILES=$HOME/epics/runfiles              # epics run files
PRESCALE=$HOME/prescale/prescale.dat       # prescale file
HALOGCOM=~adaq/halog/src/halogentry.file
RCOMFILE=$HOME/scripts/.runend.comments
#
RTITFILE=$HOME/scripts/RUN_INFO.TITLE
RSTAFILE=$HOME/scripts/RUNSTART.INFO
BCMCALIB=$HOME/scripts/bcmcalib-Jan-12-2001.tcl
#
TKSCR=$HOME/scripts/runend.tcl
#
# beep the terminal
BEEP=$HOME/tcp/beep/end_run_beep
$BEEP
#
echo "epicsRunEnd:  about to call runend.tcl"
$WISH -f $TKSCR
#
echo "epicsRunEnd:  finished with runend.tcl"
num=`cat $RNUMFILE`
keyword=End_of_Run_$num
halogfile=$RUNFILES/halog_end_$num.epics
comfile=$RUNFILES/halog_com_$num.epics
epicsfile=$RUNFILES/End_of_Run_$num.epics
#
/bin/rm -f $epicsfile

log "End-of-run EPICS data for Run Number $num at `date`"


#
if [ $TURNON1 -eq 1 ] ; then

#  General info
#
EPICS_CA_ADDR_LIST="129.57.188.13 129.57.188.15 129.57.188.47 129.57.188.8"
log "Left Arm D

Created by: nerses last modification: Monday 03 of July, 2006 [22:32:41 UTC] by nerses


Search
in:
Powered by TikiWiki Powered by PHP Powered by Smarty Powered by ADOdb Made with CSS Powered by RDF powered by The PHP Layers Menu System
RSS Wiki RSS Blogs rss Articles RSS Image Galleries RSS File Galleries RSS Forums
[ Execution time: 0.22 secs ]   [ Memory usage: 8.06MB ]   [ 85 database queries used ]   [ GZIP Enabled ]   [ Server load: 0.12 ]