Changeset 1367
- Timestamp:
- May 29, 2014 9:52:18 AM (9 years ago)
- Location:
- trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIIindex.py
r939 r1367 525 525 return A 526 526 527 def DoIndexPeaks(peaks, wave,controls,bravais):527 def DoIndexPeaks(peaks,controls,bravais): 528 528 'needs a doc string' 529 529 … … 543 543 ncMax = Nobs*ncno 544 544 print "%s %8.3f %8.3f" % ('lattice parameter range = ',amin,amax) 545 print "%s % 8.5f %s %.4f %s %d %s %d" % ('Wavelength =',wave,'Zero =',zero,'Nc/No max =',ncno,' Max Nc =',ncno*Nobs)545 print "%s %.4f %s %d %s %d" % ('Zero =',zero,'Nc/No max =',ncno,' Max Nc =',ncno*Nobs) 546 546 cells = [] 547 547 for ibrav in range(14): -
trunk/GSASIIlattice.py
r1075 r1367 413 413 #for these: H = [h,k,l]; A is as used in calc_rDsq; G - inv metric tensor, g - metric tensor; 414 414 # cell - a,b,c,alp,bet,gam in A & deg 415 416 def Pos2dsp(Inst,pos): 417 ''' convert powder pattern position (2-theta or TOF, musec) to d-spacing 418 ignores secondary effects (e.g. difA in TOF) 419 ''' 420 if 'C' in Inst['Type'][0]: 421 wave = G2mth.getWave(Inst) 422 dsp = wave/(2.0*sind((pos-Inst['Zero'][1])/2.0)) 423 else: #'T'OF - ignore difA 424 dsp = (pos-Inst['Zero'][1])/difC 425 return dsp 426 427 def Dsp2pos(Inst,dsp): 428 ''' convert d-spacing to powder pattern position (2-theta or TOF, musec) 429 ignores secondary effects (e.g. difA in TOF) - maybe later? 430 ''' 431 if 'C' in Inst['Type'][0]: 432 wave = G2mth.getWave(Inst) 433 pos = 2.0*asind(wave/(2.*dsp))+Inst['Zero'][1] 434 else: #'T'OF - ignore difA 435 pos = Inst['difC'][1]*dsp+Inst['Zero'][1] 436 return pos 415 437 416 438 def calc_rDsq(H,A): -
trunk/GSASIIpwdGUI.py
r1349 r1367 311 311 poss = x[indx] 312 312 refs = zip(poss,mags) 313 refs = G2mth.sortArray(refs,0,reverse=True) 313 if 'C' in Inst['Type'][0]: 314 refs = G2mth.sortArray(refs,0,reverse=True) #small 2-Thetas first 315 else: #'T'OF 316 refs = G2mth.sortArray(refs,0,reverse=False) #big TOFs first 314 317 for i,ref1 in enumerate(refs): 315 318 for ref2 in refs[i+1:]: 316 319 if abs(ref2[0]-ref1[0]) < 0.1*G2pwd.getFWHM(ref1[0],inst): 317 del(refs[i]) 318 refs = G2mth.sortArray(refs,1,reverse=True) 320 del(refs[i]) 321 if 'C' in Inst['Type'][0]: 322 refs = G2mth.sortArray(refs,1,reverse=True) 323 else: #'T'OF 324 refs = G2mth.sortArray(refs,1,reverse=False) 319 325 for pos,mag in refs: 320 326 data.append(G2mth.setPeakparms(inst,inst2,pos,mag)) … … 527 533 D = dict(zip(T,data)) 528 534 T.sort() 535 if 'T' in Inst['Type'][0]: #want big TOF's first 536 T.reverse() 529 537 X = [] 530 538 for key in T: X.append(D[key]) … … 1706 1714 IndexId = G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Index Peak List') 1707 1715 Inst = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Instrument Parameters'))[0] 1708 wave = G2mth.getWave(Inst)1709 1710 1716 def RefreshIndexPeaksGrid(event): 1711 1717 r,c = event.GetRow(),event.GetCol() … … 1724 1730 peaks = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Peak List')) 1725 1731 for peak in peaks: 1726 dsp = wave/(2.0*sind((peak[0]-Inst['Zero'][1])/2.0))1732 dsp = G2lat.Pos2dsp(Inst,peak[0]) 1727 1733 data.append([peak[0],peak[2],True,False,0,0,0,dsp,0.0]) 1728 1734 G2frame.PatternTree.SetItemPyData(IndexId,data) … … 1772 1778 G2indx.IndexPeaks(data,G2frame.HKL) 1773 1779 for hkl in G2frame.HKL: 1774 hkl.append( 2.0*asind(wave/(2.*hkl[3]))+Inst['Zero'][1])1780 hkl.append(G2mth.Dsp2pos(Inst,hkl[3])) 1775 1781 rowLabels = [] 1776 1782 for i in range(len(data)): rowLabels.append(str(i+1)) … … 1810 1816 'P 4/m m m','F m m m','I m m m','C m m m','P m m m','C 2/m','P 2/m','P -1'] 1811 1817 Inst = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,G2frame.PatternId, 'Instrument Parameters'))[0] 1812 wave = G2mth.getWave(Inst) 1818 if 'C' in Inst['Type'][0]: 1819 wave = G2mth.getWave(Inst) 1820 else: 1821 difC = Inst['difC'][1] 1813 1822 1814 1823 def SetLattice(controls): … … 1923 1932 spc = controls[13] 1924 1933 SGData = G2spc.SpcGroup(spc)[1] 1925 dmin = wave/(2.0*sind(limits[1]/2.0)) 1934 if 'C' in Inst['Type'][0]: 1935 dmin = G2lat.Pos2dsp(Inst,limits[1]) 1936 else: 1937 dmin = G2lat.Pos2dsp(Inst,limits[0]) 1926 1938 G2frame.HKL = G2pwd.getHKLpeak(dmin,SGData,A) 1927 1939 for hkl in G2frame.HKL: 1928 hkl.append( 2.0*asind(wave/(2.*hkl[3]))+controls[1]+Inst['Zero'][1])1940 hkl.append(G2lat.Dsp2pos(Inst,hkl[3])++controls[1]) 1929 1941 if 'PKS' in G2frame.PatternTree.GetItemText(G2frame.PatternId): 1930 1942 G2plt.PlotPowderLines(G2frame) … … 1991 2003 G2frame.HKL = G2pwd.getHKLpeak(dmin,SGData,A) 1992 2004 G2indx.IndexPeaks(peaks,G2frame.HKL) 1993 Lhkl,M20,X20,Aref,Zero = G2indx.refinePeaksZ(peaks,wave,ibrav,A,controls[1],controls[0]) 2005 Lhkl,M20,X20,Aref,Zero = G2indx.refinePeaksZ(peaks,wave,ibrav,A,controls[1],controls[0]) #TOF? 1994 2006 controls[1] = Zero 1995 2007 controls[6:12] = G2lat.A2cell(Aref) … … 2007 2019 cellPrint(ibrav,Aref) 2008 2020 for hkl in G2frame.HKL: 2009 hkl.append( 2.0*asind(wave/(2.*hkl[3]))+controls[1]+Inst['Zero'][1])2021 hkl.append(G2lat.Dsp2pos(Inst,hkl[3])+controls[1]) 2010 2022 if 'PKS' in G2frame.PatternTree.GetItemText(G2frame.PatternId): 2011 2023 G2plt.PlotPowderLines(G2frame) … … 2033 2045 G2frame.dataFrame.CopyCell.Enable(False) 2034 2046 G2frame.dataFrame.RefineCell.Enable(False) 2035 OK,dmin,newcells = G2indx.DoIndexPeaks(peaks, wave,controls,bravais)2047 OK,dmin,newcells = G2indx.DoIndexPeaks(peaks,controls,bravais) 2036 2048 cells = keepcells+newcells 2037 2049 cells = G2indx.sortM20(cells) … … 2044 2056 G2frame.HKL = G2lat.GenHBravais(dmin,bestCell[2],G2lat.cell2A(bestCell[3:9])) 2045 2057 for hkl in G2frame.HKL: 2046 hkl.append( 2.0*asind(wave/(2.*hkl[3]))+controls[1]+Inst['Zero'][1])2058 hkl.append(G2lat.Dsp2pos(Inst,hkl[3])+controls[1]) 2047 2059 if 'PKS' in G2frame.PatternTree.GetItemText(G2frame.PatternId): 2048 2060 G2plt.PlotPowderLines(G2frame) … … 2070 2082 G2frame.HKL = G2lat.GenHBravais(dmin,ibrav,A) 2071 2083 for hkl in G2frame.HKL: 2072 hkl.append( 2.0*asind(wave/(2.*hkl[3]))+controls[1]+Inst['Zero'][1])2084 hkl.append(G2lat.Dsp2pos(Inst,hkl[3])+controls[1]) 2073 2085 if 'PKS' in G2frame.PatternTree.GetItemText(G2frame.PatternId): 2074 2086 G2plt.PlotPowderLines(G2frame) … … 2268 2280 G2frame.HKL = G2lat.GenHBravais(dmin,cell[2],A) 2269 2281 for hkl in G2frame.HKL: 2270 hkl.append( 2.0*asind(wave/(2.*hkl[3]))+controls[1]+Inst['Zero'][1])2282 hkl.append(G2lat.Dsp2pos(Inst,hkl[3])+controls[1]) 2271 2283 table.append(row) 2272 2284 UnitCellsTable = G2gd.Table(table,rowLabels=rowLabels,colLabels=colLabels,types=Types)
Note: See TracChangeset
for help on using the changeset viewer.