#!/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

lappend data(ParameterNames) "InstallLocation"
lappend data(ColumnNames) MagnetName
lappend data(ColumnNames) Beamline
lappend data(ColumnNames) Sector
lappend data(ColumnNames) Type
lappend data(ColumnNames) OnOffStatusPV
lappend data(ColumnNames) StatusOnValue
lappend data(ColumnNames) TurnOnPV
lappend data(ColumnNames) TurnOnValue
lappend data(ColumnNames) TurnOffPV
lappend data(ColumnNames) TurnOffValue
lappend data(ColumnNames) ResetPV
lappend data(ColumnNames) ResetValue
lappend data(ColumnNames) FaultPV
lappend data(ColumnNames) NoFaultValue
lappend data(ColumnNames) SetCurrentPV
lappend data(ColumnNames) ReadCurrentPV
lappend data(ColumnNames) ReadDCCTCurrentPV
lappend data(ColumnNames) ReadDacCurrentPV
lappend data(ColumnNames) ReadDCCTSlowCurrentPV
lappend data(ColumnNames) SetVoltagePV
lappend data(ColumnNames) ReadVoltagePV
lappend data(ColumnNames) ReadDacVoltagePV
lappend data(ColumnNames) StartConditioningPV
lappend data(ColumnNames) SetConditioningCyclesPV
lappend data(ColumnNames) SetConditioningFinishPV
lappend data(ColumnNames) ReadTempPV
lappend data(ColumnNames) RateDividerPV
lappend data(ColumnNames) ResistancePV


foreach name $data(ParameterNames) {
    set data(ParameterInfo.$name) "type SDDS_STRING"
}
foreach name $data(ColumnNames) {
    set data(ColumnInfo.$name) "type SDDS_STRING"
}


proc LINACcorrectors {} {
    #All Degauss

    global data

    set names "L1:PC1:SM:HC L1:PC1:SM:VC L1:PC1:SM:NQ L1:PC1:SM:SQ L1:PC1:BK L1:PC1:SM"
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "LINAC"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "corr"
        lappend data(Column.OnOffStatusPV) ":PS:StatusCALC"
        lappend data(Column.StatusOnValue) 1
        lappend data(Column.TurnOnPV) ":PS:ResetSEQ"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":PS:OffBO"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":PS:ResetSEQ"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ":PS:CurrentAO"
        lappend data(Column.ReadCurrentPV) ":PS:CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ":PS:OutCurrentAI"
        lappend data(Column.ReadDacCurrentPV) ":PS:DacAI"
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":PS:OutVoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ":PS:DACOutVoltageAI"
        lappend data(Column.StartConditioningPV) ":PS:StdSU.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":PS:StdSU.F"
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ":PS:MagTempAI"
        lappend data(Column.RateDividerPV) ":PS:RateDividerAO"
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
    }


    set names "L1:PC1:SC1:HZ L1:PC1:SC1:VL "
    append names "L1:PC1:SC2:HZ L1:PC1:SC2:VL "
    append names "L1:PC1:SC3:HZ L1:PC1:SC3:VL "
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "LINAC"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "corr"
        lappend data(Column.OnOffStatusPV) ":readyCC"
        lappend data(Column.StatusOnValue) 1
        lappend data(Column.TurnOnPV) ":ResetBO"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OffBO"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":ResetBO"
        lappend data(Column.ResetValue) "1"
        lappend data(Column.SetCurrentPV) ":CurrentAO"
        lappend data(Column.ReadCurrentPV) ":CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ""
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":OutVoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":StdSU.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StdSU.F"
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ""
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
        #puts "$name [exec cavget -list=${name}:StdSU.SNAM]"
    }

    set names "L1:RG1:H1 L1:RG1:V1 "
    append names "L1:RG1:H2 L1:RG1:V2 "
    append names "L1:RG1:H3 L1:RG1:V3 "
    append names "          L1:RG2:V1 "
    append names "L1:RG2:H2 L1:RG2:V2 "
    append names "L1:RG2:H3 L1:RG2:V3 "
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "LINAC"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "corr"
        lappend data(Column.OnOffStatusPV) ":SupplyOnOffM"
        lappend data(Column.StatusOnValue) 1
        lappend data(Column.TurnOnPV) ":SupplyOnOffC"
        lappend data(Column.TurnOnValue) 1
        lappend data(Column.TurnOffPV) ":SupplyOnOffC"
        lappend data(Column.TurnOffValue) 0
        lappend data(Column.ResetPV) ":ResetSupplyC.PROC"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ":SetDacCurrentC"
        lappend data(Column.ReadCurrentPV) ":MeasCurrentM"
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ":MeasDacCurrentM"
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":VoltageM" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":ConditionC.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":ConditionC.F"
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ":TemperatureM"
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ":ResistanceC"
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
        #puts "$name [exec cavget -list=${name}:ConditionC.SNAM]"
    }

    set  names "L1:H1 L1:V1 "
    append names "L1:H2 L1:V2 "
    append names "L1:H3 L1:V3 "
    append names "L1:H4 L1:V4 "
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "LINAC"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "corr"
        lappend data(Column.OnOffStatusPV) ":SupplyOnOffM"
        lappend data(Column.StatusOnValue) 1
        lappend data(Column.TurnOnPV) ":SupplyOnOffC"
        lappend data(Column.TurnOnValue) 1
        lappend data(Column.TurnOffPV) ":SupplyOnOffC"
        lappend data(Column.TurnOffValue) 0
        lappend data(Column.ResetPV) ":ResetSupplyC.PROC"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ":SetDacCurrentC"
        lappend data(Column.ReadCurrentPV) ":MeasCurrentM"
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ":MeasDacCurrentM"
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":VoltageM" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":ConditionC.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":ConditionC.F"
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ":TemperatureM"
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ":ResistanceC"
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
        #puts "$name [exec cavget -list=${name}:ConditionC.SNAM]"
    }

    set names "L1:RG2:SC1:HZ "
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "LINAC"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "corr"
        lappend data(Column.OnOffStatusPV) ":readyCC"
        lappend data(Column.StatusOnValue) 1
        lappend data(Column.TurnOnPV) ":ResetSQ"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OffBO"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":ResetSQ"
        lappend data(Column.ResetValue) "1"
        lappend data(Column.SetCurrentPV) ":CurrentAO"
        lappend data(Column.ReadCurrentPV) ":CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ""
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":VoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":StdSU.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StdSU.F"
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ":MagTempAI"
        lappend data(Column.RateDividerPV) ":RateDivAO"
        lappend data(Column.ResistancePV) ":ResistanceCC"
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
        #puts "$name [exec cavget -list=${name}:StdSU.SNAM]"
    }

    set names "L3:SC2:HZ L3:SC2:VL "
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "LINAC"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "corr"
        lappend data(Column.OnOffStatusPV) ":PS:readyCC"
        lappend data(Column.StatusOnValue) 1
        lappend data(Column.TurnOnPV) ":PS:ResetBO"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":PS:OffBO"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":PS:ResetBO"
        lappend data(Column.ResetValue) "1"
        lappend data(Column.SetCurrentPV) ":PS:CurrentAO"
        lappend data(Column.ReadCurrentPV) ":PS:CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ""
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":PS:OutVoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":PS:DegaussC.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":PS:DegaussC.F"
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ""
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
        #puts "$name [exec cavget -list=${name}:PS:DegaussC.SNAM]"
    }

    set names "L2:SC1:HZ L2:SC1:VL "
    append names "L2:SC2:HZ L2:SC2:VL "
    append names "L2:SC3:HZ L2:SC3:VL "
    append names "L2:SC4:HZ L2:SC4:VL "
    append names "L4:SC1:HZ L4:SC1:VL "
    append names "L4:SC2:HZ L4:SC2:VL "
    append names "L4:SC3:HZ L4:SC3:VL "
    append names "L4:SC4:HZ L4:SC4:VL "
    append names "L5:SC1:HZ L5:SC1:VL "
    append names "L5:SC2:HZ L5:SC2:VL "
    append names "L5:SC3:HZ L5:SC3:VL "
    append names "L5:SC4:HZ L5:SC4:VL "
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "LINAC"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "corr"
        lappend data(Column.OnOffStatusPV) ":PS:readyCC"
        lappend data(Column.StatusOnValue) 1
        lappend data(Column.TurnOnPV) ":PS:enableBO"
        lappend data(Column.TurnOnValue) 0 
        lappend data(Column.TurnOffPV) ":PS:enableBO"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ""
        lappend data(Column.ResetValue) ""
        lappend data(Column.SetCurrentPV) ":PS:setCurrentAO"
        lappend data(Column.ReadCurrentPV) ":PS:measCurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ""
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":PS:measVoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":PS:degaussSU.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":PS:degaussSU.F"
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ""
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ":PS:ResistanceCC"
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
        #puts "$name [exec cavget -list=${name}:PS:degaussSU.SNAM]"
    }

    set names "L3:SC1:HZ L3:SC1:VL "
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "LINAC"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "corr"
        lappend data(Column.OnOffStatusPV) ":PS:readyCC"
        lappend data(Column.StatusOnValue) 1
        lappend data(Column.TurnOnPV) ":PS:enableBO"
        lappend data(Column.TurnOnValue) 0 
        lappend data(Column.TurnOffPV) ":PS:enableBO"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ""
        lappend data(Column.ResetValue) ""
        lappend data(Column.SetCurrentPV) ":PS:setCurrentAO"
        lappend data(Column.ReadCurrentPV) ":PS:measCurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ""
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":PS:measVoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":PS:degaussSU.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":PS:degaussSU.F"
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ""
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
        #puts "$name [exec cavget -list=${name}:PS:degaussSU.SNAM]"
    }

    set names "L3:SM:SC1:HZ L3:SM:SC1:VL "
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "LINAC"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "corr"
        lappend data(Column.OnOffStatusPV) ":PS:readyCC"
        lappend data(Column.StatusOnValue) 1
        lappend data(Column.TurnOnPV) ":PS:enableBO"
        lappend data(Column.TurnOnValue) 1
        lappend data(Column.TurnOffPV) ":PS:enableBO"
        lappend data(Column.TurnOffValue) 0
        lappend data(Column.ResetPV) ""
        lappend data(Column.ResetValue) ""
        lappend data(Column.SetCurrentPV) ":PS:setCurrentAO"
        lappend data(Column.ReadCurrentPV) ":PS:measCurrAI"
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ""
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":PS:measVoltAI" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":PS:degaussSU.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":PS:degaussSU.F"
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ""
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ":PS:ResistanceCC"
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
        #puts "$name [exec cavget -list=${name}:PS:degaussSU.SNAM]"
    }
}

