Trace: • time_of_flight_tof_peak_fitting
Table of Contents
Time of Flight Peak Shape Fitting
Using a hkl_Is phase
A Pawley hkl_Is phase with a single peak can be inserted. The two numbers in the macro are the d-spacing of the peak and its intensity. You can change @ symbols for parameter names. The advantage of this method is that it uses the full tof convolutions which might be necessary for accurate peak shapes and therefore positions. Alan's methods below don't use these convolutions.
prm lor 0.54006` prm dsp 51.70683` prm !dspsq 0 tof_peak_fit( @, 2.92093`, @, 2.64961`) macro tof_peak_fit(p1,v1,p2,v2) { #m_argu p1 #m_argu p2 If_Prm_Eqn_Rpt(p1, v1, min =0.9*v1; max =1.1*v1;) If_Prm_Eqn_Rpt(p2, v2, min .000000000001 max 1e9) hkl_Is phase_name CeV(p1,v1) a =10*CeV(p1,v1); b 0.1 c 0.1 space_group "P1" load hkl_m_d_th2 I { 10 0 0 1 0.0 80114.92 =CeV(p2,v2); } peak_type pv pv_lor =lor; pv_fwhm = dsp*CeV(p1,v1) + dspsq*CeV(p1,v1)^2; }
[Note changed =CeV(p1,v1); to 0.0 after hklm values in macro as was getting crash in topas and d-spacing not needed/reported]
You can add a line like the one below to the macro to report tof:
prm = CeV(p1,v1)*difc_hrpd_bs+difa_hrpd_bs*CeV(p1,v1)^2+t0_hrpd_bs; : v3
TOF Peak fitting using d_Is or xo_Is phases
— Alan Coelho 2011/08/25 19:15
d_Is phases can be used in TOF data as follows:
d_Is peak_type pv pv_lor @ .5 pv_fwhm @ 200 d 2 I 10000
If the peak is simply to describe a background anomaly then the TOF peak shape convolutions may not be wanted. In this case it’s possible to put the tof convolutions at the str level. In TEST_EXAMPLES\TOF_BANK2_1.INP this would look like:
TOF_XYE(R29187C_145_calc_2.xye, = Yobs_dx_at(Xo) .5;) TOF_LAM(0.001) TOF_x_axis_calibration(t0, 4.54166, t1, 6172.60684, t2, -2.15711) bkg @ 0 0 0 0 0 0 0 0 0 0 0 finish_X 21000 STR(Fm-3m) ' CeO2 Cubic(5.402187) site Ce1 x 0.00 y 0.00 z 0.00 occ Ce 1 beq @ 0.5 site O1 x 0.25 y 0.25 z 0.25 occ O 1 beq @ 0.5 scale @ 1 TOF_PV(@, 100, @, .5, t1) TOF_Exponential(a0, 100, ,0, 1, t1, -) ' Moved TOF_Exponential(b0, 100, b1, 100, 4, t1, +) ' Moved scale_pks = D_spacing^4; ' Moved d_Is peak_type pv pv_lor @ .5 pv_fwhm @ 200 d 2 I 10000
The text marked “Moved” is what was moved from the xdd level to the str level. The d_Is phase would therefore not have the TOF_Exponential convolutions applied nor the scale_pks applied.
xo_Is phases can also be used in TOF data but the pk_xo (inside the TOF_x_axis_calibration macro) needs to be moved to the str level. Additionally the No_Th_Dependence is necessary; ie.
TOF_XYE(...) TOF_LAM(0.001) str... TOF_PV(@, 100, @, .5, t1) TOF_x_axis_calibration(t0, 4.54166, t1, 6172.60684, t2, -2.15711) TOF_Exponential(a0, 100, ,0, 1, t1, -) TOF_Exponential(b0, 100, b1, 100, 4, t1, +) xo_Is No_Th_Dependence peak_type pv pv_lor @ .5 pv_fwhm @ 200 xo 12000 I 10000
In this way the xo value is not transformed according to pk_xo.