#!/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 ControlNameList [list S:SrcPrmtrsVld S:SrcPrmtrsTmVl]
set ReadbackNameList [list S:SrcPrmtrsVld S:SrcPrmtrsTmVl]
set ReadbackUnitsList [list "" ""]
set LoprList [list -1 0]
set HoprList [list 1 1e11]
set ValueStringList [list 0 0]
set ProviderList [list ca ca]
set ExpectNumericList [list y y]
set ExpectFieldTypeList [list scalar scalar]
set ExpectElementsList [list 1 1]

for {set sector 1} {$sector<36} {incr sector} {
    set ssector [format %02d $sector]
    foreach type {ID BM} {
        foreach plane {X Y} {
            foreach quan {Beta Alpha Eta EtaSlope Size Divergence} \
              units {m "" m "" um urad} {
                  lappend ControlNameList S${ssector}${type}${quan}${plane}
                  lappend ReadbackUnitsList $units
                  lappend HoprList  1e300
                  lappend LoprList -1e300
                  lappend ValueStringList 0
                  lappend ProviderList ca
                  lappend ExpectNumericList y
                  lappend ExpectFieldTypeList scalar
                  lappend ExpectElementsList 1
              }
        }
    }
}

set data(ColumnNames) [list ControlName ReadbackName ReadbackUnits Hopr Lopr ValueString Provider ExpectNumeric ExpectFieldType ExpectElements]
set data(ColumnInfo.ControlName) "type SDDS_STRING"
set data(ColumnInfo.ReadbackName) "type SDDS_STRING"
set data(ColumnInfo.ReadbackUnits) "type SDDS_STRING"
set data(ColumnInfo.Hopr) "type SDDS_DOUBLE"
set data(ColumnInfo.Lopr) "type SDDS_DOUBLE"
set data(ColumnInfo.ValueString) "type SDDS_STRING"
set data(ColumnInfo.Provider) "type SDDS_STRING"
set data(ColumnInfo.ExpectNumeric) "type SDDS_CHARACTER"
set data(ColumnInfo.ExpectFieldType) "type SDDS_STRING"
set data(ColumnInfo.ExpectElements) "type SDDS_LONG"

set data(Column.ControlName) [list $ControlNameList]
set data(Column.ReadbackName) [list $ControlNameList]
set data(Column.ReadbackUnits) [list $ReadbackUnitsList]
set data(Column.Hopr) [list $HoprList]
set data(Column.Lopr) [list $LoprList]
set data(Column.ValueString) [list $ValueStringList]
set data(Column.Provider) [list $ProviderList]
set data(Column.ExpectNumeric) [list $ExpectNumericList]
set data(Column.ExpectFieldType) [list $ExpectFieldTypeList]
set data(Column.ExpectElements) [list $ExpectElementsList]


set data(ParameterNames) InstallLocation
set data(Parameter.InstallLocation) [list $OAGGlobal(OAGDataDirectory)/sddspcas/brahms/computeSourceSizes.pcas]
sdds save ../pcas/computeSourceSizes.pcas data 