proc LINACquads {} {
    global data
    set names "L1:PC1:QE1 L1:PC1:QE2"
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "LINAC"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "qe"
        lappend data(Column.OnOffStatusPV) ":OnOffStatusM"
        lappend data(Column.StatusOnValue) 1
        lappend data(Column.TurnOnPV) ":OnOffC"
        lappend data(Column.TurnOnValue) 1
        lappend data(Column.TurnOffPV) ":OnOffC"
        lappend data(Column.TurnOffValue) 0
        lappend data(Column.ResetPV) ""
        lappend data(Column.ResetValue) ""
        lappend data(Column.SetCurrentPV) ":CurrentAO"
        lappend data(Column.ReadCurrentPV) ":CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ""
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":VoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ""
        lappend data(Column.SetConditioningCyclesPV) ""
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ""
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
     }

    #DEGAUSS
    set names "L1:PC1:QM1 L1:PC1:QM2"
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "LINAC"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "quad"
        lappend data(Column.OnOffStatusPV) ":readyCC"
        lappend data(Column.StatusOnValue) 1
        lappend data(Column.TurnOnPV) ":ResetBO"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OffBO"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":ResetBO"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ":CurrentAO"
        lappend data(Column.ReadCurrentPV) ":CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ""
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":OutVoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":StdSU.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StdSU.F"
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ""
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
        #puts "$name [exec cavget -list=${name}:StdSU.SNAM]"
    }

    #DEGAUSS
    set names "L1:Q1 L1:Q2 L1:Q3 L1:Q4 L1:Q5 "
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "LINAC"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "quad"
        lappend data(Column.OnOffStatusPV) ":SupplyOnOffM"
        lappend data(Column.StatusOnValue) 1
        lappend data(Column.TurnOnPV) ":SupplyOnOffC"
        lappend data(Column.TurnOnValue) 1
        lappend data(Column.TurnOffPV) ":SupplyOnOffC"
        lappend data(Column.TurnOffValue) 0
        lappend data(Column.ResetPV) ":ResetSupplyC.PROC"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ":SetDacCurrentC"
        lappend data(Column.ReadCurrentPV) ":MeasCurrentM"
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ":MeasDacCurrentM"
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":VoltageM" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":ConditionC.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":ConditionC.F"
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ":TemperatureM"
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ":ResistanceC"
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
        #puts "$name [exec cavget -list=${name}:ConditionC.SNAM]"
    }

    #DEGAUSS
    set names "L1:RG1:Q1 L1:RG1:Q2 L1:RG1:Q3 L1:RG1:Q4 "
    append names "L1:RG2:Q1 L1:RG2:Q2 L1:RG2:Q3 L1:RG2:Q4 "
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "LINAC"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "quad"
        lappend data(Column.OnOffStatusPV) ":SupplyOnOffM"
        lappend data(Column.StatusOnValue) 1
        lappend data(Column.TurnOnPV) ":SupplyOnOffC"
        lappend data(Column.TurnOnValue) 1
        lappend data(Column.TurnOffPV) ":SupplyOnOffC"
        lappend data(Column.TurnOffValue) 0
        lappend data(Column.ResetPV) ":ResetSupplyC.PROC"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ":SetDacCurrentC"
        lappend data(Column.ReadCurrentPV) ":MeasCurrentM"
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ":MeasDacCurrentM"
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":VoltageM" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":ConditionC.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":ConditionC.F"
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ":TemperatureM"
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ":ResistanceC"
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
        #puts "$name [exec cavget -list=${name}:ConditionC.SNAM]"
    }

    #DEGAUSS
    set names ""
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "LINAC"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "quad"
        lappend data(Column.OnOffStatusPV) ":readyCC"
        lappend data(Column.StatusOnValue) 1
        lappend data(Column.TurnOnPV) ":ResetSQ"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OffBO"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":ResetSQ"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ":CurrentAO"
        lappend data(Column.ReadCurrentPV) ":CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ""
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":VoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":StdSU.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StdSU.F"
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ":MagTempAI"
        lappend data(Column.RateDividerPV) ":RateDivAO"
        lappend data(Column.ResistancePV) ":ResistanceCC"
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
        #puts "$name [exec cavget -list=${name}:StdSU.SNAM]"
    }

    #STANDARDIZE
    set names "L2:QM1 L2:QM2 L2:QM3 L2:QM4 L2:QM5 L2:QM6 L2:QM7 L2:QM8 "
    append names "L3:QM1 L3:QM2 L3:QM3 L3:QM4 L3:QM5 L3:QM6 "
    append names "L4:QM1 L4:QM2 L4:QM3 L4:QM4 L4:QM5 L4:QM6 L4:QM7 "
    append names "L5:QM1 L5:QM2 L5:QM3 L5:QM4 "
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "LINAC"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "quad"
        lappend data(Column.OnOffStatusPV) ":readyCC"
        lappend data(Column.StatusOnValue) 1
        lappend data(Column.TurnOnPV) ":ResetBO"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OffBO"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":ResetBO"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ":CurrentAO"
        lappend data(Column.ReadCurrentPV) ":CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ""
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":OutVoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":StandardizeSUB.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StandardizeSUB.F"
        lappend data(Column.SetConditioningFinishPV) ":StandardizeSUB.G"
        lappend data(Column.ReadTempPV) ""
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
        #puts "$name [exec cavget -list=${name}:StandardizeSUB.SNAM]"
   }

    if {0} {
        set names "L2:QM0"
        foreach name $names {
            lappend data(Column.MagnetName) $name
            lappend data(Column.Beamline) "LINAC"
            lappend data(Column.Sector) ""
            lappend data(Column.Type) "quad"
            lappend data(Column.OnOffStatusPV) ":readyCC"
            lappend data(Column.StatusOnValue) 1
            lappend data(Column.TurnOnPV) ":ResetBO"
            lappend data(Column.TurnOnValue) 1 
            lappend data(Column.TurnOffPV) ":OffBO"
            lappend data(Column.TurnOffValue) 1 
            lappend data(Column.ResetPV) ":ResetBO"
            lappend data(Column.ResetValue) 1
            lappend data(Column.SetCurrentPV) ":CurrentAO"
            lappend data(Column.ReadCurrentPV) ":CurrentAI"
            lappend data(Column.ReadDCCTCurrentPV) ""
            lappend data(Column.ReadDacCurrentPV) ""
            lappend data(Column.ReadDCCTSlowCurrentPV) ""
            lappend data(Column.SetVoltagePV) ""
            lappend data(Column.ReadVoltagePV) ":VoltageAI" 
            lappend data(Column.ReadDacVoltagePV) ""
            lappend data(Column.StartConditioningPV) ":StdSU.PROC"
            lappend data(Column.SetConditioningCyclesPV) ":StdSU.F"
            lappend data(Column.SetConditioningFinishPV) ""
            lappend data(Column.ReadTempPV) ":MagTempAI"
            lappend data(Column.RateDividerPV) ":RateDivAO"
            lappend data(Column.ResistancePV) ":ResistanceCC"
            lappend data(Column.FaultPV) ""
            lappend data(Column.NoFaultValue) ""
        }
    }
}

proc LINACdipoles {} {
    global data

    #DEGAUSS
    set names "LTS:BM1 LTS:BM2"
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "LTS"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "dipole"
        lappend data(Column.OnOffStatusPV) ":StatusCALC"
        lappend data(Column.StatusOnValue) 1
        lappend data(Column.TurnOnPV) ":ResetSEQ"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OffBO"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":ResetSEQ"
        lappend data(Column.ResetValue) "1"
        lappend data(Column.SetCurrentPV) ":CurrentAO"
        lappend data(Column.ReadCurrentPV) ":CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ":DacAI"
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":VoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":StdSU.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StdSU.F"
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ":MagTempAI"
        lappend data(Column.RateDividerPV) ":RateDivAO"
        lappend data(Column.ResistancePV) ":ResistanceCC"
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
        #puts "$name [exec cavget -list=${name}:StdSU.SNAM]"
    }

    #DEGAUSS (Unclear if it should use degauss)
    set names "L1:PC1:BM1"
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "LINAC"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "dipole"
        lappend data(Column.OnOffStatusPV) ":PS:StatusCALC"
        lappend data(Column.StatusOnValue) 1
        lappend data(Column.TurnOnPV) ":PS:ResetSEQ"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":PS:OffBO"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":PS:ResetSEQ"
        lappend data(Column.ResetValue) "1"
        lappend data(Column.SetCurrentPV) ":PS:CurrentAO"
        lappend data(Column.ReadCurrentPV) ":PS:CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ":PS:DacAI"
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":PS:OutVoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":PS:StdSU.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":PS:StdSU.F"
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ":PS:MagTempAI"
        lappend data(Column.RateDividerPV) ":PS:RateDividerAO"
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
    }

    #STANDARDIZE
    set names "L3:BM:DS L3:BM:US"
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "LINAC"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "dipole"
        lappend data(Column.OnOffStatusPV) ":readyCC"
        lappend data(Column.StatusOnValue) 1
        lappend data(Column.TurnOnPV) ":ResetBO"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OffBO"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":ResetBO"
        lappend data(Column.ResetValue) "1"
        lappend data(Column.SetCurrentPV) ":CurrentAO"
        lappend data(Column.ReadCurrentPV) ":CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ""
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":OutVoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":StandardizeSUB.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StandardizeSUB.F"
        lappend data(Column.SetConditioningFinishPV) ":StandardizeSUB.G"
        lappend data(Column.ReadTempPV) ""
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
        #puts "$name [exec cavget -list=${name}:StandardizeSUB.SNAM]"
    }
}

proc LINACdipoletrims {} {
    global data

    #STANDARDIZE
    set names "L3:BM2T L3:BM4T"
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "LINAC"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "dipoletrim"
        lappend data(Column.OnOffStatusPV) ":readyCC"
        lappend data(Column.StatusOnValue) 1
        lappend data(Column.TurnOnPV) ":ResetBO"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OffBO"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":ResetBO"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ":CurrentAO"
        lappend data(Column.ReadCurrentPV) ":CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ""
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":OutVoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":StandardizeSUB.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StandardizeSUB.F"
        lappend data(Column.SetConditioningFinishPV) ":StandardizeSUB.G"
        lappend data(Column.ReadTempPV) ""
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
        #puts "$name [exec cavget -list=${name}:StandardizeSUB.SNAM]"
    }
}

proc LINACalphas {} {
    global data

    #STANDARDIZE
    set names "L1:RG1:LFA L1:RG2:LFA "
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "LINAC"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "alpha"
        lappend data(Column.OnOffStatusPV) ":StatusCC"
        lappend data(Column.StatusOnValue) 0
        lappend data(Column.TurnOnPV) ":ResetSQ"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OffBO"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":ResetSQ"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ":CurrentAO"
        lappend data(Column.ReadCurrentPV) ":CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ":DacAI"
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":VoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":Std1SU.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":Std1SU.F"
        lappend data(Column.SetConditioningFinishPV) ":Std1SU.G"
        lappend data(Column.ReadTempPV) ":MagTempAI"
        lappend data(Column.RateDividerPV) ":RateDivAO"
        lappend data(Column.ResistancePV) ":ResistanceCC"
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
        #puts "$name [exec cavget -list=${name}:Std1SU.SNAM]"
    }

    #STANDARDIZE
    set names "L3:AM1 "
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "LINAC"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "alpha"
        lappend data(Column.OnOffStatusPV) ":readyCC"
        lappend data(Column.StatusOnValue) 1
        lappend data(Column.TurnOnPV) ":ResetBO"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OffBO"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":ResetBO"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ":CurrentAO"
        lappend data(Column.ReadCurrentPV) ":CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ""
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":OutVoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":StandardizeSUB.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StandardizeSUB.F"
        lappend data(Column.SetConditioningFinishPV) ":StandardizeSUB.G"
        lappend data(Column.ReadTempPV) ""
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
        #puts "$name [exec cavget -list=${name}:StandardizeSUB.SNAM]"
    }

    #STANDARDIZE
    set names "L5:AM1 "
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "LINAC"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "alpha"
        lappend data(Column.OnOffStatusPV) ":PS2:readyCC"
        lappend data(Column.StatusOnValue) 1
        lappend data(Column.TurnOnPV) ":PS2:enableBO"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":PS2:enableBO"
        lappend data(Column.TurnOffValue) 0 
        lappend data(Column.ResetPV) ":PS2:resetBO"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ":PS2:setCurrentAO"
        lappend data(Column.ReadCurrentPV) ":PS2:measCurrentCC"
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ""
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":PS2:measVoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":PS2:stdSU.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":PS2:stdSU.F"
        lappend data(Column.SetConditioningFinishPV) ":PS2:stdSU.G"
        lappend data(Column.ReadTempPV) ""
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ":PS2:ResistanceCC"
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
        #puts "$name [exec cavget -list=${name}:PS2:stdSU.SNAM]"
    }
}

