Changeset 121


Ignore:
Timestamp:
Jun 15, 2007 11:11:11 AM (16 years ago)
Author:
srkline
Message:

Updated NG3 attenuator calibration tables. Like the tables for NG7, these have been extrapolated to 4A and to 20A for all of the attenuator steps. New calibrations doen June 2007 by John Barker.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sans/SANSReduction/trunk/Put in User Procedures/SANS_Reduction_v5.00/NCNR_Utils.ipf

    r118 r121  
    893893//NG1 - (8m SANS) is not supported 
    894894// 
    895 // local function 
     895// new calibration done June 2007, John Barker 
    896896// 
    897897Proc MakeNG3AttenTable() 
     
    899899        NewDataFolder/O root:myGlobals:Attenuators 
    900900        //do explicitly to avoid data folder problems, redundant, but it must work without fail 
    901         Make/O/N=9 root:myGlobals:Attenuators:ng3att0 
    902         Make/O/N=9 root:myGlobals:Attenuators:ng3att1 
    903         Make/O/N=9 root:myGlobals:Attenuators:ng3att2 
    904         Make/O/N=9 root:myGlobals:Attenuators:ng3att3 
    905         Make/O/N=9 root:myGlobals:Attenuators:ng3att4 
    906         Make/O/N=9 root:myGlobals:Attenuators:ng3att5 
    907         Make/O/N=9 root:myGlobals:Attenuators:ng3att6 
    908         Make/O/N=9 root:myGlobals:Attenuators:ng3att7 
    909         Make/O/N=9 root:myGlobals:Attenuators:ng3att8 
    910         Make/O/N=9 root:myGlobals:Attenuators:ng3att9 
    911         Make/O/N=9 root:myGlobals:Attenuators:ng3att10 
    912          
    913         //each wave has 8 elements, the transmission of att# at the wavelengths  
    914         //lambda = 5,6,7,8,10,12,14,17 
    915         Make/O/N=9 root:myGlobals:Attenuators:ng3lambda={5,6,7,8,10,12,14,17,20} 
    916         root:myGlobals:Attenuators:ng3att0 = {1, 1, 1, 1, 1, 1, 1, 1,1 } 
    917         root:myGlobals:Attenuators:ng3att1 = {0.421, 0.394, 0.371, 0.349, 0.316, 0.293, 0.274, 0.245,0.220} 
    918         root:myGlobals:Attenuators:ng3att2 = {0.187, 0.164, 0.145, 0.130, 0.106, 0.0916, 0.0808, 0.0651,0.0531} 
    919         root:myGlobals:Attenuators:ng3att3 = {0.0777, 0.0636, 0.0534, 0.0446, 0.0330, 0.0262, 0.0217, 0.0157 ,0.0116} 
    920         root:myGlobals:Attenuators:ng3att4 = {0.0328, 0.0252, 0.0195, 0.0156, 0.0104, 7.68e-3, 5.98e-3, 3.91e-3,0.00262} 
    921         root:myGlobals:Attenuators:ng3att5 = {0.0139, 9.94e-3, 7.34e-3, 5.44e-3, 3.29e-3, 2.25e-3, 1.66e-3, 9.95e-4, 6.12e-4} 
    922         root:myGlobals:Attenuators:ng3att6 = {5.95e-3, 3.97e-3, 2.77e-3, 1.95e-3, 1.06e-3, 6.81e-4, 4.71e-4, 2.59e-4 , 1.45e-4} 
    923         root:myGlobals:Attenuators:ng3att7 = {1.07e-3, 6.24e-4, 3.90e-4, 2.44e-4, 1.14e-4, 6.55e-5, 4.10e-5, 1.64e-5 , 7.26e-6} 
    924         root:myGlobals:Attenuators:ng3att8 = {1.90e-4, 9.84e-5, 5.60e-5, 3.25e-5, 1.55e-5, 6.60e-6, 3.42e-6, 1.04e-6 , 3.48e-7} 
    925         root:myGlobals:Attenuators:ng3att9 = {3.61e-5, 1.74e-5, 9.90e-6, 6.45e-6, 2.35e-6, 6.35e-7, 2.86e-7, 6.61e-8 , 1.73e-8} 
    926         root:myGlobals:Attenuators:ng3att10 = {7.60e-6, 3.99e-6, 2.96e-6, 2.03e-6, 3.34e-7, 6.11e-8, 2.39e-8, 4.19e-9 , 8.60e-10} 
    927  
    928 End 
    929  
     901        Variable num=10         //10 needed for tables after June 2007 
     902 
     903        Make/O/N=(num) root:myGlobals:Attenuators:ng3att0 
     904        Make/O/N=(num) root:myGlobals:Attenuators:ng3att1 
     905        Make/O/N=(num) root:myGlobals:Attenuators:ng3att2 
     906        Make/O/N=(num) root:myGlobals:Attenuators:ng3att3 
     907        Make/O/N=(num) root:myGlobals:Attenuators:ng3att4 
     908        Make/O/N=(num) root:myGlobals:Attenuators:ng3att5 
     909        Make/O/N=(num) root:myGlobals:Attenuators:ng3att6 
     910        Make/O/N=(num) root:myGlobals:Attenuators:ng3att7 
     911        Make/O/N=(num) root:myGlobals:Attenuators:ng3att8 
     912        Make/O/N=(num) root:myGlobals:Attenuators:ng3att9 
     913        Make/O/N=(num) root:myGlobals:Attenuators:ng3att10 
     914         
     915        //each wave has 10 elements, the transmission of att# at the wavelengths  
     916        //lambda = 4,5,6,7,8,10,12,14,17,20 (4 A and 20 A are extrapolated values) 
     917        Make/O/N=(num) root:myGlobals:Attenuators:ng3lambda={4,5,6,7,8,10,12,14,17,20} 
     918         
     919        // new calibration done June 2007, John Barker 
     920        root:myGlobals:Attenuators:ng3att0 = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1 } 
     921        root:myGlobals:Attenuators:ng3att1 = {0.444784,0.419,0.3935,0.3682,0.3492,0.3132,0.2936,0.2767,0.2477,0.22404} 
     922        root:myGlobals:Attenuators:ng3att2 = {0.207506,0.1848,0.1629,0.1447,0.1292,0.1056,0.09263,0.08171,0.06656,0.0546552} 
     923        root:myGlobals:Attenuators:ng3att3 = {0.092412,0.07746,0.06422,0.05379,0.04512,0.03321,0.02707,0.02237,0.01643,0.0121969} 
     924        root:myGlobals:Attenuators:ng3att4 = {0.0417722,0.03302,0.02567,0.02036,0.01604,0.01067,0.00812,0.006316,0.00419,0.00282411} 
     925        root:myGlobals:Attenuators:ng3att5 = {0.0187129,0.01397,0.01017,0.007591,0.005668,0.003377,0.002423,0.001771,0.001064,0.000651257} 
     926        root:myGlobals:Attenuators:ng3att6 = {0.00851048,0.005984,0.004104,0.002888,0.002029,0.001098,0.0007419,0.0005141,0.000272833,0.000150624} 
     927        root:myGlobals:Attenuators:ng3att7 = {0.00170757,0.001084,0.0006469,0.0004142,0.0002607,0.0001201,7.664e-05,4.06624e-05,1.77379e-05,7.30624e-06} 
     928        root:myGlobals:Attenuators:ng3att8 = {0.000320057,0.0001918,0.0001025,6.085e-05,3.681e-05,1.835e-05,6.74002e-06,3.25288e-06,1.15321e-06,3.98173e-07} 
     929        root:myGlobals:Attenuators:ng3att9 = {6.27682e-05,3.69e-05,1.908e-05,1.196e-05,8.738e-06,6.996e-06,6.2901e-07,2.60221e-07,7.49748e-08,2.08029e-08} 
     930        root:myGlobals:Attenuators:ng3att10 = {1.40323e-05,8.51e-06,5.161e-06,4.4e-06,4.273e-06,1.88799e-07,5.87021e-08,2.08169e-08,4.8744e-09,1.08687e-09} 
     931   
     932  //old tables, pre-June 2007 
     933//      Make/O/N=9 root:myGlobals:Attenuators:ng3lambda={5,6,7,8,10,12,14,17,20} 
     934//      root:myGlobals:Attenuators:ng3att0 = {1, 1, 1, 1, 1, 1, 1, 1,1 } 
     935//      root:myGlobals:Attenuators:ng3att1 = {0.421, 0.394, 0.371, 0.349, 0.316, 0.293, 0.274, 0.245,0.220} 
     936//      root:myGlobals:Attenuators:ng3att2 = {0.187, 0.164, 0.145, 0.130, 0.106, 0.0916, 0.0808, 0.0651,0.0531} 
     937//      root:myGlobals:Attenuators:ng3att3 = {0.0777, 0.0636, 0.0534, 0.0446, 0.0330, 0.0262, 0.0217, 0.0157 ,0.0116} 
     938//      root:myGlobals:Attenuators:ng3att4 = {0.0328, 0.0252, 0.0195, 0.0156, 0.0104, 7.68e-3, 5.98e-3, 3.91e-3,0.00262} 
     939//      root:myGlobals:Attenuators:ng3att5 = {0.0139, 9.94e-3, 7.34e-3, 5.44e-3, 3.29e-3, 2.25e-3, 1.66e-3, 9.95e-4, 6.12e-4} 
     940//      root:myGlobals:Attenuators:ng3att6 = {5.95e-3, 3.97e-3, 2.77e-3, 1.95e-3, 1.06e-3, 6.81e-4, 4.71e-4, 2.59e-4 , 1.45e-4} 
     941//      root:myGlobals:Attenuators:ng3att7 = {1.07e-3, 6.24e-4, 3.90e-4, 2.44e-4, 1.14e-4, 6.55e-5, 4.10e-5, 1.64e-5 , 7.26e-6} 
     942//      root:myGlobals:Attenuators:ng3att8 = {1.90e-4, 9.84e-5, 5.60e-5, 3.25e-5, 1.55e-5, 6.60e-6, 3.42e-6, 1.04e-6 , 3.48e-7} 
     943//      root:myGlobals:Attenuators:ng3att9 = {3.61e-5, 1.74e-5, 9.90e-6, 6.45e-6, 2.35e-6, 6.35e-7, 2.86e-7, 6.61e-8 , 1.73e-8} 
     944//      root:myGlobals:Attenuators:ng3att10 = {7.60e-6, 3.99e-6, 2.96e-6, 2.03e-6, 3.34e-7, 6.11e-8, 2.39e-8, 4.19e-9 , 8.60e-10} 
     945 
     946End 
     947 
     948// new calibration done June 2007, John Barker 
    930949Proc MakeNG7AttenTable() 
    931950 
    932951        NewDataFolder/O root:myGlobals:Attenuators 
    933         Variable num=10 
     952         
     953        Variable num=10         //10 needed for tables after June 2007 
     954         
    934955        Make/O/N=(num) root:myGlobals:Attenuators:ng7att0 
    935956        Make/O/N=(num) root:myGlobals:Attenuators:ng7att1 
     
    945966         
    946967        //NG7 wave has 10 elements, the transmission of att# at the wavelengths  
    947         //lambda = 5,6,7,8,10,12,14,17,20 
    948         // note that some of the higher attenuations and ALL of the 20A data is interpolated 
     968        //lambda =4, 5,6,7,8,10,12,14,17,20 
     969        // note that some of the higher attenuations and ALL of the 4 A and 20A data is interpolated 
    949970        // none of these values are expected to be used in reality since the flux would be too low in practice 
    950971        Make/O/N=(num) root:myGlobals:Attenuators:ng7lambda={4,5,6,7,8,10,12,14,17,20} 
     
    9791000//returns the transmission of the attenuator (at NG3) given the attenuator number 
    9801001//which must be an integer(to select the wave) and given the wavelength. 
    981 //the wavelength may be any value between 5 and 20 (A), and is interpolated 
     1002//the wavelength may be any value between 4 and 20 (A), and is interpolated 
    9821003//between calibrated wavelengths for a given attenuator 
    9831004// 
    984 // local function 
    9851005// 
    9861006Function LookupAttenNG3(lambda,attenNo) 
     
    9951015        endif 
    9961016         
    997         if( (lambda < 5) || (lambda > 20 ) ) 
    998                 Abort "Wavelength out of calibration range (5,20). You must manually enter the absolute parameters" 
     1017        if( (lambda < 4) || (lambda > 20 ) ) 
     1018                Abort "Wavelength out of calibration range (4,20). You must manually enter the absolute parameters" 
    9991019        Endif 
    10001020         
     
    10201040//returns the transmission of the attenuator (at NG7) given the attenuator number 
    10211041//which must be an integer(to select the wave) and given the wavelength. 
    1022 //the wavelength may be any value between 5 and 20 (A), and is interpolated 
     1042//the wavelength may be any value between 4 and 20 (A), and is interpolated 
    10231043//between calibrated wavelengths for a given attenuator 
    10241044// 
    1025 // this set of tables is also used for NG5 (NG1) SANS instrument - as the attenuator has yet to be calibrated 
     1045// this set of tables is also used for NG5 (NG1) SANS instrument - as the attenuator has never been calibrated 
    10261046// 
    10271047// local function 
     
    10381058        endif 
    10391059         
    1040         if( (lambda < 5) || (lambda > 20 ) ) 
    1041                 Abort "Wavelength out of calibration range (5,20). You must manually enter the absolute parameters" 
     1060        if( (lambda < 4) || (lambda > 20 ) ) 
     1061                Abort "Wavelength out of calibration range (4,20). You must manually enter the absolute parameters" 
    10421062        Endif 
    10431063         
Note: See TracChangeset for help on using the changeset viewer.