UITF Mott CODA Scripts

From Ciswikidb
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

COOL database process entries

Process Name Transition Script Purpose
logentry_start After Prestart /opt/idaq/coda/logentry_scripts/MakeEntry.sh %(rt) START %(rn) %(session) Start of Run Entry to UITFMOTTLOG, start of dalma
logentry_end After End /opt/idaq/coda/logentry_scripts/MakeEntry.sh %(rt) END %(rn) %(session) End of Run Entry to UITFMOTTLOG, end of dalma and attach log into entry if it exists
logentry_reset Before Reset /opt/idaq/coda/logentry_scripts/MakeEntry.sh %(rt) RESET %(rn) %(session) Reset of Run Entry to UITFMOTTLOG, end of dalma and attach log into entry if it exists

Script descriptions

/opt/idaq/coda/logentry_scripts/MakeEntry.sh
  • MakeEntry.sh RUNTYPE RUNSTATE RUNNUMBER
- Main script called by the CODA platform.
- Start/ends the dalma process
- Executes MottEpicsStart
- Executes displayZenity.sh
- Makes a logbook entry with the script results.
/opt/idaq/coda/logentry_scripts/MottEpicsStart
  • MottEpicsStart RUNTYPE RUNSTATE RUNNUMBER
- script that stores the values of various EPICS variables to a file with format:
RUNTYPE_RUNSTATE_RUNNUMBER.epics
and are stored in
/data/idaq/epics/

An example file is found below:

#!/bin/bash
#  EPICS variables to be included in automatic logbook entries
#   output is in
#    /data/idaq/epics/$RUNTYPE_$RUNSTATE_$RUNNUMBER.epics
#
# Usage:
#   MottEpicsStart  RUNTYPE RUNSTATE RUNNUMBER
#

RUNTYPE=undefined
RUNSTATE=undefined
RUNNUMBER=0

usage() {
    echo "ERROR: Must use three arguments"
    echo "  $0  RUNTYPE  RUNSTATE  RUNNUMBER"
}

# Parse commandline arguments
if [ -n "$1" ]; then
    RUNTYPE=$1
else
    usage
    exit 1
fi

if [ -n "$2" ]; then
    RUNSTATE=$2
else
    usage
    exit 1
fi

if [ -n "$3" ]; then
    RUNNUMBER=$3
else
    usage
    exit 1
fi

# Location of caget exe
CAGET=/usr/csite/pubtools/bin/caget

# Define the output filename if not already exported
if [ ! -n "$epicsfile" ]; then
    RUNFILE_PATH=/data/idaq/epics
    epicsfile=${RUNFILE_PATH}/${RUNTYPE}_${RUNSTATE}_${RUNNUMBER}.epics
fi

# Backup previous, if it's there
if [ -e $epicsfile ]; then
    mv -bf ${epicsfile} ${epicsfile}~
fi

# Set TESTPRINT=1 for debug output
TESTPRINT=0

log() { # debug echo - send it to /dev/null when not needed
    if [ "$TESTPRINT" == "1" ]; then
	echo $* | tee -a $epicsfile
    else
	echo $* | tee -a $epicsfile >& /dev/null
    fi
}

log $epicsfile
log "Run Timestamp:       `date`"

export EPICS_CA_ADDR_LIST="129.57.255.21"
log "EPICS_CA_ADDR_LIST:" $EPICS_CA_ADDR_LIST