proc LINACalphatrims {} {
    global data

    #DEGAUSS
    set names "L1:RG1:LFA:TRM L1:RG2:LFA:TRM "
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "LINAC"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "alphatrim"
        lappend data(Column.OnOffStatusPV) ":StatusCC"
        lappend data(Column.StatusOnValue) 0
        lappend data(Column.TurnOnPV) ":ResetSQ"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OffBO"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":ResetSQ"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ":CurrentAO"
        lappend data(Column.ReadCurrentPV) ":CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ":DacAI"
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":VoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":StdSU.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StdSU.F"
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ":MagTempAI"
        lappend data(Column.RateDividerPV) ":RateDivAO"
        lappend data(Column.ResistancePV) ":ResistanceCC"
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
    }

    #DEGAUSS
    set names "L3:AM1T "
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "LINAC"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "alphatrim"
        lappend data(Column.OnOffStatusPV) ":readyCC"
        lappend data(Column.StatusOnValue) 1
        lappend data(Column.TurnOnPV) ":ResetBO"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OffBO"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":ResetBO"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ":CurrentAO"
        lappend data(Column.ReadCurrentPV) ":CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ""
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":OutVoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":DegaussC.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":DegaussC.F"
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ""
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
        #puts "$name [exec cavget -list=${name}:DegaussC.SNAM]"
    }
}

proc LINACkickers {} {
    global data

    set names "L1:RG1:KIK L1:RG2:KIK "
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "LINAC"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "kicker"
        lappend data(Column.OnOffStatusPV) ":StatusCC"
        lappend data(Column.StatusOnValue) 0
        lappend data(Column.TurnOnPV) ":OnBO"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OnBO"
        lappend data(Column.TurnOffValue) 0 
        lappend data(Column.ResetPV) ":ResetBO"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ""
        lappend data(Column.ReadCurrentPV) ""
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ""
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ":VoltSetSendAO"
        lappend data(Column.ReadVoltagePV) ":DacAI" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ""
        lappend data(Column.SetConditioningCyclesPV) ""
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ":AirTempAI"
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
    }
}

proc LINACheaters {} {
    global data

    set names "L1:RG1:HTR L1:RG2:HTR "
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "LINAC"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "heater"
        lappend data(Column.OnOffStatusPV) ":StatusCC"
        lappend data(Column.StatusOnValue) 0
        lappend data(Column.TurnOnPV) ":ResetSQ"
        lappend data(Column.TurnOnValue) 1
        lappend data(Column.TurnOffPV) ":OffBO"
        lappend data(Column.TurnOffValue) 1
        lappend data(Column.ResetPV) ":ResetSQ"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ""
        lappend data(Column.ReadCurrentPV) ":CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ""
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ":VoltageAO"
        lappend data(Column.ReadVoltagePV) ":VoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ":DacAI"
        lappend data(Column.StartConditioningPV) ""
        lappend data(Column.SetConditioningCyclesPV) ""
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ""
        lappend data(Column.RateDividerPV) ":RateDivAO"
        lappend data(Column.ResistancePV) ":ResistanceCC"
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
    }
}

proc LINACraws {} {
    global data
    set names "L1:RG1:RAW1 L1:RG1:RAW2 "
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "LINAC"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "raw"
        lappend data(Column.OnOffStatusPV) ":StatusCC"
        lappend data(Column.StatusOnValue) 0
        lappend data(Column.TurnOnPV) ":ResetSQ"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OffBO"
        lappend data(Column.TurnOffValue) 1
        lappend data(Column.ResetPV) ":ResetSQ"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ":CurrentAO"
        lappend data(Column.ReadCurrentPV) ":CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ":DacAI"
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":VoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ""
        lappend data(Column.SetConditioningCyclesPV) ""
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ":MagTempAI"
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ":ResistanceCC"
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
    }

    set names "L1:QM:RAW L2:QM:RAW "
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "LINAC"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "raw"
        lappend data(Column.OnOffStatusPV) ":StatusCC"
        lappend data(Column.StatusOnValue) 0
        lappend data(Column.TurnOnPV) ":ResetSQ"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OffBO"
        lappend data(Column.TurnOffValue) 1
        lappend data(Column.ResetPV) ":ResetSQ"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ":CurrentAO"
        lappend data(Column.ReadCurrentPV) ":CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ":DacAI"
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":VoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ""
        lappend data(Column.SetConditioningCyclesPV) ""
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ":MagTempAI"
        lappend data(Column.RateDividerPV) ":RateDivAO"
        lappend data(Column.ResistancePV) ":ResistanceCC"
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
    }

    set names "LTS:RAW"
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "LTS"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "raw"
        lappend data(Column.OnOffStatusPV) ":StatusCALC"
        lappend data(Column.StatusOnValue) 1
        lappend data(Column.TurnOnPV) ":ResetSEQ"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OffBO"
        lappend data(Column.TurnOffValue) 1
        lappend data(Column.ResetPV) ":ResetSEQ"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ":CurrentAO"
        lappend data(Column.ReadCurrentPV) ":CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ":DacAI"
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":VoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ""
        lappend data(Column.SetConditioningCyclesPV) ""
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ":MagTempAI"
        lappend data(Column.RateDividerPV) ":RateDivAO"
        lappend data(Column.ResistancePV) ":ResistanceCC"
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
    }

    set names "L3:Raw"
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "LINAC"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "raw"
        lappend data(Column.OnOffStatusPV) ":PsEnableBO"
        lappend data(Column.StatusOnValue) 1
        lappend data(Column.TurnOnPV) ":OnBO"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OffBO"
        lappend data(Column.TurnOffValue) 1
        lappend data(Column.ResetPV) ":OnBO"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ""
        lappend data(Column.ReadCurrentPV) ""
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ""
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":OutVoltagePAI" 
        lappend data(Column.ReadDacVoltagePV) ":OutVoltageNAI"
        lappend data(Column.StartConditioningPV) ""
        lappend data(Column.SetConditioningCyclesPV) ""
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ""
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
    }
}

proc LTPcorrectors {} {
    #All Degauss

    global data

    set names "LTP:H1 LTP:V1 LTP:H2 LTP:V2 LTP:H3 LTP:V3 LTP:H4 LTP:V4 "
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "LTP"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "corr"
        lappend data(Column.OnOffStatusPV) ":StatusCALC"
        lappend data(Column.StatusOnValue) 0
        lappend data(Column.TurnOnPV) ":ResetSEQ"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OffBO"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":ResetSEQ"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ":CurrentAO"
        lappend data(Column.ReadCurrentPV) ":CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ":OutCurrentAI"
        lappend data(Column.ReadDacCurrentPV) ":DacAI"
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":OutVoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ":DACOutVoltageAI"
        lappend data(Column.StartConditioningPV) ":StandardizeSUB.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StandardizeSUB.F"
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ":MagTempAI"
        lappend data(Column.RateDividerPV) ":RateDividerAO"
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
    }
}

proc LTPquads {} {
    #All Standardize

    global data

    set names "LTP:Q1 LTP:Q2 LTP:Q3 LTP:Q4 LTP:Q5 LTP:Q6 LTP:Q7 LTP:Q8 LTP:Q9 LTP:Q10 "
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "LTP"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "quad"
        lappend data(Column.OnOffStatusPV) ":StatusCALC"
        lappend data(Column.StatusOnValue) 0
        lappend data(Column.TurnOnPV) ":ResetSEQ"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OffBO"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":ResetSEQ"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ":CurrentAO"
        lappend data(Column.ReadCurrentPV) ":CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ":OutCurrentAI"
        lappend data(Column.ReadDacCurrentPV) ":DacAI"
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":OutVoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ":DACOutVoltageAI"
        lappend data(Column.StartConditioningPV) ":StandardizeSUB.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StandardizeSUB.F"
        lappend data(Column.SetConditioningFinishPV) ":StandardizeSUB.G"
        lappend data(Column.ReadTempPV) ":MagTempAI"
        lappend data(Column.RateDividerPV) ":RateDividerAO"
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
    }
}

proc LTPdipoles {} {
    global data

    #STANDARDIZE
    set names "LTP:B1 "
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "LTP"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "dipole"
        lappend data(Column.OnOffStatusPV) ":StatusCALC"
        lappend data(Column.StatusOnValue) 0
        lappend data(Column.TurnOnPV) ":OnSEQ"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OffBO"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":ResetSEQ"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ":CurrentAO"
        lappend data(Column.ReadCurrentPV) ":CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ":DacAI"
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":OutVoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":StandardizeSUB.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StandardizeSUB.F"
        lappend data(Column.SetConditioningFinishPV) ":StandardizeSUB.G"
        lappend data(Column.ReadTempPV) ":magTemp1M"
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
    }

    set names "LTP:B1:BC "
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "LTP"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "buckingCoil"
        lappend data(Column.OnOffStatusPV) ":StatusCALC"
        lappend data(Column.StatusOnValue) 0
        lappend data(Column.TurnOnPV) ":OnOffC"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OnOffC"
        lappend data(Column.TurnOffValue) 0
        lappend data(Column.ResetPV) ""
        lappend data(Column.ResetValue) ""
        lappend data(Column.SetCurrentPV) ":CurrentAO"
        lappend data(Column.ReadCurrentPV) ":CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ":CurrSetAI"
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":OutVoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ""
        lappend data(Column.SetConditioningCyclesPV) ""
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ""
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
    }
}

proc PBcorrectors {} {
    #All Degauss

    global data

    set names "PB:H1 PB:V1 PB:H2 PB:V2 "
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "PB"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "corr"
        lappend data(Column.OnOffStatusPV) ":StatusCALC"
        lappend data(Column.StatusOnValue) 0
        lappend data(Column.TurnOnPV) ":ResetSEQ"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OffBO"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":ResetSEQ"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ":CurrentAO"
        lappend data(Column.ReadCurrentPV) ":CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ":OutCurrentAI"
        lappend data(Column.ReadDacCurrentPV) ":DacAI"
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":OutVoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ":DACOutVoltageAI"
        lappend data(Column.StartConditioningPV) ":StandardizeSUB.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StandardizeSUB.F"
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ":MagTempAI"
        lappend data(Column.RateDividerPV) ":RateDividerAO"
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
    }
}

proc PBquads {} {
    #All Standardize

    global data

    set names "PB:Q1 PB:Q2 PB:Q3 PB:Q4 "
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "PB"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "quad"
        lappend data(Column.OnOffStatusPV) ":StatusCALC"
        lappend data(Column.StatusOnValue) 0
        lappend data(Column.TurnOnPV) ":ResetSEQ"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OffBO"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":ResetSEQ"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ":CurrentAO"
        lappend data(Column.ReadCurrentPV) ":CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ":OutCurrentAI"
        lappend data(Column.ReadDacCurrentPV) ":DacAI"
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":OutVoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ":DACOutVoltageAI"
        lappend data(Column.StartConditioningPV) ":StandardizeSUB.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StandardizeSUB.F"
        lappend data(Column.SetConditioningFinishPV) ":StandardizeSUB.G"
        lappend data(Column.ReadTempPV) ":MagTempAI"
        lappend data(Column.RateDividerPV) ":RateDividerAO"
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
    }
}

