Changeset 2141 for trunk/GSASII.py


Ignore:
Timestamp:
Feb 5, 2016 9:50:49 AM (6 years ago)
Author:
vondreele
Message:

add peak list d-spacing esds to exported peak lists tables for CW & TOF

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASII.py

    r2135 r2141  
    31323132       
    31333133    def OnExportPeakList(self,event):
     3134        nptand = lambda x: np.tan(x*math.pi/180.)
    31343135        pth = G2G.GetExportPath(self)
    31353136        dlg = wx.FileDialog(self, 'Choose output peak list file name', pth, '',
     
    31543155                                    wave = G2mth.getWave(Inst)
    31553156                            elif name2 == 'Peak List':
    3156                                 peaks = self.PatternTree.GetItemPyData(item2)['peaks']
     3157                                pkdata = self.PatternTree.GetItemPyData(item2)
     3158                                peaks = pkdata['peaks']
     3159                                sigDict = pkdata['sigDict']
    31573160                            item2, cookie2 = self.PatternTree.GetNextChild(item, cookie2)                           
    31583161                        file.write("#%s \n" % (name+' Peak List'))
     
    31603163                            file.write('#wavelength = %10.6f\n'%(wave))
    31613164                        if 'T' in Type:
    3162                             file.write('#%9s %10s %12s %10s %10s %10s %10s %10s\n'%('pos','dsp','int','alp','bet','sig','gam','FWHM'))                                   
     3165                            file.write('#%9s %10s %10s %12s %10s %10s %10s %10s %10s\n'%('pos','dsp','esd','int','alp','bet','sig','gam','FWHM'))                                   
    31633166                        else:
    3164                             file.write('#%9s %10s %12s %10s %10s %10s\n'%('pos','dsp','int','sig','gam','FWHM'))
    3165                         for peak in peaks:
     3167                            file.write('#%9s %10s %10s %12s %10s %10s %10s\n'%('pos','dsp','esd','int','sig','gam','FWHM'))
     3168                        for ip,peak in enumerate(peaks):
    31663169                            dsp = G2lat.Pos2dsp(Inst,peak[0])
    31673170                            if 'T' in Type:  #TOF - more cols
     3171                                esds = {'pos':0.,'int':0.,'alp':0.,'bet':0.,'sig':0.,'gam':0.}
     3172                                for name in esds.keys():
     3173                                    esds[name] = sigDict.get('%s%d'%(name,ip),0.)
    31683174                                sig = np.sqrt(peak[8])
    31693175                                gam = peak[10]
     3176                                esddsp = G2lat.Pos2dsp(Inst,esds['pos'])
    31703177                                FWHM = G2pwd.getgamFW(gam,sig)      #to get delta-TOF from Gam(peak)
    3171                                 file.write("%10.2f %10.5f %12.2f %10.3f %10.3f %10.3f %10.3f %10.3f\n" % \
    3172                                     (peak[0],dsp,peak[2],np.sqrt(max(0.0001,peak[4])),peak[6],peak[8],peak[10],FWHM))
     3178                                file.write("%10.2f %10.5f %10.5f %12.2f %10.3f %10.3f %10.3f %10.3f %10.3f\n" % \
     3179                                    (peak[0],dsp,esddsp,peak[2],np.sqrt(max(0.0001,peak[4])),peak[6],peak[8],peak[10],FWHM))
    31733180                            else:               #CW
     3181                                #get esds from sigDict for each peak & put in output - esds for sig & gam from UVWXY?
     3182                                esds = {'pos':0.,'int':0.,'sig':0.,'gam':0.}
     3183                                for name in esds.keys():
     3184                                    esds[name] = sigDict.get('%s%d'%(name,ip),0.)
    31743185                                sig = np.sqrt(peak[4]) #var -> sig
    31753186                                gam = peak[6]
     3187                                esddsp = 0.5*esds['pos']*dsp/nptand(peak[0]/2.)
    31763188                                FWHM = G2pwd.getgamFW(gam,sig)      #to get delta-2-theta in deg. from Gam(peak)
    3177                                 file.write("%10.3f %10.5f %12.2f %10.5f %10.5f %10.5f \n" % \
    3178                                     (peak[0],dsp,peak[2],np.sqrt(max(0.0001,peak[4]))/100.,peak[6]/100.,FWHM/100.)) #convert to deg
     3189                                file.write("%10.4f %10.5f %10.5f %12.2f %10.5f %10.5f %10.5f \n" % \
     3190                                    (peak[0],dsp,esddsp,peak[2],np.sqrt(max(0.0001,peak[4]))/100.,peak[6]/100.,FWHM/100.)) #convert to deg
    31793191                    item, cookie = self.PatternTree.GetNextChild(self.root, cookie)                           
    31803192                file.close()
Note: See TracChangeset for help on using the changeset viewer.