#!/bin/sh  
# \
exec oagtclsh "$0" "$@"

# input files:
# srf.alog.CavTemplate
# srf.alog.KlyTemplate
# srf.alog.Misc
#

set auto_path [linsert $auto_path 0  /usr/local/oag/apps/lib/$env(HOST_ARCH)]
set auto_path [linsert $auto_path 0 /usr/local/oag/lib_patch/$env(HOST_ARCH)]
APSStandardSetup

set station(36) 2
set station(37) 3
set station(38) 4
set station(40) 1

set cavList ""
foreach sector [array names station] {
    exec sddsprocess ./../Alarms/srf.alog.CavTemplate /tmp/srf-$sector.alog \
      "-reedit=col,ControlName,%/<sector>/$sector:/%/<station>/$station($sector):/" \
      "-reedit=col,RelatedControlName,%/<sector>/$sector:/%/<station>/$station($sector):/" \
      "-reedit=col,Description,%/<sector>/$sector/%/<station>/$station($sector)/" 
    lappend cavList /tmp/srf-$sector.alog
}
set klyList ""
foreach klystron {1 2 3 4} {
    exec sddsprocess ./../Alarms/srf.alog.KlyTemplate /tmp/srf-$klystron.alog \
      "-reedit=col,ControlName,%/<klystron>/$klystron:/" \
      "-reedit=col,RelatedControlName,%/<klystron>/$klystron:/" \
      "-reedit=col,Description,%/<klystron>/$klystron/" 
    lappend klyList /tmp/srf-$klystron.alog 
}

eval exec sddscombine $cavList $klyList ./../Alarms/srf.alog.Misc -pipe=out -merge \
 | sddssort -pipe -col=ControlName -numericHigh \
 | sddsprocess -pipe=in /tmp/srf.alog \
    -edit=column,SimpleControlName,ControlName,S?/./K \
    -print=column,ControlType,pv

puts "Comparing against master PV list"

exec sddsselect /tmp/srf.alog /home/helios/oagData/pvdata/iocRecNamesOAG.sdds -pipe=out -match=SimpleControlName=rec_name -nowarning -reuse | sddsconvert -pipe=in ./../Alarms/srf.alog -delete=column,SimpleControlName

sdds load ./../Alarms/srf.alog data
set data(ParameterNames) "InstallLocation"
set data(Parameter.InstallLocation) [list /home/helios/oagData/Alarms/srf.alog]
set data(Layout.DataMode.Mode) "ascii"
sdds save ./../Alarms/srf.alog data

eval file delete $cavList $klyList /tmp/srf.alog
puts "use cppatch to install srf.alog"