proc PARcorrectors {} {
    #All Degauss

    global data

    set names "P1H1 P1V1 P1H2 P1V2 P1H3 P1V3 P2H1 P2V1 P2H2 P2V2 P2H3 P2V3 P3H1 P3V1 P3H2 P3V2 P4H1 P4V1 P4H2 P4V2 "
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "PAR"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "corr"
        lappend data(Column.OnOffStatusPV) ":StatusCALC"
        lappend data(Column.StatusOnValue) 0
        lappend data(Column.TurnOnPV) ":ResetSEQ"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OffBO"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":ResetSEQ"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ":CurrentAO"
        lappend data(Column.ReadCurrentPV) ":CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ":OutCurrentAI"
        lappend data(Column.ReadDacCurrentPV) ":DacAI"
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":OutVoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ":DACOutVoltageAI"
        lappend data(Column.StartConditioningPV) ":StandardizeSUB.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StandardizeSUB.F"
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ":MagTempAI"
        lappend data(Column.RateDividerPV) ":RateDividerAO"
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
    }
}

proc PARquads {} {
    #All Standardize

    global data

    set names "P:Q1 P:Q2 P:Q3BP P:Q4 "
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "PAR"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "quad"
        lappend data(Column.OnOffStatusPV) ":StatusCALC"
        lappend data(Column.StatusOnValue) 0
        lappend data(Column.TurnOnPV) ":ResetSEQ"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OffBO"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":ResetSEQ"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ":CurrentAO"
        lappend data(Column.ReadCurrentPV) ":CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ":OutCurrentAI"
        lappend data(Column.ReadDacCurrentPV) ":DacAI"
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":OutVoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ":DACOutVoltageAI"
        lappend data(Column.StartConditioningPV) ":StandardizeSUB.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StandardizeSUB.F"
        lappend data(Column.SetConditioningFinishPV) ":StandardizeSUB.G"
        lappend data(Column.ReadTempPV) ":MagTempAI"
        lappend data(Column.RateDividerPV) ":RateDividerAO"
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
    }
}

proc PARdipoles {} {
    global data

    #STANDARDIZE
    set names "P:BM "
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "PAR"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "dipole"
        lappend data(Column.OnOffStatusPV) ":StatusCALC"
        lappend data(Column.StatusOnValue) 0
        lappend data(Column.TurnOnPV) ":ResetSEQ"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OffBO"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":ResetSEQ"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ":CurrentAO"
        lappend data(Column.ReadCurrentPV) ":CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ":DacAI"
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) "" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":StandardizeSUB.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StandardizeSUB.F"
        lappend data(Column.SetConditioningFinishPV) ":StandardizeSUB.G"
        lappend data(Column.ReadTempPV) ""
        lappend data(Column.RateDividerPV) ":RateDividerAO"
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
    }
}

proc PARmisc {} {

    global data

    set names "P1BMT1 P1BMT2 P2BMT1 P2BMT2 P3BMT1 P3BMT2 P4BMT1 P4BMT2 P:SF P:S1 P:SD "
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "PAR"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "misc"
        lappend data(Column.OnOffStatusPV) ":StatusCALC"
        lappend data(Column.StatusOnValue) 0
        lappend data(Column.TurnOnPV) ":ResetSEQ"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OffBO"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":ResetSEQ"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ":CurrentAO"
        lappend data(Column.ReadCurrentPV) ":CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ":OutCurrentAI"
        lappend data(Column.ReadDacCurrentPV) ":DacAI"
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":OutVoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ":DACOutVoltageAI"
        lappend data(Column.StartConditioningPV) ":StandardizeSUB.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StandardizeSUB.F"
        lappend data(Column.SetConditioningFinishPV) ":StandardizeSUB.G"
        lappend data(Column.ReadTempPV) ":MagTempAI"
        lappend data(Column.RateDividerPV) ":RateDividerAO"
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
    }

    set names "P1IK P2IK P4EK "
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "PAR"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "misc"
        lappend data(Column.OnOffStatusPV) ":StatusCALC"
        lappend data(Column.StatusOnValue) 0
        lappend data(Column.TurnOnPV) ":OnBO"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OnBO"
        lappend data(Column.TurnOffValue) 0 
        lappend data(Column.ResetPV) ":ResetBO"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ""
        lappend data(Column.ReadCurrentPV) ""
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ""
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ":VoltageSetSendAO"
        lappend data(Column.ReadVoltagePV) ":PFNVoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ":DacAI"
        lappend data(Column.StartConditioningPV) ""
        lappend data(Column.SetConditioningCyclesPV) ""
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ":RackTempAI"
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
    }

    set names "P:ISP "
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "PAR"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "misc"
        lappend data(Column.OnOffStatusPV) ":StatusCALC"
        lappend data(Column.StatusOnValue) 0
        lappend data(Column.TurnOnPV) ":ResetSEQ"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OffBO"
        lappend data(Column.TurnOffValue) 1
        lappend data(Column.ResetPV) ":ResetSEQ"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ""
        lappend data(Column.ReadCurrentPV) ":CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ""
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ":VoltageSetSendAO"
        lappend data(Column.ReadVoltagePV) "" 
        lappend data(Column.ReadDacVoltagePV) ":DacAI"
        lappend data(Column.StartConditioningPV) ""
        lappend data(Column.SetConditioningCyclesPV) ""
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ":MagTempAI"
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
    }

}

proc PTBcorrectors {} {
    #All Degauss

    global data

    set names "PTB:H1 PTB:V1 PTB:H2 PTB:V2 PTB:H3 PTB:V3 PTB:H4 PTB:V4 "
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "PTB"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "corr"
        lappend data(Column.OnOffStatusPV) ":StatusCALC"
        lappend data(Column.StatusOnValue) 0
        lappend data(Column.TurnOnPV) ":ResetSEQ"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OffBO"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":ResetSEQ"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ":CurrentAO"
        lappend data(Column.ReadCurrentPV) ":CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ":OutCurrentAI"
        lappend data(Column.ReadDacCurrentPV) ":DacAI"
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":OutVoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ":DACOutVoltageAI"
        lappend data(Column.StartConditioningPV) ":StandardizeSUB.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StandardizeSUB.F"
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ":MagTempAI"
        lappend data(Column.RateDividerPV) ":RateDividerAO"
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
    }
}

proc PTBquads {} {
    #All Standardize

    global data

    set names "PTB:Q1 PTB:Q2 PTB:Q3 PTB:Q4 PTB:Q5 PTB:Q6 PTB:Q7 PTB:Q8 PTB:Q9 PTB:Q10 PTB:Q11 "
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "PTB"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "quad"
        lappend data(Column.OnOffStatusPV) ":StatusCALC"
        lappend data(Column.StatusOnValue) 0
        lappend data(Column.TurnOnPV) ":ResetSEQ"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OffBO"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":ResetSEQ"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ":CurrentAO"
        lappend data(Column.ReadCurrentPV) ":CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ":OutCurrentAI"
        lappend data(Column.ReadDacCurrentPV) ":DacAI"
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":OutVoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ":DACOutVoltageAI"
        lappend data(Column.StartConditioningPV) ":StandardizeSUB.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StandardizeSUB.F"
        lappend data(Column.SetConditioningFinishPV) ":StandardizeSUB.G"
        lappend data(Column.ReadTempPV) ":MagTempAI"
        lappend data(Column.RateDividerPV) ":RateDividerAO"
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
    }
}

proc PTBdipoles {} {
    global data

    #STANDARDIZE
    set names "PTB:B1 PTB:B2 "
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "PTB"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "dipole"
        lappend data(Column.OnOffStatusPV) ":StatusCALC"
        lappend data(Column.StatusOnValue) 0
        lappend data(Column.TurnOnPV) ":OnSEQ"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OffBO"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":ResetSEQ"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ":CurrentAO"
        lappend data(Column.ReadCurrentPV) ":CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ":DacAI"
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":OutVoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":StandardizeSUB.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StandardizeSUB.F"
        lappend data(Column.SetConditioningFinishPV) ":StandardizeSUB.G"
        lappend data(Column.ReadTempPV) ":magTemp1M"
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
    }

    set names "PTB:B1:BC PTB:B1:BC "
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "PTB"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "buckingCoil"
        lappend data(Column.OnOffStatusPV) ":StatusCALC"
        lappend data(Column.StatusOnValue) 0
        lappend data(Column.TurnOnPV) ":OnOffC"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OnOffC"
        lappend data(Column.TurnOffValue) 0
        lappend data(Column.ResetPV) ""
        lappend data(Column.ResetValue) ""
        lappend data(Column.SetCurrentPV) ":CurrentAO"
        lappend data(Column.ReadCurrentPV) ":CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ":CurrSetAI"
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":OutVoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ""
        lappend data(Column.SetConditioningCyclesPV) ""
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ""
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
    }
}

proc BBcorrectors {} {
    global data

    #DEGUASS
    set names "BB:H1 BB:V1 BB:H2 BB:V2 BB:H3"
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "BB"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "corr"
        lappend data(Column.OnOffStatusPV) ":StatusCALC"
        lappend data(Column.StatusOnValue) 0
        lappend data(Column.TurnOnPV) ":ResetSEQ"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OffBO"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":ResetSEQ"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ":CurrentAO"
        lappend data(Column.ReadCurrentPV) ":CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ":OutCurrentAI"
        lappend data(Column.ReadDacCurrentPV) ":DacAI"
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":OutVoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ":DACOutVoltageAI"
        lappend data(Column.StartConditioningPV) ":StandardizeSUB.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StandardizeSUB.F"
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ":MagTempAI"
        lappend data(Column.RateDividerPV) ":RateDividerAO"
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
    }

    #STANDARDIZE
    set names "BB:H4 BB:V4 "
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "BB"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "corr"
        lappend data(Column.OnOffStatusPV) ":StatusCALC"
        lappend data(Column.StatusOnValue) 0
        lappend data(Column.TurnOnPV) ":ResetSEQ"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OffBO"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":ResetSEQ"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ":CurrentAO"
        lappend data(Column.ReadCurrentPV) ":CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ":OutCurrentAI"
        lappend data(Column.ReadDacCurrentPV) ":DacAI"
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":OutVoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ":DACOutVoltageAI"
        lappend data(Column.StartConditioningPV) ":StandardizeSUB.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StandardizeSUB.F"
        lappend data(Column.SetConditioningFinishPV) ":StandardizeSUB.G"
        lappend data(Column.ReadTempPV) ":MagTempAI"
        lappend data(Column.RateDividerPV) ":RateDividerAO"
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
    }
}

proc BBquads {} {
    #All Standardize

    global data

    set names "BB:Q1 BB:Q2 BB:Q3 BB:Q4 BB:Q5 BB:Q6 BB:QE1 BB:QE2 BB:BD:Q1 "
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "BB"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "quad"
        lappend data(Column.OnOffStatusPV) ":StatusCALC"
        lappend data(Column.StatusOnValue) 0
        lappend data(Column.TurnOnPV) ":ResetSEQ"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OffBO"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":ResetSEQ"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ":CurrentAO"
        lappend data(Column.ReadCurrentPV) ":CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ":OutCurrentAI"
        lappend data(Column.ReadDacCurrentPV) ":DacAI"
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":OutVoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ":DACOutVoltageAI"
        lappend data(Column.StartConditioningPV) ":StandardizeSUB.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StandardizeSUB.F"
        lappend data(Column.SetConditioningFinishPV) ":StandardizeSUB.G"
        lappend data(Column.ReadTempPV) ":MagTempAI"
        lappend data(Column.RateDividerPV) ":RateDividerAO"
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
    }
}

