Changeset 121
- Timestamp:
- Jun 15, 2007 11:11:11 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sans/SANSReduction/trunk/Put in User Procedures/SANS_Reduction_v5.00/NCNR_Utils.ipf
r118 r121 893 893 //NG1 - (8m SANS) is not supported 894 894 // 895 // local function895 // new calibration done June 2007, John Barker 896 896 // 897 897 Proc MakeNG3AttenTable() … … 899 899 NewDataFolder/O root:myGlobals:Attenuators 900 900 //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 946 End 947 948 // new calibration done June 2007, John Barker 930 949 Proc MakeNG7AttenTable() 931 950 932 951 NewDataFolder/O root:myGlobals:Attenuators 933 Variable num=10 952 953 Variable num=10 //10 needed for tables after June 2007 954 934 955 Make/O/N=(num) root:myGlobals:Attenuators:ng7att0 935 956 Make/O/N=(num) root:myGlobals:Attenuators:ng7att1 … … 945 966 946 967 //NG7 wave has 10 elements, the transmission of att# at the wavelengths 947 //lambda = 5,6,7,8,10,12,14,17,20948 // note that some of the higher attenuations and ALL of the 20A data is interpolated968 //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 949 970 // none of these values are expected to be used in reality since the flux would be too low in practice 950 971 Make/O/N=(num) root:myGlobals:Attenuators:ng7lambda={4,5,6,7,8,10,12,14,17,20} … … 979 1000 //returns the transmission of the attenuator (at NG3) given the attenuator number 980 1001 //which must be an integer(to select the wave) and given the wavelength. 981 //the wavelength may be any value between 5and 20 (A), and is interpolated1002 //the wavelength may be any value between 4 and 20 (A), and is interpolated 982 1003 //between calibrated wavelengths for a given attenuator 983 1004 // 984 // local function985 1005 // 986 1006 Function LookupAttenNG3(lambda,attenNo) … … 995 1015 endif 996 1016 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" 999 1019 Endif 1000 1020 … … 1020 1040 //returns the transmission of the attenuator (at NG7) given the attenuator number 1021 1041 //which must be an integer(to select the wave) and given the wavelength. 1022 //the wavelength may be any value between 5and 20 (A), and is interpolated1042 //the wavelength may be any value between 4 and 20 (A), and is interpolated 1023 1043 //between calibrated wavelengths for a given attenuator 1024 1044 // 1025 // this set of tables is also used for NG5 (NG1) SANS instrument - as the attenuator has yet to becalibrated1045 // this set of tables is also used for NG5 (NG1) SANS instrument - as the attenuator has never been calibrated 1026 1046 // 1027 1047 // local function … … 1038 1058 endif 1039 1059 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" 1042 1062 Endif 1043 1063
Note: See TracChangeset
for help on using the changeset viewer.