log ""
log " -----"
log " -----"
log ""
log "CODA Config                              : " $RUNTYPE
log "Run Number                               : " $RUNNUMBER
log "Run State                                : " $RUNSTATE
log ""
log "	  Gun HV Readback (kV)	 : "`$CAGET -t IGLK100HVPSkVolts 2>&1`
log "	  Gun HV Current (mV)	 : "`$CAGET -t IGLK100HVPSmAmps  2>&1`
log "	  Gun Dipole BDL (G-cm)	 : "`$CAGET -t MDSK201.BDL 2>&1`
log "	  Gun Dipole Current (A)	 : "`$CAGET -t MDSK201.S 2>&1`
log " -----"
log "	  KeV Spectrometer Dump Beam Current (A)	 : "`$CAGET -t ISLK403K6485dataRead	2>&1`
log "	  Mott Target Ladder	 : "`$CAGET -t ITF:MOTT:AbsPosR	2>&1`
log "	  Mott Position	 : "`$CAGET -t ITF:MOTT:POSITION	2>&1`
log ""
log " -----"
log " -----"
log ""
#
log "	  Wafer X Stage	 : "`$CAGET -t ITFXLaserAbsPosR	     2>&1`
log "	  Wafer Y Stage	 : "`$CAGET -t ITFYLaserAbsPosR	     2>&1`
log "	  Laser Attenuator	 : "`$CAGET -t ITFAttenuatorAbsPosR	     2>&1`
log "	  Half-wave plate Set(off=out)	 : "
log "	  Half-wave plate Read(off=out)	 : "
log "	  Pockels Cell POS HV	 : "`$CAGET -t IGLK100POCKPOS      2>&1`
log "	  Pockels Cell NEG HV	 : "`$CAGET -t IGLK100POCKNEG      2>&1`
log " -----"
#
log "	  UITF Helicity Clock Set 	 : "`$CAGET -t ITFHELCLOCKs   2>&1`
log "	  Helicity Delay Set  	 : "`$CAGET -t ITFHELDELAYs	      2>&1`
log "	  Helicity Pattern Set 	 : "`$CAGET -t ITFHELPATTERNs	      2>&1`
log "	  Helicity Clock Read	 : "`$CAGET -t ITFHELCLOCKd	      2>&1`
log "	  Helicity Settle Read 	 : "`$CAGET -t ITFHELTSETTLEd	      2>&1`
log "	  Helicity Stable Read 	 : "`$CAGET -t ITFHELTSTABLEd	      2>&1`
log "	  Helicity Delay Read	 : "`$CAGET -t ITFHELDELAYd	      2>&1`
log "	  Helicity Pattern Read  : "`$CAGET -t ITFHELPATTERNd	      2>&1`
log "	  Helicity Frequency  	 : "`$CAGET -t ITFHELFREQ	      2>&1`
log " -----"
#
log "	  UITF Wien Angle :"`$CAGET -t PWFK203:spinCalc 2>&1`
log ""
log "	  UITF Wien Magnet BDL (G-cm)	 : "`$CAGET -t MWFK203.BDL  2>&1`
log "	  UITF Wien Magnet Current (A)	 : "`$CAGET -t MWFK203.S  2>&1`
log "	  UITF Wien Positive Voltage Supply: "`$CAGET -t PWFK203P:enabled       2>&1`
log "	  UITF Wien Positive Voltage Supply (V) : "`$CAGET -t PWFK203P:readVoltSet  2>&1`
log "	  UITF Wien Negative Voltage Supply: "`$CAGET -t PWFK203N:enabled           2>&1`
log "	  UITF Wien Negative Voltage Supply (V) : "`$CAGET -t PWFK203N:readVoltSet  2>&1`
log "	  UITF Wien Quad 1 BDL (G-cm)	 : "`$CAGET -t MQWK202.BDL  2>&1`
log "	  UITF Wien Quad 2 BDL (G-cm)	 : "`$CAGET -t MQWK203.BDL  2>&1`
log " -----"
#
log "	  keV Spectrometer Dipole BDL (G-cm)	 : "`$CAGET -t MDIK402.BDL 2>&1`
log "	  keV Spectrometer Dipole Current (A)	 : "`$CAGET -t MDIK402.S 2>&1`
log "	  keV Spectrometer Corrector 1 Horizontal BDL (G-cm): "`$CAGET -t MBHK501H.BDL 2>&1`
log "	  keV Spectrometer Corrector 1 Vertical	BDL (G-cm)  : "`$CAGET -t MBHK501V.BDL 2>&1`
log "	  keV Spectrometer Solenoid A BDL (G-cm): "`$CAGET -t MFQK501A.BDL 2>&1`
log "	  keV Spectrometer Solenoid B BDL (G-cm): "`$CAGET -t MFQK501B.BDL 2>&1`
log "	  keV Spectrometer Corrector 2 Horizontal BDL (G-cm): "`$CAGET -t MBHK501AH.BDL 2>&1`
log "	  keV Spectrometer Corrector 2 Vertical	BDL (G-cm)  : "`$CAGET -t MBHK501AV.BDL 2>&1`
log " -----"
#
#
# Example on reading from a list
epicslist1="ITFHELCLOCKs ITFHELDELAYs ITFHELPATTERNs"

for word in $epicslist1 ; do
    log `$CAGET $word 2>&1
done

/opt/idaq/coda/logentry_scripts/displayZenity.sh
  • displayZenity.sh RUNTYPE RUNNUMBER
- GUI to ask user for Run Start Comment