proc BBdipoles {} {
    global data

    #STANDARDIZE
    set names "BB:BM1 BB:BM2 BB:BD:BM "
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "BB"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "dipole"
        lappend data(Column.OnOffStatusPV) ":StatusCALC"
        lappend data(Column.StatusOnValue) 0
        lappend data(Column.TurnOnPV) ":ResetSEQ"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OffBO"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":ResetSEQ"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ":CurrentAO"
        lappend data(Column.ReadCurrentPV) ":CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ":DacAI"
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":OutVoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":StandardizeSUB.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StandardizeSUB.F"
        lappend data(Column.SetConditioningFinishPV) ":StandardizeSUB.G"
        lappend data(Column.ReadTempPV) ":MagTempAI"
        lappend data(Column.RateDividerPV) ":RateDividerAO"
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
    }
}

proc LEAcorrectors {} {
    global data

    #STANDARDIZE
    set names "LEA:H1 LEA:V1 LEA:H2 LEA:V2 LEA:H3 LEA:V3 LEA:H4 LEA:V4 LEA:H5 LEA:V5 LEA:H6 LEA:V6 LEA:H7 LEA:V7 "
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "LEA"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "corr"
        lappend data(Column.OnOffStatusPV) ":StatusCALC"
        lappend data(Column.StatusOnValue) 0
        lappend data(Column.TurnOnPV) ":ResetBO"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OffBO"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":ResetBO"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ":CurrentAO"
        lappend data(Column.ReadCurrentPV) ":CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ""
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":OutVoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":StandardizeSUB.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StandardizeSUB.F"
        lappend data(Column.SetConditioningFinishPV) ":StandardizeSUB.G"
        lappend data(Column.ReadTempPV) ""
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
    }
}

proc LEAquads {} {
    #All Standardize

    global data

    set names "LEA:Q1 LEA:Q2 LEA:Q3 LEA:Q4 LEA:Q5 LEA:Q6 LEA:Q7"
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "LEA"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "quad"
        lappend data(Column.OnOffStatusPV) ":StatusCALC"
        lappend data(Column.StatusOnValue) 0
        lappend data(Column.TurnOnPV) ":ResetSEQ"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OffBO"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":ResetSEQ"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ":CurrentAO"
        lappend data(Column.ReadCurrentPV) ":CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ":OutCurrentAI"
        lappend data(Column.ReadDacCurrentPV) ":DacAI"
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":OutVoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ":DACOutVoltageAI"
        lappend data(Column.StartConditioningPV) ":StandardizeSUB.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StandardizeSUB.F"
        lappend data(Column.SetConditioningFinishPV) ":StandardizeSUB.G"
        lappend data(Column.ReadTempPV) ":MagTempAI"
        lappend data(Column.RateDividerPV) ":RateDividerAO"
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
    }
}

proc LEAdipoles {} {
    global data

    #STANDARDIZE
    set names "LEA:BD "
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "LEA"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "dipole"
        lappend data(Column.OnOffStatusPV) ":StatusCALC"
        lappend data(Column.StatusOnValue) 0
        lappend data(Column.TurnOnPV) ":ResetSEQ"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OffBO"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":ResetSEQ"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ":CurrentAO"
        lappend data(Column.ReadCurrentPV) ":CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ":DacAI"
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":OutVoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":StandardizeSUB.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StandardizeSUB.F"
        lappend data(Column.SetConditioningFinishPV) ":StandardizeSUB.G"
        lappend data(Column.ReadTempPV) ":MagTempAI"
        lappend data(Column.RateDividerPV) ":RateDividerAO"
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
    }
}

proc BTScorrectors {} {
#degauss
    global data
    set names "BTS:AH1 BTS:AV1 \
               BTS:AH2 BTS:AV2 \
               BTS:AH3 BTS:AV3 \
               BTS:BH1 BTS:BV1 \
               BTS:BH2 BTS:BV2 \
               BTS:BV3"
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "BTS"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "corr"
        lappend data(Column.OnOffStatusPV) ":StatusCALC"
        lappend data(Column.StatusOnValue) 0
        lappend data(Column.TurnOnPV) ":ResetSEQ"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OnBO"
        lappend data(Column.TurnOffValue) 0
        lappend data(Column.ResetPV) ":ResetSEQ"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ":CurrentAO"
        lappend data(Column.ReadCurrentPV) ":CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ":DacAI"
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) "" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":StandardizeSUB.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StandardizeSUB.F"
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ":MagTempAI"
        lappend data(Column.RateDividerPV) ":RateDividerAO"
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
    }

#triDegauss
    set names "BTS:BSQ1H BTS:BSQ2V \
               BTS:BSQ5H BTS:BSQ6V \
               BTS:CQ1H BTS:CQ2V \
               BTS:CQ3H \
               BTS:DQ1H BTS:DQ2V"
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "BTS"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "corr"
        lappend data(Column.OnOffStatusPV) ":PS:OnOffStatusM"
        lappend data(Column.StatusOnValue) 0
        lappend data(Column.TurnOnPV) ":PS:SupplyOnC.PROC"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":PS:SupplyOffC.PROC"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":PS:ResetSupplyC.PROC"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ":PS:SetCurrentC"
        lappend data(Column.ReadCurrentPV) ":PS:MeasCurrentM"
        lappend data(Column.ReadDCCTCurrentPV) ":DCCT:CurrentM"
        lappend data(Column.ReadDacCurrentPV) ":PS:DacCurrentM"
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":PS:VoltageM" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":StandardizeC.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StandardizeC.C"
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ":PS:CapacitorTempM"
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ":PS:FaultStatusM"
        lappend data(Column.NoFaultValue) "0"
    }
}

proc BTSquads {} {
#StandardizeDwell
    global data
    set names "BTS:AQ1 BTS:AQ2 BTS:AQ3 BTS:AQ4 BTS:AQ5 \
               BTS:BQ1 BTS:BQ2 BTS:BQ3 BTS:BQ4 BTS:BQ5 \
               BTS:CQ1 BTS:CQ2 BTS:CQ3 \
               BTS:DQ1 BTS:DQ2"
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "BTS"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "quad"
        lappend data(Column.OnOffStatusPV) ":PS:OnOffM"
        lappend data(Column.StatusOnValue) 1
        lappend data(Column.TurnOnPV) ":PS:SupplyOnC.PROC"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":PS:SupplyOffC.PROC"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":PS:ResetSupplyC.PROC"
        lappend data(Column.ResetValue) "1"
        lappend data(Column.SetCurrentPV) ":PS:SetCurrentC"
        lappend data(Column.ReadCurrentPV) ":PS:MeasCurrentM"
        lappend data(Column.ReadDCCTCurrentPV) ":DCCT:CurrentM"
        lappend data(Column.ReadDacCurrentPV) ""
        lappend data(Column.ReadDCCTSlowCurrentPV) ":DCCT:SlowCurrentM"
        lappend data(Column.SetVoltagePV) ":PS:SetVoltageC"
        lappend data(Column.ReadVoltagePV) ":PS:MeasVoltageM" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":StandardizeC.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StandardizeC.F"
        lappend data(Column.SetConditioningFinishPV) ":StandardizeC.G"
        lappend data(Column.ReadTempPV) ":PS:AmbientTempM"
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ":PS:FaultsM"
        lappend data(Column.NoFaultValue) "0"
    }
}

proc BTSskewquads {} {
#StandardizeDwell
    global data
    set names "BTS:BSQ1 BTS:BSQ2 BTS:BSQ3 BTS:BSQ4 BTS:BSQ5 BTS:BSQ6"
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "BTS"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "skewquad"
        lappend data(Column.OnOffStatusPV) ":PS:OnOffM"
        lappend data(Column.StatusOnValue) 1
        lappend data(Column.TurnOnPV) ":PS:SupplyOnC.PROC"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":PS:SupplyOffC.PROC"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":PS:ResetSupplyC.PROC"
        lappend data(Column.ResetValue) "1"
        lappend data(Column.SetCurrentPV) ":PS:SetCurrentC"
        lappend data(Column.ReadCurrentPV) ":PS:MeasCurrentM"
        lappend data(Column.ReadDCCTCurrentPV) ":DCCT:CurrentM"
        lappend data(Column.ReadDacCurrentPV) ":PS:DacCurrentM"
        lappend data(Column.ReadDCCTSlowCurrentPV) ":DCCT:SlowCurrentM"
        lappend data(Column.SetVoltagePV) ":PS:SetVoltageC"
        lappend data(Column.ReadVoltagePV) ":PS:MeasVoltageM" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":StandardizeC.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StandardizeC.F"
        lappend data(Column.SetConditioningFinishPV) ":StandardizeC.G"
        lappend data(Column.ReadTempPV) ":PS:AmbientTempM"
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ":PS:FaultsM"
        lappend data(Column.NoFaultValue) "0"
    }
}

proc BTSdipoles {} {
#standardize
    global data
    set names ""
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "BTS"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "dipole"
        lappend data(Column.OnOffStatusPV) ":StatusCALC"
        lappend data(Column.StatusOnValue) 0
        lappend data(Column.TurnOnPV) ":ResetSEQ"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OffBO"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":ResetSEQ"
        lappend data(Column.ResetValue) "1"
        lappend data(Column.SetCurrentPV) ":CurrentAO"
        lappend data(Column.ReadCurrentPV) ":CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ":DCCurrentAI"
        lappend data(Column.ReadDacCurrentPV) ":DacAI"
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":DCVoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ":DACVoltageAI"
        lappend data(Column.StartConditioningPV) ":StandardizeSUB.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StandardizeSUB.F"
        lappend data(Column.SetConditioningFinishPV) ":StandardizeSUB.G"
        lappend data(Column.ReadTempPV) ":MagTempAI"
        lappend data(Column.RateDividerPV) ":RateDividerAO"
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
    }
#standardizeDwell
    set names "BTS:AB BTS:BX BTS:BB1 BTS:CB1"
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "BTS"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "dipole"
        lappend data(Column.OnOffStatusPV) ":PS:OnOffM"
        lappend data(Column.StatusOnValue) 1
        lappend data(Column.TurnOnPV) ":PS:SupplyOnC.PROC"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":PS:SupplyOffC.PROC"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":PS:ResetSupplyC.PROC"
        lappend data(Column.ResetValue) "1"
        lappend data(Column.SetCurrentPV) ":PS:SetCurrentC"
        lappend data(Column.ReadCurrentPV) ":PS:MeasCurrentM"
        lappend data(Column.ReadDCCTCurrentPV) ":DCCT:CurrentM"
        lappend data(Column.ReadDacCurrentPV) ""
        lappend data(Column.ReadDCCTSlowCurrentPV) ":DCCT:SlowCurrentM"
        lappend data(Column.SetVoltagePV) ":PS:SetVoltageC"
        lappend data(Column.ReadVoltagePV) ":PS:MeasVoltageM" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":StandardizeC.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StandardizeC.F"
        lappend data(Column.SetConditioningFinishPV) ":StandardizeC.G"
        lappend data(Column.ReadTempPV) ":PS:AmbientTempM"
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ":PS:FaultsM"
        lappend data(Column.NoFaultValue) "0"
    }
}

proc Boosterkickers {} {
    global data
    set names "B:IK B:EK"
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "Booster"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "kicker"
        lappend data(Column.OnOffStatusPV) ":StatusCALC"
        lappend data(Column.StatusOnValue) 0
        lappend data(Column.TurnOnPV) ":OnBO"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OnBO"
        lappend data(Column.TurnOffValue) 0
        lappend data(Column.ResetPV) ":ResetBO"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ""
        lappend data(Column.ReadCurrentPV) ""
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ""
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ":VoltageSetSendAO"
        lappend data(Column.ReadVoltagePV) ":PFNVoltageAI" 
        lappend data(Column.ReadDacVoltagePV) ":DacAI"
        lappend data(Column.StartConditioningPV) ""
        lappend data(Column.SetConditioningCyclesPV) ""
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ":RackTempAI"
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
    }
}

