Changeset 377
 Timestamp:
 Sep 20, 2011 1:51:43 PM (11 years ago)
 File:

 1 edited
Legend:
 Unmodified
 Added
 Removed

trunk/GSASIIstruct.py
r376 r377 1166 1166 pola,dIdPola = G2pwd.Polarization(parmDict[hfx+'Polariz.'],refl[5],parmDict[hfx+'Azimuth']) 1167 1167 POcorr,dIdPO = GetPrefOriDerv(refl,G,phfx,calcControls,parmDict) 1168 dIdPola *= refl[3]/pola1168 dIdPola /= pola 1169 1169 for iPO in dIdPO: 1170 dIdPO[iPO] *= refl[3]/POcorr1171 dIdsh = refl[3]/parmDict[hfx+'Scale']1172 dIdsp = refl[3]/parmDict[phfx+'Scale']1170 dIdPO[iPO] /= POcorr 1171 dIdsh = 1./parmDict[hfx+'Scale'] 1172 dIdsp = 1./parmDict[phfx+'Scale'] 1173 1173 return Icorr,dIdsh,dIdsp,dIdPola,dIdPO 1174 1174 1175 def GetSampleGam(refl,wave,G,phfx,calcControls,parmDict,sizeEllipse): 1176 costh = cosd(refl[5]/2.) 1177 #crystallite size 1178 if calcControls[phfx+'SizeType'] == 'isotropic': 1179 gam = 1.8*wave/(np.pi*parmDict[phfx+'Size:0']*costh) 1180 elif calcControls[phfx+'SizeType'] == 'uniaxial': 1181 H = np.array(refl[:3]) 1182 P = np.array(calcControls[phfx+'SizeAxis']) 1183 cosP,sinP = G2lat.CosSinAngle(H,P,G) 1184 gam = (1.8*wave/np.pi)/(parmDict[phfx+'Size:0']*parmDict[phfx+'Size:1']*costh) 1185 gam *= np.sqrt((cosP*parmDict[phfx+'Size:1'])**2+(sinP*parmDict[phfx+'Size:0'])**2) 1186 else: #ellipsoidal crystallites  wrong not make sense 1187 H = np.array(refl[:3]) 1188 gam += 1.8*wave/(np.pi*costh*np.inner(H,np.inner(sizeEllipse,H))) 1189 #microstrain 1190 if calcControls[phfx+'MustrainType'] == 'isotropic': 1191 gam += 0.018*parmDict[phfx+'Mustrain:0']*tand(refl[5]/2.)/np.pi 1192 elif calcControls[phfx+'MustrainType'] == 'uniaxial': 1193 H = np.array(refl[:3]) 1194 P = np.array(calcControls[phfx+'MustrainAxis']) 1195 cosP,sinP = G2lat.CosSinAngle(H,P,G) 1196 Si = parmDict[phfx+'Mustrain:0'] 1197 Sa = parmDict[phfx+'Mustrain:1'] 1198 gam += 0.018*Si*Sa*tand(refl[5]/2.)/(np.pi*np.sqrt((Si*cosP)**2+(Sa*sinP)**2)) 1199 else: #generalized  P.W. Stephens model 1200 pwrs = calcControls[phfx+'MuPwrs'] 1201 sum = 0 1202 for i,pwr in enumerate(pwrs): 1203 sum += parmDict[phfx+'Mustrain:'+str(i)]*refl[0]**pwr[0]*refl[1]**pwr[1]*refl[2]**pwr[2] 1204 gam += 0.018*refl[4]**2*tand(refl[5]/2.)*sum 1205 return gam 1206 1207 def GetSampleGamDerv(refl,wave,G,phfx,calcControls,parmDict,sizeEllipse): 1208 gamDict = {} 1209 costh = cosd(refl[5]/2.) 1210 tanth = tand(refl[5]/2.) 1211 #crystallite size derivatives 1212 if calcControls[phfx+'SizeType'] == 'isotropic': 1213 gamDict[phfx+'Size:0'] = 1.80*wave/(np.pi*costh) 1214 elif calcControls[phfx+'SizeType'] == 'uniaxial': 1215 H = np.array(refl[:3]) 1216 P = np.array(calcControls[phfx+'SizeAxis']) 1217 cosP,sinP = G2lat.CosSinAngle(H,P,G) 1218 Si = parmDict[phfx+'Size:0'] 1219 Sa = parmDict[phfx+'Size:1'] 1220 gami = (1.80*wave/np.pi)/(Si*Sa) 1221 sqtrm = np.sqrt((cosP*Sa)**2+(sinP*Si)**2) 1222 gam = gami*sqtrm/costh 1223 gamDict[phfx+'Size:0'] = gami*Si*sinP**2/(sqtrm*costh)gam/Si 1224 gamDict[phfx+'Size:1'] = gami*Sa*cosP**2/(sqtrm*costh)gam/Sa 1225 else: #ellipsoidal crystallites  do numerically?  not right not make sense 1226 H = np.array(refl[:3]) 1227 gam = 1.8*wave/(np.pi*costh*np.inner(H,np.inner(sizeEllipse,H))) 1228 #microstrain derivatives 1229 if calcControls[phfx+'MustrainType'] == 'isotropic': 1230 gamDict[phfx+'Mustrain:0'] = 0.018*tanth/np.pi 1231 elif calcControls[phfx+'MustrainType'] == 'uniaxial': 1232 H = np.array(refl[:3]) 1233 P = np.array(calcControls[phfx+'MustrainAxis']) 1234 cosP,sinP = G2lat.CosSinAngle(H,P,G) 1235 Si = parmDict[phfx+'Mustrain:0'] 1236 Sa = parmDict[phfx+'Mustrain:1'] 1237 gami = 0.018*Si*Sa*tanth/np.pi 1238 sqtrm = np.sqrt((Si*cosP)**2+(Sa*sinP)**2) 1239 gam = gami/sqtrm 1240 gamDict[phfx+'Mustrain:0'] = gam/Sigami*Si*cosP**2/sqtrm**3 1241 gamDict[phfx+'Mustrain:1'] = gam/Sagami*Sa*sinP**2/sqtrm**3 1242 else: #generalized  P.W. Stephens model 1243 pwrs = calcControls[phfx+'MuPwrs'] 1244 const = 0.018*refl[4]**2*tanth 1245 for i,pwr in enumerate(pwrs): 1246 gamDict[phfx+'Mustrain:'+str(i)] = const*refl[0]**pwr[0]*refl[1]**pwr[1]*refl[2]**pwr[2] 1247 return gamDict 1248 1249 def GetReflPos(refl,wave,G,hfx,calcControls,parmDict): 1250 h,k,l = refl[:3] 1251 dsq = 1./G2lat.calc_rDsq2(np.array([h,k,l]),G) 1252 d = np.sqrt(dsq) 1253 refl[4] = d 1254 pos = 2.0*asind(wave/(2.0*d))+parmDict[hfx+'Zero'] 1255 const = 9.e2/(np.pi*parmDict[hfx+'Gonio. radius']) #shifts in microns 1256 if 'Bragg' in calcControls[hfx+'instType']: 1257 pos = const*(4.*parmDict[hfx+'Shift']*cosd(pos/2.0)+ \ 1258 parmDict[hfx+'Transparency']*sind(pos)*100.0) #trans(=1/mueff) in cm 1259 else: #DebyeScherrer  simple but maybe not right 1260 pos = const*(parmDict[hfx+'DisplaceX']*cosd(pos)+parmDict[hfx+'DisplaceY']*sind(pos)) 1261 return pos 1262 1263 def GetReflPosDerv(refl,wave,A,hfx,calcControls,parmDict): 1264 dpr = 180./np.pi 1265 h,k,l = refl[:3] 1266 dstsq = G2lat.calc_rDsq(np.array([h,k,l]),A) 1267 dst = np.sqrt(dstsq) 1268 pos = refl[5] 1269 const = dpr/np.sqrt(1.0wave*dst/4.0) 1270 dpdw = const*dst 1271 dpdA = np.array([h**2,k**2,l**2,h*k,h*l,k*l]) 1272 dpdA *= const*wave/(2.0*dst) 1273 dpdZ = 1.0 1274 const = 9.e2/(np.pi*parmDict[hfx+'Gonio. radius']) #shifts in microns 1275 if 'Bragg' in calcControls[hfx+'instType']: 1276 dpdSh = 4.*const*cosd(pos/2.0) 1277 dpdTr = const*sind(pos)*100.0 1278 return dpdA,dpdw,dpdZ,dpdSh,dpdTr,0.,0. 1279 else: #DebyeScherrer  simple but maybe not right 1280 dpdXd = const*cosd(pos) 1281 dpdYd = const*sind(pos) 1282 return dpdA,dpdw,dpdZ,0.,0.,dpdXd,dpdYd 1283 1284 def GetHStrainShift(refl,SGData,phfx,parmDict): 1285 laue = SGData['SGLaue'] 1286 uniq = SGData['SGUniq'] 1287 h,k,l = refl[:3] 1288 if laue in ['m3','m3m']: 1289 Dij = parmDict[phfx+'D11']*(h**2+k**2+l**2) 1290 elif laue in ['6/m','6/mmm','3m1','31m','3']: 1291 Dij = parmDict[phfx+'D11']*(h**2+k**2+h*k)+parmDict[phfx+'D33']*l**2 1292 elif laue in ['3R','3mR']: 1293 Dij = parmDict[phfx+'D11']*(h**2+k**2+l**2)+parmDict[phfx+'D12']*(h*k+h*l+k*l) 1294 elif laue in ['4/m','4/mmm']: 1295 Dij = parmDict[phfx+'D11']*(h**2+k**2)+parmDict[phfx+'D33']*l**2 1296 elif laue in ['mmm']: 1297 Dij = parmDict[phfx+'D11']*h**2+parmDict[phfx+'D22']*k**2+parmDict[phfx+'D33']*l**2 1298 elif laue in ['2/m']: 1299 Dij = parmDict[phfx+'D11']*h**2+parmDict[phfx+'D22']*k**2+parmDict[phfx+'D33']*l**2 1300 if uniq == 'a': 1301 Dij += parmDict[phfx+'D23']*k*l 1302 elif uniq == 'b': 1303 Dij += parmDict[phfx+'D13']*h*l 1304 elif uniq == 'c': 1305 Dij += parmDict[phfx+'D12']*h*k 1306 else: 1307 Dij = parmDict[phfx+'D11']*h**2+parmDict[phfx+'D22']*k**2+parmDict[phfx+'D33']*l**2+ \ 1308 parmDict[phfx+'D12']*h*k+parmDict[phfx+'D13']*h*l+parmDict[phfx+'D23']*k*l 1309 return Dij*refl[4]**2*tand(refl[5]/2.0) 1310 1311 def GetHStrainShiftDerv(refl,SGData,phfx): 1312 laue = SGData['SGLaue'] 1313 uniq = SGData['SGUniq'] 1314 h,k,l = refl[:3] 1315 if laue in ['m3','m3m']: 1316 dDijDict = {phfx+'D11':h**2+k**2+l**2,} 1317 elif laue in ['6/m','6/mmm','3m1','31m','3']: 1318 dDijDict = {phfx+'D11':h**2+k**2+h*k,phfx+'D33':l**2} 1319 elif laue in ['3R','3mR']: 1320 dDijDict = {phfx+'D11':h**2+k**2+l**2,phfx+'D12':h*k+h*l+k*l} 1321 elif laue in ['4/m','4/mmm']: 1322 dDijDict = {phfx+'D11':h**2+k**2,phfx+'D33':l**2} 1323 elif laue in ['mmm']: 1324 dDijDict = {phfx+'D11':h**2,phfx+'D22':k**2,phfx+'D33':l**2} 1325 elif laue in ['2/m']: 1326 dDijDict = {phfx+'D11':h**2,phfx+'D22':k**2,phfx+'D33':l**2} 1327 if uniq == 'a': 1328 dDijDict[phfx+'D23'] = k*l 1329 elif uniq == 'b': 1330 dDijDict[phfx+'D13'] = h*l 1331 elif uniq == 'c': 1332 dDijDict[phfx+'D12'] = h*k 1333 names.append() 1334 else: 1335 dDijDict = {phfx+'D11':h**2,phfx+'D22':k**2,phfx+'D33':l**2, 1336 phfx+'D12':h*k,phfx+'D13':h*l,phfx+'D23':k*l} 1337 for item in dDijDict: 1338 dDijDict[item] *= refl[4]**2*tand(refl[5]/2.0) 1339 return dDijDict 1340 1175 1341 def getPowderProfile(parmDict,x,varylist,Histogram,Phases,calcControls,pawleyLookup): 1176 1177 def GetSampleGam(refl,wave,G,phfx,calcControls,parmDict,sizeEllipse):1178 costh = cosd(refl[5]/2.)1179 #crystallite size1180 if calcControls[phfx+'SizeType'] == 'isotropic':1181 gam = 1.8*wave/(np.pi*parmDict[phfx+'Size:0']*costh)1182 elif calcControls[phfx+'SizeType'] == 'uniaxial':1183 H = np.array(refl[:3])1184 P = np.array(calcControls[phfx+'SizeAxis'])1185 cosP,sinP = G2lat.CosSinAngle(H,P,G)1186 gam = (1.8*wave/np.pi)/(parmDict[phfx+'Size:0']*parmDict[phfx+'Size:1']*costh)1187 gam *= np.sqrt((cosP*parmDict[phfx+'Size:1'])**2+(sinP*parmDict[phfx+'Size:0'])**2)1188 else: #ellipsoidal crystallites  wrong not make sense1189 H = np.array(refl[:3])1190 gam += 1.8*wave/(np.pi*costh*np.inner(H,np.inner(sizeEllipse,H)))1191 #microstrain1192 if calcControls[phfx+'MustrainType'] == 'isotropic':1193 gam += 0.018*parmDict[phfx+'Mustrain:0']*tand(refl[5]/2.)/np.pi1194 elif calcControls[phfx+'MustrainType'] == 'uniaxial':1195 H = np.array(refl[:3])1196 P = np.array(calcControls[phfx+'MustrainAxis'])1197 cosP,sinP = G2lat.CosSinAngle(H,P,G)1198 Si = parmDict[phfx+'Mustrain:0']1199 Sa = parmDict[phfx+'Mustrain:1']1200 gam += 0.018*Si*Sa*tand(refl[5]/2.)/(np.pi*np.sqrt((Si*cosP)**2+(Sa*sinP)**2))1201 else: #generalized  P.W. Stephens model1202 pwrs = calcControls[phfx+'MuPwrs']1203 sum = 01204 for i,pwr in enumerate(pwrs):1205 sum += parmDict[phfx+'Mustrain:'+str(i)]*refl[0]**pwr[0]*refl[1]**pwr[1]*refl[2]**pwr[2]1206 gam += 0.018*refl[4]**2*tand(refl[5]/2.)*sum1207 return gam1208 1209 def GetHStrainShift(refl,SGData,phfx,parmDict):1210 laue = SGData['SGLaue']1211 uniq = SGData['SGUniq']1212 h,k,l = refl[:3]1213 if laue in ['m3','m3m']:1214 Dij = parmDict[phfx+'D11']*(h**2+k**2+l**2)1215 elif laue in ['6/m','6/mmm','3m1','31m','3']:1216 Dij = parmDict[phfx+'D11']*(h**2+k**2+h*k)+parmDict[phfx+'D33']*l**21217 elif laue in ['3R','3mR']:1218 Dij = parmDict[phfx+'D11']*(h**2+k**2+l**2)+parmDict[phfx+'D12']*(h*k+h*l+k*l)1219 elif laue in ['4/m','4/mmm']:1220 Dij = parmDict[phfx+'D11']*(h**2+k**2)+parmDict[phfx+'D33']*l**21221 elif laue in ['mmm']:1222 Dij = parmDict[phfx+'D11']*h**2+parmDict[phfx+'D22']*k**2+parmDict[phfx+'D33']*l**21223 elif laue in ['2/m']:1224 Dij = parmDict[phfx+'D11']*h**2+parmDict[phfx+'D22']*k**2+parmDict[phfx+'D33']*l**21225 if uniq == 'a':1226 Dij += parmDict[phfx+'D23']*k*l1227 elif uniq == 'b':1228 Dij += parmDict[phfx+'D13']*h*l1229 elif uniq == 'c':1230 Dij += parmDict[phfx+'D12']*h*k1231 else:1232 Dij = parmDict[phfx+'D11']*h**2+parmDict[phfx+'D22']*k**2+parmDict[phfx+'D33']*l**2+ \1233 parmDict[phfx+'D12']*h*k+parmDict[phfx+'D13']*h*l+parmDict[phfx+'D23']*k*l1234 return Dij*refl[4]**2*tand(refl[5]/2.0)1235 1236 def GetReflPos(refl,wave,G,hfx,calcControls,parmDict):1237 h,k,l = refl[:3]1238 dsq = 1./G2lat.calc_rDsq2(np.array([h,k,l]),G)1239 d = np.sqrt(dsq)1240 refl[4] = d1241 pos = 2.0*asind(wave/(2.0*d))+parmDict[hfx+'Zero']1242 const = 9.e2/(np.pi*parmDict[hfx+'Gonio. radius']) #shifts in microns1243 if 'Bragg' in calcControls[hfx+'instType']:1244 pos = const*(4.*parmDict[hfx+'Shift']*cosd(pos/2.0)+ \1245 parmDict[hfx+'Transparency']*sind(pos)*100.0) #trans(=1/mueff) in cm1246 else: #DebyeScherrer  simple but maybe not right1247 pos = const*(parmDict[hfx+'DisplaceX']*cosd(pos)+parmDict[hfx+'DisplaceY']*sind(pos))1248 return pos1249 1342 1250 1343 def GetReflSIgGam(refl,wave,G,hfx,phfx,calcControls,parmDict,sizeEllipse): … … 1332 1425 def getPowderProfileDerv(parmDict,x,varylist,Histogram,Phases,calcControls,pawleyLookup): 1333 1426 1334 def GetSampleGamDerv(refl,wave,G,phfx,calcControls,parmDict,sizeEllipse):1335 gamDict = {}1336 costh = cosd(refl[5]/2.)1337 tanth = tand(refl[5]/2.)1338 #crystallite size derivatives1339 if calcControls[phfx+'SizeType'] == 'isotropic':1340 gamDict[phfx+'Size:0'] = 1.80*wave/(np.pi*costh)1341 elif calcControls[phfx+'SizeType'] == 'uniaxial':1342 H = np.array(refl[:3])1343 P = np.array(calcControls[phfx+'SizeAxis'])1344 cosP,sinP = G2lat.CosSinAngle(H,P,G)1345 Si = parmDict[phfx+'Size:0']1346 Sa = parmDict[phfx+'Size:1']1347 gami = (1.80*wave/np.pi)/(Si*Sa)1348 sqtrm = np.sqrt((cosP*Sa)**2+(sinP*Si)**2)1349 gam = gami*sqtrm/costh1350 gamDict[phfx+'Size:0'] = gami*Si*sinP**2/(sqtrm*costh)gam/Si1351 gamDict[phfx+'Size:1'] = gami*Sa*cosP**2/(sqtrm*costh)gam/Sa1352 else: #ellipsoidal crystallites  do numerically?  not right not make sense1353 H = np.array(refl[:3])1354 gam = 1.8*wave/(np.pi*costh*np.inner(H,np.inner(sizeEllipse,H)))1355 #microstrain derivatives1356 if calcControls[phfx+'MustrainType'] == 'isotropic':1357 gamDict[phfx+'Mustrain:0'] = 0.018*tanth/np.pi1358 elif calcControls[phfx+'MustrainType'] == 'uniaxial':1359 H = np.array(refl[:3])1360 P = np.array(calcControls[phfx+'MustrainAxis'])1361 cosP,sinP = G2lat.CosSinAngle(H,P,G)1362 Si = parmDict[phfx+'Mustrain:0']1363 Sa = parmDict[phfx+'Mustrain:1']1364 gami = 0.018*Si*Sa*tanth/np.pi1365 sqtrm = np.sqrt((Si*cosP)**2+(Sa*sinP)**2)1366 gam = gami/sqtrm1367 gamDict[phfx+'Mustrain:0'] = gam/Sigami*Si*cosP**2/sqtrm**31368 gamDict[phfx+'Mustrain:1'] = gam/Sagami*Sa*sinP**2/sqtrm**31369 else: #generalized  P.W. Stephens model1370 pwrs = calcControls[phfx+'MuPwrs']1371 const = 0.018*refl[4]**2*tanth1372 for i,pwr in enumerate(pwrs):1373 gamDict[phfx+'Mustrain:'+str(i)] = const*refl[0]**pwr[0]*refl[1]**pwr[1]*refl[2]**pwr[2]1374 return gamDict1375 1376 def GetReflPosDerv(refl,wave,A,hfx,calcControls,parmDict):1377 dpr = 180./np.pi1378 h,k,l = refl[:3]1379 dstsq = G2lat.calc_rDsq(np.array([h,k,l]),A)1380 dst = np.sqrt(dstsq)1381 pos = refl[5]1382 const = dpr/np.sqrt(1.0wave*dst/4.0)1383 dpdw = const*dst1384 dpdA = np.array([h**2,k**2,l**2,h*k,h*l,k*l])1385 dpdA *= const*wave/(2.0*dst)1386 dpdZ = 1.01387 const = 9.e2/(np.pi*parmDict[hfx+'Gonio. radius']) #shifts in microns1388 if 'Bragg' in calcControls[hfx+'instType']:1389 dpdSh = 4.*const*cosd(pos/2.0)1390 dpdTr = const*sind(pos)*100.01391 return dpdA,dpdw,dpdZ,dpdSh,dpdTr,0.,0.1392 else: #DebyeScherrer  simple but maybe not right1393 dpdXd = const*cosd(pos)1394 dpdYd = const*sind(pos)1395 return dpdA,dpdw,dpdZ,0.,0.,dpdXd,dpdYd1396 1397 def GetHStrainShiftDerv(refl,SGData,phfx):1398 laue = SGData['SGLaue']1399 uniq = SGData['SGUniq']1400 h,k,l = refl[:3]1401 if laue in ['m3','m3m']:1402 dDijDict = {phfx+'D11':h**2+k**2+l**2,}1403 elif laue in ['6/m','6/mmm','3m1','31m','3']:1404 dDijDict = {phfx+'D11':h**2+k**2+h*k,phfx+'D33':l**2}1405 elif laue in ['3R','3mR']:1406 dDijDict = {phfx+'D11':h**2+k**2+l**2,phfx+'D12':h*k+h*l+k*l}1407 elif laue in ['4/m','4/mmm']:1408 dDijDict = {phfx+'D11':h**2+k**2,phfx+'D33':l**2}1409 elif laue in ['mmm']:1410 dDijDict = {phfx+'D11':h**2,phfx+'D22':k**2,phfx+'D33':l**2}1411 elif laue in ['2/m']:1412 dDijDict = {phfx+'D11':h**2,phfx+'D22':k**2,phfx+'D33':l**2}1413 if uniq == 'a':1414 dDijDict[phfx+'D23'] = k*l1415 elif uniq == 'b':1416 dDijDict[phfx+'D13'] = h*l1417 elif uniq == 'c':1418 dDijDict[phfx+'D12'] = h*k1419 names.append()1420 else:1421 dDijDict = {phfx+'D11':h**2,phfx+'D22':k**2,phfx+'D33':l**2,1422 phfx+'D12':h*k,phfx+'D13':h*l,phfx+'D23':k*l}1423 for item in dDijDict:1424 dDijDict[item] *= refl[4]**2*tand(refl[5]/2.0)1425 return dDijDict1426 1427 1427 def cellVaryDerv(pfx,SGData,dpdA): 1428 1428 if SGData['SGLaue'] in ['1',]: … … 1510 1510 for i in range(1,5): 1511 1511 dMdpk[i][iBeg:iFin] += 100.*dx*Icorr*refl[8]*dMdipk[i] 1512 dMdpk[0][iBeg:iFin] += 100.*dx*Icorr*refl[8]*dMdipk[0] /refl[3]1512 dMdpk[0][iBeg:iFin] += 100.*dx*Icorr*refl[8]*dMdipk[0] 1513 1513 dervDict = {'int':dMdpk[0],'pos':dMdpk[1],'sig':dMdpk[2],'gam':dMdpk[3],'shl':dMdpk[4]} 1514 1514 if Ka2: … … 1521 1521 for i in range(1,5): 1522 1522 dMdpk[i][iBeg2:iFin2] += 100.*dx*Icorr*refl[8]*kRatio*dMdipk2[i] 1523 dMdpk[0][iBeg2:iFin2] += 100.*dx*Icorr*refl[8]*kRatio*dMdipk2[0] /refl[3]1523 dMdpk[0][iBeg2:iFin2] += 100.*dx*Icorr*refl[8]*kRatio*dMdipk2[0] 1524 1524 dMdpk[5][iBeg2:iFin2] += 100.*dx*Icorr*dMdipk2[0] 1525 1525 dervDict = {'int':dMdpk[0],'pos':dMdpk[1],'sig':dMdpk[2],'gam':dMdpk[3],'shl':dMdpk[4],'L1/L2':dMdpk[5]*refl[8]}
Note: See TracChangeset
for help on using the changeset viewer.