Changeset 3978
Legend:
- Unmodified
- Added
- Removed
-
trunk/Absorb.py
r3976 r3978 322 322 self.parent = parent 323 323 self.Lines = [] 324 self.Elems = [] 324 325 self.linePicked = None 325 326 … … 353 354 self.panel.Destroy() 354 355 self.DrawPanel() 356 self.NewFPPlot = True 355 357 self.SetWaveEnergy(self.Wave) 356 358 … … 372 374 self.panel.Destroy() 373 375 self.DrawPanel() 376 self.NewFPPlot = True 374 377 self.SetWaveEnergy(self.Wave) 375 378 … … 491 494 self.SpinText6.SetValue("%.2f" % (self.Pack)) 492 495 self.SpinText6.Update() 493 self.CalcFPPS() 494 self.UpDateAbsPlot(Wave,rePlot=True) 496 if len(self.Elems): 497 self.CalcFPPS() 498 self.UpDateAbsPlot(Wave,rePlot=True) 495 499 496 500 def CalcFPPS(self): … … 561 565 self.SpinText1.SetValue("%6.4f" % (self.Wave)) 562 566 self.SpinText2.SetValue("%7.4f" % (self.Energy)) 563 self.CalcFPPS() 564 self.UpDateAbsPlot(self.Wave,rePlot=False) 567 if len(self.Elems): 568 self.CalcFPPS() 569 self.UpDateAbsPlot(self.Wave,rePlot=False) 565 570 566 571 def OnKeyPress(self,event): … … 629 634 630 635 def OnMotion(self,event): 636 xpos = event.xdata 637 if xpos and xpos>0.1: 638 ypos = event.ydata 639 if self.ifWave: 640 Wave = xpos 641 else: 642 Wave = self.Kev/xpos 643 Wave = min(max(Wave,self.Wmin),self.Wmax) 644 self.parent.G2plotNB.status.SetStatusText('Wavelength: %.4f, Energy: %.3f, %sR: %.3f'%(Wave,self.Kev/Wave,Gkmu,ypos),1) 631 645 if self.linePicked: 632 xpos = event.xdata 633 if xpos and xpos>0.1: 634 if self.ifWave: 635 Wave = xpos 636 else: 637 Wave = self.Kev/xpos 638 self.SetWaveEnergy(Wave) 646 self.SetWaveEnergy(Wave) 639 647 640 648 def OnRelease(self, event): -
trunk/fprime.py
r3976 r3978 83 83 Wmin = 0.05 #wavelength range 84 84 Wmax = 3.0 85 Wres = 0.004094 #plot resolution step size as const delta-lam/lam - gives 1000 steps for Wmin to Wm self.ax85 Wres = 0.004094 #plot resolution step size as const delta-lam/lam - gives 1000 steps for Wmin to Wmax 86 86 Eres = 1.5e-4 #typical energy resolution for synchrotron x-ray sources 87 87 ffpfignum = 1 … … 212 212 def OnChoice2(event): 213 213 if event.GetString() == ' sin('+Gktheta+')/'+Gklambda: 214 self.FFx self.axis = 'S'214 self.FFxaxis = 'S' 215 215 elif event.GetString() == ' Q': 216 self.FFx self.axis = 'Q'216 self.FFxaxis = 'Q' 217 217 else: 218 self.FFx self.axis = 'T'218 self.FFxaxis = 'T' 219 219 self.UpDateFPlot(self.Wave,rePlot=False) 220 220 … … 232 232 self.parent = parent 233 233 self.Lines = [] 234 self.Elems = [] 234 235 self.linePicked = None 235 236 … … 257 258 Orbs = G2elem.GetXsectionCoeff(ElemSym) 258 259 Elem = (ElemSym,Z,FormFac,Orbs) 259 Fprime.Elems.append(Elem)260 self.Elems.append(Elem) 260 261 self.Delete.Enable(True) 261 262 self.CalcFPPS() … … 384 385 self.bx.set_title('%s%6.2f%s'%('Form factors (E =',self.Energy,'keV)'),x=0,ha='left') 385 386 if self.FFxaxis == 'S': 387 self.bxlabel = 'sin('+Gktheta+')/'+Gklambda 386 388 self.bx.set_xlabel(r'$\mathsf{sin(\theta)/\lambda}$',fontsize=14) 387 389 elif self.FFxaxis == 'T': 390 self.bxlabel = '2'+Gktheta 388 391 self.bx.set_xlabel(r'$\mathsf{2\theta}$',fontsize=14) 389 392 else: 393 self.bxlabel = 'Q, '+Angstr+Pwrm1 390 394 self.bx.set_xlabel(r'$Q, \AA$',fontsize=14) 391 395 self.bx.set_ylabel("f+f ', e-",fontsize=14) … … 449 453 450 454 def OnMotion(self,event): 455 xpos = event.xdata 456 if xpos and xpos>0.1: 457 ypos = event.ydata 458 if self.ifWave: 459 Wave = xpos 460 else: 461 Wave = self.Kev/xpos 462 Wave = min(max(Wave,self.Wmin),self.Wmax) 463 if event.inaxes == self.ax: 464 self.parent.G2plotNB.status.SetStatusText("Wavelength: %.4f, Energy: %.3f, f'%s: %.3f"%(Wave,self.Kev/Wave,'f"',ypos),1) 465 elif event.inaxes == self.bx: 466 self.parent.G2plotNB.status.SetStatusText("%s: %.4f, f,f+f': %.3f"%(self.bxlabel,xpos,ypos),1) 451 467 if self.linePicked: 452 xpos = event.xdata 453 if xpos: 454 if self.ifWave: 455 Wave = xpos 456 else: 457 Wave = self.Kev/xpos 458 self.SetWaveEnergy(Wave) 468 self.SetWaveEnergy(Wave) 459 469 460 470 def OnRelease(self, event): … … 501 511 'Element= '+str(Els)," f'=",(r1[0]+r2[0])/2.0, 502 512 ' f"=',(r1[1]+r2[1])/2.0,' '+Gkmu+'=',(r1[2]+r2[2])/2.0,'barns/atom') 503 self.Results.SetValue(Text) 504 self.Results.Update() 505 self.UpDateFPlot(Wave) 513 if len(self.Elems): 514 self.Results.SetValue(Text) 515 self.Results.Update() 516 self.UpDateFPlot(Wave) 506 517 507 518 def CalcFPPS(self): … … 551 562 self.NewFPPlot = True 552 563 self.Wave = round(self.Wave,4) 553 self.slider1.SetRange(int(1000.*self.Wmin),int(1000.*self.Wm self.ax))564 self.slider1.SetRange(int(1000.*self.Wmin),int(1000.*self.Wmax)) 554 565 self.slider1.SetValue(int(1000.*self.Wave)) 555 566 self.SpinText1.SetValue("%6.4f" % (self.Wave)) … … 558 569 self.ifWave = False 559 570 self.NewFPPlot = True 560 Emin = self.Kev/self.Wm self.ax571 Emin = self.Kev/self.Wmax 561 572 Emax = self.Kev/self.Wmin 562 573 self.Energy = round(self.Energy,4)
Note: See TracChangeset
for help on using the changeset viewer.