proc Boosterseptums {} {
    global data
    set names "B:IS B:ES1 B:ES2"
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "Booster"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "septum"
        lappend data(Column.OnOffStatusPV) ":StatusCALC"
        lappend data(Column.StatusOnValue) 0
        lappend data(Column.TurnOnPV) ":ResetSEQ"
        lappend data(Column.TurnOnValue) 1
        lappend data(Column.TurnOffPV) ":OffBO"
        lappend data(Column.TurnOffValue) 1
        lappend data(Column.ResetPV) ":ResetSEQ"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ""
        lappend data(Column.ReadCurrentPV) ":CurrentAI"
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ""
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ":VoltageSetSendAO"
        lappend data(Column.ReadVoltagePV) ":DacAI" 
        lappend data(Column.ReadDacVoltagePV) ":DacAI"
        lappend data(Column.StartConditioningPV) ""
        lappend data(Column.SetConditioningCyclesPV) ""
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ":MagTempAI"
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
    }
}

proc BTSraws {} {
    global data
    set names "BTS:RBO BTS:RSR"
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "BTS"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "raw"
        lappend data(Column.OnOffStatusPV) ":StatusCALC"
        lappend data(Column.StatusOnValue) 0
        lappend data(Column.TurnOnPV) ":ResetSEQ"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":OffBO"
        lappend data(Column.TurnOffValue) 1
        lappend data(Column.ResetPV) ":ResetSEQ"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ""
        lappend data(Column.ReadCurrentPV) ""
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ""
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ":VoltageAO"
        lappend data(Column.ReadVoltagePV) ":DacAI" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ""
        lappend data(Column.SetConditioningCyclesPV) ""
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ""
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
    }
    set names "BTS:DC1 BTS:DC2"
    foreach name $names {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "BTS"
        lappend data(Column.Sector) ""
        lappend data(Column.Type) "raw"
        lappend data(Column.OnOffStatusPV) ":PS:OnOffM"
        lappend data(Column.StatusOnValue) 1
        lappend data(Column.TurnOnPV) ":PS:SupplyOnC.PROC"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":PS:SupplyOffC.PROC"
        lappend data(Column.TurnOffValue) 1
        lappend data(Column.ResetPV) ":PS:ResetSupplyC.PROC"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ":PS:SetCurrentC"
        lappend data(Column.ReadCurrentPV) ":PS:SetCurrentM"
        lappend data(Column.ReadDCCTCurrentPV) ":DCCT:CurrentM"
        lappend data(Column.ReadDacCurrentPV) ""
        lappend data(Column.ReadDCCTSlowCurrentPV) ":DCCT:SlowCurrentM"
        lappend data(Column.SetVoltagePV) ":PS:SetVoltageC"
        lappend data(Column.ReadVoltagePV) ":PS:MeasVoltageM" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":StandardizeC.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StandardizeC.F"
        lappend data(Column.SetConditioningFinishPV) ":StandardizeC.G"
        lappend data(Column.ReadTempPV) ":PS:AmbientTempM"
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ":PS:FaultsM"
        lappend data(Column.NoFaultValue) "0"
    }
}

proc SRkickers {} {
    global data
    set names "S38-IES:DK0 S39-IES:IK1 S39-IES:IK2 S39-IES:IK3"
    set sectors "38 39 39 39"
    foreach name $names sector $sectors {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "SR"
        lappend data(Column.Sector) "$sector"
        lappend data(Column.Type) "kicker"
        lappend data(Column.OnOffStatusPV) ":PS:EnableM"
        lappend data(Column.StatusOnValue) 1
        lappend data(Column.TurnOnPV) ":PS:EnableC"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":PS:EnableC"
        lappend data(Column.TurnOffValue) 0
        lappend data(Column.ResetPV) ""
        lappend data(Column.ResetValue) ""
        lappend data(Column.SetCurrentPV) ""
        lappend data(Column.ReadCurrentPV) ""
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ""
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ":PS:VoltageC"
        lappend data(Column.ReadVoltagePV) ":PS:VoltageM" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ""
        lappend data(Column.SetConditioningCyclesPV) ""
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ""
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ""
        lappend data(Column.NoFaultValue) ""
    }

    set names "S36C:FOK1"
    set sectors "36"
    foreach name $names sector $sectors {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "SR"
        lappend data(Column.Sector) "$sector"
        lappend data(Column.Type) "kicker"
        lappend data(Column.OnOffStatusPV) ":PS:SupplyOnOffM"
        lappend data(Column.StatusOnValue) 1
        lappend data(Column.TurnOnPV) ":PS:SupplyOnOffC"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":PS:SupplyOnOffC"
        lappend data(Column.TurnOffValue) 0
        lappend data(Column.ResetPV) ":PS:ResetSupplyC.PROC"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ""
        lappend data(Column.ReadCurrentPV) ""
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ""
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ":PS:SetVoltageC"
        lappend data(Column.ReadVoltagePV) ":PS:SetVoltageM" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ""
        lappend data(Column.SetConditioningCyclesPV) ""
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ":PS:ThyTempM"
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ":PS:FaultsM"
        lappend data(Column.NoFaultValue) "0"
    }

}

proc SRseptums {} {
    global data
    set names "S39-IES:IS1"
    set sectors "39"
    foreach name $names sector $sectors {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "SR"
        lappend data(Column.Sector) "$sector"
        lappend data(Column.Type) "septum"
        lappend data(Column.OnOffStatusPV) ":SupplyOnOffM"
        lappend data(Column.StatusOnValue) 1
        lappend data(Column.TurnOnPV) ":SupplyOnOffC"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":SupplyOnOffC"
        lappend data(Column.TurnOffValue) 0
        lappend data(Column.ResetPV) ":ResetSupplyC"
        lappend data(Column.ResetValue) 1
        lappend data(Column.SetCurrentPV) ""
        lappend data(Column.ReadCurrentPV) ":ChargingCurrM"
        lappend data(Column.ReadDCCTCurrentPV) ""
        lappend data(Column.ReadDacCurrentPV) ""
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ":SetRefVoltageC"
        lappend data(Column.ReadVoltagePV) ":MeasVoltageM" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ""
        lappend data(Column.SetConditioningCyclesPV) ""
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ":TemperatureM"
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ":FaultsM"
        lappend data(Column.NoFaultValue) "0"
    }
}

proc SRcorrectors {} {
    global data

    #TRIDEGAUSS
    for {set sector 1} {$sector <= 40} {incr sector} {
        set s [format %02d $sector]
        lappend names S${s}A:FH1
        lappend sectors $sector
        lappend names S${s}A:FV1
        lappend sectors $sector
        lappend names S${s}A:FH2
        lappend sectors $sector
        lappend names S${s}A:FV2
        lappend sectors $sector
        lappend names S${s}B:FH2
        lappend sectors $sector
        lappend names S${s}B:FV2
        lappend sectors $sector
        lappend names S${s}B:FH1
        lappend sectors $sector
        lappend names S${s}B:FV1
        lappend sectors $sector
    }
    foreach name $names sector $sectors {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "SR"
        lappend data(Column.Sector) "$sector"
        lappend data(Column.Type) "fastCorr"
        lappend data(Column.OnOffStatusPV) ":PS:OnOffStatusM"
        lappend data(Column.StatusOnValue) 0
        lappend data(Column.TurnOnPV) ":PS:SupplyOnC.PROC"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":PS:SupplyOffC.PROC"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":PS:ResetSupplyC.PROC"
        lappend data(Column.ResetValue) "1"
        lappend data(Column.SetCurrentPV) ":PS:SetCurrentC"
        lappend data(Column.ReadCurrentPV) ":PS:MeasCurrentM"
        lappend data(Column.ReadDCCTCurrentPV) ":DCCT:CurrentM"
        lappend data(Column.ReadDacCurrentPV) ":PS:DacCurrentM"
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":PS:VoltageM" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":StandardizeC.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StandardizeC.C"
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ":PS:CapacitorTempM"
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ":PS:FaultStatusM"
        lappend data(Column.NoFaultValue) "0"
        #puts "$name [exec cavget -list=${name}:StandardizeC.SNAM]"
    }
    set names ""
    set sectors ""
    for {set sector 1} {$sector <= 40} {incr sector} {
        set s [format %02d $sector]
        lappend names S${s}A:H1
        lappend sectors $sector
        lappend names S${s}A:V1
        lappend sectors $sector
        lappend names S${s}A:H7
        lappend sectors $sector
        lappend names S${s}A:V7
        lappend sectors $sector
        lappend names S${s}A:V8
        lappend sectors $sector
        lappend names S${s}B:V8
        lappend sectors $sector
        lappend names S${s}B:H7
        lappend sectors $sector
        lappend names S${s}B:V7
        lappend sectors $sector
        lappend names S${s}B:H1
        lappend sectors $sector
        lappend names S${s}B:V1
        lappend sectors $sector
        if {[lsearch -exact "2 3 4 6 8 9 12 13 14 15 16 19 21 22 23 24 25 26 27 30 31 32 33 34 35" $sector] != -1} {
            lappend names S${s}C:H2
            lappend sectors $sector
            lappend names S${s}C:V2
            lappend sectors $sector
        }
    }
    foreach name $names sector $sectors {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "SR"
        lappend data(Column.Sector) "$sector"
        lappend data(Column.Type) "corr"
        lappend data(Column.OnOffStatusPV) ":PS:OnOffStatusM"
        lappend data(Column.StatusOnValue) 0
        lappend data(Column.TurnOnPV) ":PS:SupplyOnC.PROC"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":PS:SupplyOffC.PROC"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":PS:ResetSupplyC.PROC"
        lappend data(Column.ResetValue) "1"
        lappend data(Column.SetCurrentPV) ":PS:SetCurrentC"
        lappend data(Column.ReadCurrentPV) ":PS:MeasCurrentM"
        lappend data(Column.ReadDCCTCurrentPV) ":DCCT:CurrentM"
        lappend data(Column.ReadDacCurrentPV) ":PS:DacCurrentM"
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":PS:VoltageM" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":StandardizeC.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StandardizeC.C"
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ":PS:CapacitorTempM"
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ":PS:FaultStatusM"
        lappend data(Column.NoFaultValue) "0"
        #puts "$name [exec cavget -list=${name}:StandardizeC.SNAM]"
    }
}

proc SRquads {} {
    global data

    #STANDARDIZEDWELL
    for {set sector 1} {$sector <= 40} {incr sector} {
        set s [format %02d $sector]
        lappend names S${s}A:Q1
        lappend sectors $sector
        lappend names S${s}A:Q2
        lappend sectors $sector
        lappend names S${s}A:Q3
        lappend sectors $sector
        lappend names S${s}A:Q6
        lappend sectors $sector
        lappend names S${s}A:Q7
        lappend sectors $sector
        lappend names S${s}B:Q7
        lappend sectors $sector
        lappend names S${s}B:Q6
        lappend sectors $sector
        lappend names S${s}B:Q3
        lappend sectors $sector
        lappend names S${s}B:Q2
        lappend sectors $sector
        lappend names S${s}B:Q1
        lappend sectors $sector
    }
    foreach name $names sector $sectors {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "SR"
        lappend data(Column.Sector) "$sector"
        lappend data(Column.Type) "quad"
        lappend data(Column.OnOffStatusPV) ":PS:OnOffM"
        lappend data(Column.StatusOnValue) 1
        lappend data(Column.TurnOnPV) ":PS:SupplyOnC.PROC"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":PS:SupplyOffC.PROC"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":PS:ResetSupplyC.PROC"
        lappend data(Column.ResetValue) "1"
        lappend data(Column.SetCurrentPV) ":PS:SetCurrentC"
        lappend data(Column.ReadCurrentPV) ":PS:MeasCurrentM"
        lappend data(Column.ReadDCCTCurrentPV) ":DCCT:CurrentM"
        lappend data(Column.ReadDacCurrentPV) ""
        lappend data(Column.ReadDCCTSlowCurrentPV) ":DCCT:SlowCurrentM"
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":PS:VoltageM" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":StandardizeC.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StandardizeC.F"
        lappend data(Column.SetConditioningFinishPV) ":StandardizeC.G"
        lappend data(Column.ReadTempPV) ":PS:CapacitorTempM"
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ":PS:FaultsM"
        lappend data(Column.NoFaultValue) "0"
        #puts "$name [exec cavget -list=${name}:StandardizeC.SNAM]"
    }
}

