Changeset 1878 for trunk/GSASIIpwdGUI.py


Ignore:
Timestamp:
Jun 4, 2015 1:49:58 PM (8 years ago)
Author:
vondreele
Message:

refactor DDataGUI - mostly move event routines to be inside respective sizer routines
Enable Flack parameter - function OK; derivatives need work
Allow inversion of noncentrosymmetric structures in SymOpDialog? - to test enantiomers
some work to make pdf stuff neutron TOF friendly - not complete
fix Debye background function - now works; refactor result printing for it

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIpwdGUI.py

    r1841 r1878  
    854854        bakSizer = wx.FlexGridSizer(0,5,5,5)
    855855        for i,value in enumerate(data[0][3:]):
    856             bakVal = wx.TextCtrl(G2frame.dataDisplay,wx.ID_ANY,'%10.4f'%(value),style=wx.TE_PROCESS_ENTER)
     856            bakVal = wx.TextCtrl(G2frame.dataDisplay,wx.ID_ANY,'%10.4g'%(value),style=wx.TE_PROCESS_ENTER)
    857857            bakSizer.Add(bakVal,0,WACV)
    858858            ValObj[bakVal.GetId()] = [i+3]
     
    41884188    global inst
    41894189    tth2q = lambda t,w:4.0*math.pi*sind(t/2.0)/w
     4190    tof2q = lambda t,C:2.0*math.pi*C/t
    41904191    dataFile = G2frame.PatternTree.GetItemText(G2frame.PatternId)
    41914192    powName = 'PWDR'+dataFile[4:]
     
    41934194    fullLimits,limits = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,powId, 'Limits'))[:2]
    41944195    inst = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,powId, 'Instrument Parameters'))[0]
    4195     if 'Lam' in inst:
    4196         keV = 12.397639/inst['Lam'][1]
    4197     else:
    4198         keV = 12.397639/inst['Lam1'][0]
    4199     wave = 12.397639/keV
    4200     qLimits = [tth2q(fullLimits[0],wave),tth2q(fullLimits[1],wave)]
     4196    if 'C' in inst['Type'][0]:
     4197        if 'Lam' in inst:
     4198            keV = 12.397639/inst['Lam'][1]
     4199        else:
     4200            keV = 12.397639/inst['Lam1'][0]
     4201        wave = 12.397639/keV
     4202        qLimits = [tth2q(fullLimits[0],wave),tth2q(fullLimits[1],wave)]
     4203        polariz = inst['Polariz.'][1]
     4204    else:   #'T'of
     4205        qLimits = [tof2q(fullLimits[1],inst['difC'][1]),tof2q(fullLimits[0],inst['difC'][1])]
     4206        polariz = 1.0
    42014207    data['QScaleLim'][1] = min(qLimits[1],data['QScaleLim'][1])
    42024208    if data['QScaleLim'][0]:
     
    42044210    else:                                #initial setting at 90% of max Q
    42054211        data['QScaleLim'][0] = 0.90*data['QScaleLim'][1]
    4206     polariz = inst['Polariz.'][1]
    42074212    azimuth = inst['Azimuth'][1]
    42084213    itemDict = {}
     
    44934498            El = PE.Elem
    44944499            if El not in ElList and El != 'None':
    4495                 ElemSym = El.strip().capitalize()               
    4496                 FpMu = G2elem.FPcalc(G2elem.GetXsectionCoeff(ElemSym), keV)
    4497                 ElData = G2elem.GetFormFactorCoeff(ElemSym)[0]
    4498                 ElData['FormulaNo'] = 0.0
    4499                 ElData.update(G2elem.GetAtomInfo(ElemSym))
    4500                 ElData.update(dict(zip(['fp','fpp','mu'],FpMu)))
    4501                 ElData.update(G2elem.GetFFC5(El))
     4500                ElemSym = El.strip().capitalize()
     4501                if 'X' in inst['Type'][0]:               
     4502                    FpMu = G2elem.FPcalc(G2elem.GetXsectionCoeff(ElemSym), keV)
     4503                    ElData = G2elem.GetFormFactorCoeff(ElemSym)[0]
     4504                    ElData['FormulaNo'] = 0.0
     4505                    ElData.update(G2elem.GetAtomInfo(ElemSym))
     4506                    ElData.update(dict(zip(['fp','fpp','mu'],FpMu)))
     4507                    ElData.update(G2elem.GetFFC5(El))
     4508                else: #'N'eutron
     4509                    ElData = {}
     4510                    ElData.update(G2elem.GetAtomInfo(ElemSym))
     4511                    ElData['FormulaNo'] = 0.0
     4512                    ElData.update({'mu':0.0,'fp':0.0,'fpp':0.0})
    45024513                data['ElList'][El] = ElData
    45034514            data['Form Vol'] = max(10.0,SumElementVolumes())
     
    45784589    mainSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=' PDF data files: '),0,WACV)
    45794590    mainSizer.Add((5,5),0)
    4580     str = ' Sample file: PWDR %s   Wavelength, A: %.5f  Energy, keV: %.3f  Polariz.: %.2f '%(dataFile[3:],wave,keV,polariz)
    4581     mainSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=str),0,WACV)
     4591    if 'C' in inst['Type'][0]:
     4592        str = ' Sample file: PWDR %s   Wavelength, A: %.5f  Energy, keV: %.3f  Polariz.: %.2f '%(dataFile[3:],wave,keV,polariz)
     4593        mainSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label=str),0,WACV)
    45824594#    dataSizer = wx.BoxSizer(wx.HORIZONTAL)
    45834595#    dataSizer.Add(wx.StaticText(parent=G2frame.dataDisplay,label='Azimuth'),0,WACV)
Note: See TracChangeset for help on using the changeset viewer.