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

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 latDir /home/helios/oagData/sr/lattices/default
set dataDir /home/helios/oagData/sr/BPMStatus

if [catch {exec sddsprocess $dataDir/config.sdds /tmp/nonExistentX \
               -filter=col,NonexistentH,1,1 \
               -print=col,ControlName,%s:msAve:x,DeviceName
    exec sddsprocess $dataDir/config.sdds /tmp/nonExistentY \
               -filter=col,NonexistentV,1,1 \
               -print=col,ControlName,%s:msAve:y,DeviceName \
           } result] {
    puts stderr "Error (2) for $argv0 in [pwd]: $result"
    exit 1
}

if [catch {exec sddsselect ./glitchLogs/SROrbitTemplate.sdds \
               /tmp/nonExistentX -pipe=out \
               -match=ControlName -invert \
               | sddsselect -pipe=in /tmp/nonExistentY \
               /tmp/SROrbit.mon \
               -match=ControlName -invert \
           } result] {
    puts stderr "Error (2) for $argv0 in [pwd]: $result"
    exit 1
}

exec sddsexpand ./glitchLogs/SROrbitTriggers.sdds /tmp/Triggers.trig
set pages [exec sdds2stream -npages=bare /tmp/Triggers.trig]
eval exec sddscombine [APSReplicateItem -number $pages -item /tmp/SROrbit.mon] -pipe=out \
    | sddsxref -pipe /tmp/Triggers.trig -leave=* -transfer=param,* \
    | sddsprocess -pipe=in /tmp/SROrbit.atrig -nowarning \
    {"-test=column,i_page 1 =="} 

puts "Comparing against master PV list"

exec sddssort -col=ControlName /tmp/SROrbit.atrig -pipe=out \
    -unique -nowarn -numericHigh \
    | sddsprocess -pipe -edit=column,SimpleControlName,ControlName,S?/./K -nowarn \
    | tee /tmp/SROrbit.atrig \
    | sddsconvert -pipe -fromPage=1 -toPage=1 \
    | sddsselect -pipe=in /home/helios/oagData/pvdata/iocRecNamesOAG.sdds /tmp/SROrbit2.atrig \
    -match=SimpleControlName=rec_name -nowarning -reuse

exec sddsconvert /tmp/SROrbit.atrig -fromPage=2 -nowarn
exec sddscombine /tmp/SROrbit2.atrig /tmp/SROrbit.atrig -pipe=out \
    | sddsconvert -pipe=in ./glitchLogs/SROrbit.atrig \
    -delete=column,SimpleControlName -delete=parameter,NumberCombined,Filename -nowarn 

sdds load ./glitchLogs/SROrbit.atrig data
append data(ParameterNames) " InstallLocation"
set pages [llength $data(Column.[lindex $data(ColumnNames) 0])]
set location ""
for {set i 0} {$i < $pages} {incr i} {
    lappend location "/home/helios/oagData/glitchLogs/SROrbit/SROrbit.atrig"
}
set data(Parameter.InstallLocation) $location
set data(Layout.DataMode.Mode) "ascii"
sdds save ./glitchLogs/SROrbit.atrig data

file delete /tmp/nonExistentX /tmp/nonExistentY /tmp/SROrbit.mon /tmp/Triggers.trig /tmp/SROrbit.atrig /tmp/SROrbit.atrig~ /tmp/SROrbit2.atrig
    