proc SRsextupoles {} {
    global data

    #STANDARDIZEDWELL
    for {set sector 1} {$sector <= 40} {incr sector} {
        set s [format %02d $sector]
        lappend names S${s}A:S1
        lappend sectors $sector
        lappend names S${s}A:S2
        lappend sectors $sector
        lappend names S${s}A:S3
        lappend sectors $sector
        lappend names S${s}B:S3
        lappend sectors $sector
        lappend names S${s}B:S2
        lappend sectors $sector
        lappend names S${s}B:S1
        lappend sectors $sector
    }
    foreach name $names sector $sectors {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "SR"
        lappend data(Column.Sector) "$sector"
        lappend data(Column.Type) "sext"
        lappend data(Column.OnOffStatusPV) ":PS:OnOffM"
        lappend data(Column.StatusOnValue) 1
        lappend data(Column.TurnOnPV) ":PS:SupplyOnC.PROC"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":PS:SupplyOffC.PROC"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":PS:ResetSupplyC.PROC"
        lappend data(Column.ResetValue) "1"
        lappend data(Column.SetCurrentPV) ":PS:SetCurrentC"
        lappend data(Column.ReadCurrentPV) ":PS:MeasCurrentM"
        lappend data(Column.ReadDCCTCurrentPV) ":DCCT:CurrentM"
        lappend data(Column.ReadDacCurrentPV) ""
        lappend data(Column.ReadDCCTSlowCurrentPV) ":DCCT:SlowCurrentM"
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":PS:VoltageM" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":StandardizeC.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StandardizeC.F"
        lappend data(Column.SetConditioningFinishPV) ":StandardizeC.G"
        lappend data(Column.ReadTempPV) ":PS:CapacitorTempM"
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ":PS:FaultsM"
        lappend data(Column.NoFaultValue) "0"
        #puts "$name [exec cavget -list=${name}:StandardizeC.SNAM]"
    }
}

proc SRskewquads {} {
    global data

    #TRIDEGAUSS
    for {set sector 1} {$sector <= 40} {incr sector} {
        set s [format %02d $sector]
        lappend names S${s}A:SQ1
        lappend sectors $sector
        lappend names S${s}A:SQ2
        lappend sectors $sector
        lappend names S${s}B:SQ2
        lappend sectors $sector
        lappend names S${s}B:SQ1
        lappend sectors $sector
    }
    foreach name $names sector $sectors {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "SR"
        lappend data(Column.Sector) "$sector"
        lappend data(Column.Type) "skewquad"
        lappend data(Column.OnOffStatusPV) ":PS:OnOffStatusM"
        lappend data(Column.StatusOnValue) 0
        lappend data(Column.TurnOnPV) ":PS:SupplyOnC.PROC"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":PS:SupplyOffC.PROC"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":PS:ResetSupplyC.PROC"
        lappend data(Column.ResetValue) "1"
        lappend data(Column.SetCurrentPV) ":PS:SetCurrentC"
        lappend data(Column.ReadCurrentPV) ":PS:MeasCurrentM"
        lappend data(Column.ReadDCCTCurrentPV) ":DCCT:CurrentM"
        lappend data(Column.ReadDacCurrentPV) ":PS:DacCurrentM"
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":PS:VoltageM" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":StandardizeC.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StandardizeC.C"
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ":PS:CapacitorTempM"
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ":PS:FaultStatusM"
        lappend data(Column.NoFaultValue) "0"
        #puts "$name [exec cavget -list=${name}:StandardizeC.SNAM]"
    }
}

proc SRquadtrims {} {
    global data
    return
    #TRIDEGAUSS
    for {set sector 1} {$sector <= 40} {incr sector} {
        set s [format %02d $sector]
    }
    foreach name $names sector $sectors {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "SR"
        lappend data(Column.Sector) "$sector"
        lappend data(Column.Type) "quadtrim"
        lappend data(Column.OnOffStatusPV) ":PS:OnOffStatusM"
        lappend data(Column.StatusOnValue) 0
        lappend data(Column.TurnOnPV) ":PS:SupplyOnC.PROC"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":PS:SupplyOffC.PROC"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":PS:ResetSupplyC.PROC"
        lappend data(Column.ResetValue) "1"
        lappend data(Column.SetCurrentPV) ":PS:SetCurrentC"
        lappend data(Column.ReadCurrentPV) ":PS:MeasCurrentM"
        lappend data(Column.ReadDCCTCurrentPV) ":DCCT:CurrentM"
        lappend data(Column.ReadDacCurrentPV) ":PS:DacCurrentM"
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":PS:VoltageM" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":StandardizeC.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StandardizeC.C"
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ":PS:CapacitorTempM"
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ":PS:FaultStatusM"
        lappend data(Column.NoFaultValue) "0"
        #puts "$name [exec cavget -list=${name}:StandardizeC.SNAM]"
    }
}

proc SRdipoles {} {
    global data
    lappend names "S:M1"
    lappend sectors ""
    lappend names "S:M2"
    lappend sectors ""    
    foreach name $names sector $sectors {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "SR"
        lappend data(Column.Sector) "$sector"
        lappend data(Column.Type) "dipole"
        lappend data(Column.OnOffStatusPV) ":PS:OnOffM"
        lappend data(Column.StatusOnValue) 1
        lappend data(Column.TurnOnPV) ":PS:SupplyOnC.PROC"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":PS:SupplyOffC.PROC"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":PS:ResetSupplyC.PROC"
        lappend data(Column.ResetValue) "1"
        lappend data(Column.SetCurrentPV) ":PS:SetCurrentC"
        lappend data(Column.ReadCurrentPV) ":PS:MeasCurrentM"
        lappend data(Column.ReadDCCTCurrentPV) ":DCCT:CurrentM"
        lappend data(Column.ReadDacCurrentPV) ""
        lappend data(Column.ReadDCCTSlowCurrentPV) ":DCCT:SlowCurrentM"
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":PS:VoltageM" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":StandardizeC.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StandardizeC.F"
        lappend data(Column.SetConditioningFinishPV) ":StandardizeC.G"
        lappend data(Column.ReadTempPV) ":PS:Cab1TempM"
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ":PS:FaultStateM"
        lappend data(Column.NoFaultValue) "0"
    }

    set names ""
    set sectors ""
    for {set sector 1} {$sector <= 40} {incr sector} {
        set s [format %02d $sector]
        lappend names S${s}A:M3
        lappend sectors $sector
        lappend names S${s}A:M4
        lappend sectors $sector
        lappend names S${s}B:M3
        lappend sectors $sector
        lappend names S${s}A:Q4
        lappend sectors $sector
        lappend names S${s}A:Q5
        lappend sectors $sector
        lappend names S${s}A:Q8
        lappend sectors $sector
        lappend names S${s}B:Q4
        lappend sectors $sector
        lappend names S${s}B:Q5
        lappend sectors $sector
        lappend names S${s}B:Q8
        lappend sectors $sector
    }
    foreach name $names sector $sectors {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "SR"
        lappend data(Column.Sector) "$sector"
        lappend data(Column.Type) "dipole"
        lappend data(Column.OnOffStatusPV) ":PS:OnOffM"
        lappend data(Column.StatusOnValue) 1
        lappend data(Column.TurnOnPV) ":PS:SupplyOnC.PROC"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":PS:SupplyOffC.PROC"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":PS:ResetSupplyC.PROC"
        lappend data(Column.ResetValue) "1"
        lappend data(Column.SetCurrentPV) ":PS:SetCurrentC"
        lappend data(Column.ReadCurrentPV) ":PS:MeasCurrentM"
        lappend data(Column.ReadDCCTCurrentPV) ":DCCT:CurrentM"
        lappend data(Column.ReadDacCurrentPV) ""
        lappend data(Column.ReadDCCTSlowCurrentPV) ":DCCT:SlowCurrentM"
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":PS:VoltageM" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":StandardizeC.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StandardizeC.F"
        lappend data(Column.SetConditioningFinishPV) ":StandardizeC.G"
        lappend data(Column.ReadTempPV) ":PS:CapacitorTempM"
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ":PS:FaultsM"
        lappend data(Column.NoFaultValue) "0"
    }

    #TRIDEGAUSS
    set names ""
    set sectors ""
    for {set sector 1} {$sector <= 40} {incr sector} {
        set s [format %02d $sector]
        if {[lsearch -exact "2 6 11 12 13 15 16 21 22 23 24 25 28 31 32 34" $sector] != -1} {
            lappend names S${s}C:M1
            lappend sectors $sector
            if {[lsearch -exact "11 28" $sector] != -1} {
                #lappend names S${s}C:M2
                #lappend sectors $sector
            }
        }
    }
    foreach name $names sector $sectors {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "SR"
        lappend data(Column.Sector) "$sector"
        lappend data(Column.Type) "dipole"
        lappend data(Column.OnOffStatusPV) ":PS:OnOffStatusM"
        lappend data(Column.StatusOnValue) 0
        lappend data(Column.TurnOnPV) ":PS:SupplyOnC.PROC"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":PS:SupplyOffC.PROC"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":PS:ResetSupplyC.PROC"
        lappend data(Column.ResetValue) "1"
        lappend data(Column.SetCurrentPV) ":PS:SetCurrentC"
        lappend data(Column.ReadCurrentPV) ":PS:MeasCurrentM"
        lappend data(Column.ReadDCCTCurrentPV) ":DCCT:CurrentM"
        lappend data(Column.ReadDacCurrentPV) ":PS:DacCurrentM"
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":PS:VoltageM" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":StandardizeC.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StandardizeC.C"
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ":PS:CapacitorTempM"
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ":PS:FaultStatusM"
        lappend data(Column.NoFaultValue) "0"
        #puts "$name [exec cavget -list=${name}:StandardizeC.SNAM]"
    }
}

proc SRdipoletrims {} {
    global data

    #TRIDEGAUSS
    for {set sector 1} {$sector <= 40} {incr sector} {
        set s [format %02d $sector]
        lappend names S${s}A:M3T
        lappend sectors $sector
        lappend names S${s}A:M4T
        lappend sectors $sector
        lappend names S${s}B:M3T
        lappend sectors $sector
        lappend names S${s}A:Q4T
        lappend sectors $sector
        lappend names S${s}A:Q5T
        lappend sectors $sector
        lappend names S${s}A:Q8T
        lappend sectors $sector
        lappend names S${s}B:Q8T
        lappend sectors $sector
        lappend names S${s}B:Q5T
        lappend sectors $sector
        lappend names S${s}B:Q4T
        lappend sectors $sector
    }
    foreach name $names sector $sectors {
        lappend data(Column.MagnetName) $name
        lappend data(Column.Beamline) "SR"
        lappend data(Column.Sector) "$sector"
        lappend data(Column.Type) "dipoletrim"
        lappend data(Column.OnOffStatusPV) ":PS:OnOffStatusM"
        lappend data(Column.StatusOnValue) 0
        lappend data(Column.TurnOnPV) ":PS:SupplyOnC.PROC"
        lappend data(Column.TurnOnValue) 1 
        lappend data(Column.TurnOffPV) ":PS:SupplyOffC.PROC"
        lappend data(Column.TurnOffValue) 1 
        lappend data(Column.ResetPV) ":PS:ResetSupplyC.PROC"
        lappend data(Column.ResetValue) "1"
        lappend data(Column.SetCurrentPV) ":PS:SetCurrentC"
        lappend data(Column.ReadCurrentPV) ":PS:MeasCurrentM"
        lappend data(Column.ReadDCCTCurrentPV) ":DCCT:CurrentM"
        lappend data(Column.ReadDacCurrentPV) ":PS:DacCurrentM"
        lappend data(Column.ReadDCCTSlowCurrentPV) ""
        lappend data(Column.SetVoltagePV) ""
        lappend data(Column.ReadVoltagePV) ":PS:VoltageM" 
        lappend data(Column.ReadDacVoltagePV) ""
        lappend data(Column.StartConditioningPV) ":StandardizeC.PROC"
        lappend data(Column.SetConditioningCyclesPV) ":StandardizeC.C"
        lappend data(Column.SetConditioningFinishPV) ""
        lappend data(Column.ReadTempPV) ":PS:CapacitorTempM"
        lappend data(Column.RateDividerPV) ""
        lappend data(Column.ResistancePV) ""
        lappend data(Column.FaultPV) ":PS:FaultStatusM"
        lappend data(Column.NoFaultValue) "0"
        #puts "$name [exec cavget -list=${name}:StandardizeC.SNAM]"
    }
}

proc SRraws {} {
    global data

    for {set i 2} {$i <= 40} {incr i 2} {
        set ii [format %02d $i]
        if {$i < 40} {
            set jj [format %02d [expr $i + 1]]
        } else {
            set jj 01
        }
        for {set k 1} {$k <= 4} {incr k} {
            set name S${ii}${jj}-PS:RAW${k}
            lappend data(Column.MagnetName) $name
            lappend data(Column.Beamline) "SR"
            lappend data(Column.Sector) ""
            lappend data(Column.Type) "raw"
            lappend data(Column.OnOffStatusPV) ":DC_OnM"
            lappend data(Column.StatusOnValue) 1
            lappend data(Column.TurnOnPV) ":RemoteOnC"
            lappend data(Column.TurnOnValue) 1 
            lappend data(Column.TurnOffPV) ":RemoteOffC"
            lappend data(Column.TurnOffValue) 1
            lappend data(Column.ResetPV) ":RemoteResetC"
            lappend data(Column.ResetValue) 1
            lappend data(Column.SetCurrentPV) ""
            lappend data(Column.ReadCurrentPV) ":DC_CurrentActualM"
            lappend data(Column.ReadDCCTCurrentPV) ""
            lappend data(Column.ReadDacCurrentPV) ""
            lappend data(Column.ReadDCCTSlowCurrentPV) ""
            lappend data(Column.SetVoltagePV) ""
            lappend data(Column.ReadVoltagePV) ":DC_VoltageActualM" 
            lappend data(Column.ReadDacVoltagePV) ""
            lappend data(Column.StartConditioningPV) ""
            lappend data(Column.SetConditioningCyclesPV) ""
            lappend data(Column.SetConditioningFinishPV) ""
            lappend data(Column.ReadTempPV) ""
            lappend data(Column.RateDividerPV) ""
            lappend data(Column.ResistancePV) ""
            lappend data(Column.FaultPV) ""
            lappend data(Column.NoFaultValue) ""
        }
    }
}

LINACcorrectors
LINACquads
LINACdipoles
LINACdipoletrims
LINACalphas
LINACalphatrims
LINACkickers
LINACheaters
LINACraws

LTPcorrectors
LTPquads
LTPdipoles

PBcorrectors
PBquads

PARcorrectors
PARquads
PARdipoles
PARmisc

PTBcorrectors
PTBquads
PTBdipoles

BBcorrectors
BBquads
BBdipoles

LEAcorrectors
LEAquads
LEAdipoles

Boosterkickers
Boosterseptums

BTScorrectors
BTSquads
BTSskewquads
BTSdipoles
BTSraws

SRcorrectors
SRquads
SRquadtrims
SRskewquads
SRsextupoles
SRdipoles
SRdipoletrims
SRkickers
SRseptums
SRraws

foreach name $data(ColumnNames) {
    set data(Column.$name) [list $data(Column.$name)]
}
set data(Parameter.InstallLocation) "/home/helios/oagData/deviceConfig/magnets.sdds"
sdds save magnets.sdds data

exec sddssort magnets.sdds -nowarn -col=Beamline -col=Type -col=MagnetName -num

file delete magnets.sdds~

puts "Run cppatch magnets.sdds to install new file"


proc TestPVs {} {
    set fid [open /tmp/bob.out w]
    global data
    foreach name [lindex $data(Column.MagnetName) 0] \
      beamline [lindex $data(Column.Beamline) 0] \
      onoff [lindex $data(Column.OnOffStatusPV) 0] \
      turnon [lindex $data(Column.TurnOnPV) 0] \
      turnoff [lindex $data(Column.TurnOffPV) 0] \
      reset [lindex $data(Column.ResetPV) 0] \
      cur1 [lindex $data(Column.SetCurrentPV) 0] \
      cur2 [lindex $data(Column.ReadCurrentPV) 0] \
      cur3 [lindex $data(Column.ReadDCCTCurrentPV) 0] \
      cur4 [lindex $data(Column.ReadDacCurrentPV) 0] \
      cur5 [lindex $data(Column.ReadDCCTSlowCurrentPV) 0] \
      volt1 [lindex $data(Column.SetVoltagePV) 0] \
      volt2 [lindex $data(Column.ReadVoltagePV) 0] \
      volt3 [lindex $data(Column.ReadDacVoltagePV) 0] \
      cond [lindex $data(Column.StartConditioningPV) 0] \
      temp [lindex $data(Column.ReadTempPV) 0] \
      rate [lindex $data(Column.RateDividerPV) 0] \
      resist [lindex $data(Column.ResistancePV) 0] {
        if {$beamline == "BTS"} {
            set options "-list=$onoff"
            if {[llength $turnon]} {
                append options ",$turnon"
            }
            if {[llength $turnoff]} {
                append options ",$turnoff"
            }
            if {[llength $reset]} {
                append options ",$reset"
            }
            if {[llength $cur1]} {
                append options ",$cur1"
            }
            if {[llength $cur2]} {
                append options ",$cur2"
            }
            if {[llength $cur3]} {
                append options ",$cur3"
            }
            if {[llength $cur4]} {
                append options ",$cur4"
            }
            if {[llength $volt1]} {
                append options ",$volt1"
            }
            if {[llength $volt2]} {
                append options ",$volt2"
            }
            if {[llength $volt3]} {
                append options ",$volt3"
            }
            if {[llength $cond]} {
                append options ",$cond"
            }
            if {[llength $temp]} {
                append options ",$temp"
            }
            if {[llength $rate]} {
                append options ",$rate"
            }
            if {[llength $resist]} {
                append options ",$resist"
            }
            if {[catch {exec cavget -label -list=$name $options} results]} {
                puts "ERROR $name $results"
                exit
            }
            puts "$results"
            puts $fid "$results"
        }
          
    
    }
    close $fid
}

#TestPVs


proc makeLinacPSConditioningFile {} {
    exec sddsprocess magnets.sdds -pipe=out -match=column,Beamline=LINAC | \
        sddsprocess -pipe -retain=column,MagnetName,TurnOnPV,TurnOffPV,ResetPV,StartConditioningPV | \
        sddssort -pipe -column=MagnetName -num | \
        sddsconvert -pipe=in LinacPS-Conditioning.xref -rename=column,MagnetName=ControlName,TurnOnPV=OnTail,TurnOffPV=OffTail,ResetPV=ResetTail,StartConditioningPV=ConditioningTail

    sdds load LinacPS-Conditioning.xref data
    foreach name [lindex $data(Column.ControlName) 0] \
      cond [lindex $data(Column.ConditioningTail) 0] \
      off [lindex $data(Column.OffTail) 0] \
      on [lindex $data(Column.OnTail) 0] \
      reset [lindex $data(Column.ResetTail) 0] {
          if {($name == "L1:PC1:QE1") || ($name == "L1:PC1:QE2") || ($name == "L1:RG1:HTR") || \
                ($name == "L1:RG1:KIK") || ($name == "L1:RG2:HTR") || ($name == "L1:RG2:KIK") || \
                ($name == "L2:QM:RAW")} {
              continue
          }
          set cond [file rootname $cond]
          if {[string range $cond 0 3] == ":PS2"} {
              set name "${name}:PS2"
              set cond [string range $cond 5 end]
          } elseif {[string range $cond 0 2] == ":PS"} {
              set name "${name}:PS"
              set cond [string range $cond 4 end]
          } else {
              set cond [string range $cond 1 end]
          }
          set reset [file rootname $reset]
          if {$reset == ""} {
              set reset [file rootname $off]
          }
          if {[string range $reset 0 3] == ":PS2"} {
              set reset [string range $reset 4 end]
          } elseif {[string range $reset 0 2] == ":PS"} {
              set reset [string range $reset 3 end]
          }
          if {[string range $on 0 3] == ":PS2"} {
              set on [string range $on 4 end]
          } elseif {[string range $on 0 2] == ":PS"} {
              set on [string range $on 3 end]
          }
          

          #Element names should never change. They are used by the lattice setup tool
          set element $name
          if {$name == "L1:Q1"} {
              set element L1:QM1
          } elseif {$name == "L1:Q2"} {
              set element L1:QM2
          } elseif {$name == "L1:RG1:Q4"} {
              set element L1:RG1:QM4
          } elseif {$name == "L3:BM:DS"} {
              set element L3:BM3
          } elseif {$name == "L3:BM:US"} {
              set element L3:BM1
          }

          lappend nameList $name
          lappend elementList $element
          lappend condList $cond
          lappend resetList $reset
          lappend onList $on
          

          #puts "$name $cond $reset $on"
          
      }
    set data(ColumnNames) "ConditioningTail ResetTail OnTail ControlName ElementName"
    set data(ParameterNames) "InstallLocation Comment"
    set data(ParameterInfo.Comment) "type SDDS_STRING"
    set data(ColumnInfo.ElementName) "type SDDS_STRING"
    set data(Column.ControlName) [list $nameList]
    set data(Column.ElementName) [list $elementList]
    set data(Column.ConditioningTail) [list $condList]
    set data(Column.ResetTail) [list $resetList]
    set data(Column.OnTail) [list $onList]
    set data(Parameter.InstallLocation) "/home/helios/oagData/deviceConfig/linac/LinacPS-Conditioning.xref"
    set data(Parameter.Comment) {"ElementName data should never change"}
    sdds save LinacPS-Conditioning.xref data
    exec sddssort LinacPS-Conditioning.xref -column=ControlName -num -nowarn
}

makeLinacPSConditioningFile
puts "Run cppatch LinacPS-Conditioning.xref to install new file"

file delete LinacPS-Conditioning.xref~
