Fixed Incident Beam Corrections (asymmetric reflection)

This is a collection of macros that are used to model the effects of a flat plat sample with a fixed angle incident beam (asymmetric reflection).

There is a (nice) overview of their application in [1]. Individual references are given for each macro.

Contributor: Matthew Rowles

[1] Rowles, M. R. & Madsen, I. C. 2010, 'Whole-Pattern Profile Fitting of Powder Diffraction Data Collected in Parallel-Beam Flat-Plate Asymmetric Reflection Geometry', Journal of Applied Crystallography, vol. 43, no. 3, pp. 632-634.


A container macro required to correct for peak intensity and peak shift for thick samples when in flat plate, fixed incident beam geometry. If you are using a parallel incident beam, then you would also probably want to use Fixed_Incident_Beam_Footprint_Correction_With_Mixing to correct for the peak profile change over 2theta. Also, depending on the sample, you may also want to correct for absorption by using Fixed_Incident_Beam_Thick_Sample_Absorption.

macro Fixed_Incident_Beam_Thick_Sample_Correction { FIBTSC } 
macro FIBTSC(alpha_v) { FIBTSC(, alpha_v,,0) }    
macro FIBTSC(alpha_v, sd_v) { FIBTSC(, alpha_v,, sd_v) }
macro FIBTSC(alpha, alpha_v, sd, sd_v)
    Fixed_Incident_Beam_Thick_Sample_Intensity_Correction(alpha, alpha_v)
    Fixed_Incident_Beam_Peak_Position_Correction(alpha, alpha_v, sd, sd_v)

Scales the intensity for a thick sample in fixed incident beam geometry Must be used in conjunction with Fixed_Incident_Beam_Peak_Position_Correction if you want to model sample displacement. This macro doesn't take into account the effect of any diffracted beam optics. As it stands, it is directly applicable to large curved PSDs, eg the Inel CPS120. Any slits, crystals etc in the diffracted beam would limit the detected intensity. The original paper discusses this.
Ref: Toraya, H., Huang, T. C. & Wu, Y. (1993). J. Appl. Cryst. 26, 774-777.

macro Fixed_Incident_Beam_Thick_Sample_Intensity_Correction (alpha, alpha_v)
   #m_argu alpha ''angle of the incident beam to the flat plate in degrees
   If_Prm_Eqn_Rpt(alpha, alpha_v, min 0.0001 max 90)
   scale_pks = 
      IF (2 Th) < CeV(alpha, alpha_v) Deg THEN 
         2 / (1 + (Sin(CeV(alpha, alpha_v) Deg) / Sin(2 Th - CeV(alpha, alpha_v) Deg)))

Models sample displacement as required for a flat plate in fixed incident beam geometry. Valid for both thick and thin samples.
Ref: Masson, O., Guiebretière, R. & Dauger, A. (1996). J. Appl. Cryst. 29, 540-546.

macro Fixed_Incident_Beam_Peak_Position_Correction (alpha, alpha_v, sd, sd_v)
   #m_argu alpha ''angle of the flat plate in degrees
   #m_argu sd    ''displacement of the sample in mm (technically, the same dimension as the radius...)
   If_Prm_Eqn_Rpt(alpha, alpha_v, min 0.0001 max 90)
   If_Prm_Eqn_Rpt(sd, sd_v, min -2 max 2)
   th2_offset = 
      IF CeV(sd, sd_v) == 0 THEN 
         -Rad (CeV(sd, sd_v) Sin(2 Th)) / (Rs Sin(CeV(alpha, alpha_v) Deg))


A macro that corrects the peak profile for a flat plate in fixed incident beam geometry, assuming a parallel incident beam and no diffracted optics. Theoretically, the mixing parameter should be “1” for an incident beam intensity profile of a hat, but realistically, there will be some tapering of intensity at the edges, hence the gaussian… This should be used in conjunction with Fixed_Incident_Beam_Thick_Sample_Correction.
Ref: Rowles, M. R. & Madsen, I. C. (2010). J. Appl. Cryst. 43, 632-634.

macro Fixed_Incident_Beam_Footprint_Correction_With_Mixing { FIBFCWM }
macro FIBFCWM(alpha_v, beam_v, mix_v) { FIBFCWM(, alpha_v,, beam_v,,mix_v) }
macro FIBFCWM(alpha, alpha_v, beam, beam_v, mix, mix_v)
   #m_argu alpha ''angle between the incident beam and the flat plate sample (in degrees)
   #m_argu beam  ''height of the beam in the vertical (in mm)
   #m_argu mix   ''the mix param between a purely hat and a purely gaussian beam profile -> 1 is pure hat
   If_Prm_Eqn_Rpt(alpha, alpha_v, min 0.0001 max 90)
   If_Prm_Eqn_Rpt(beam, beam_v, min 0.0001 max 10)
   If_Prm_Eqn_Rpt(mix, mix_v, min 0 max 1)
   local width_ = (Sin(2 Th - CeV(alpha, alpha_v) Deg) Rad / Rs) (CeV(beam, beam_v) / Sin(CeV(alpha, alpha_v) Deg));
                 ''^the width of the footprint as seen from 2Th   ^the actual footprint on the sample
   hat = CeV(mix, mix_v) width_;		
   gauss_fwhm = (1-CeV(mix, mix_v)) width_;


Thick Sample absorption correction for fixed incident beam geometry. There is a typo in the delta function in the original reference. It's correct here.
Ref: Masson, O., Guiebretière, R. & Dauger, A. (1996). J. Appl. Cryst. 29, 540-546.

macro Fixed_Incident_Beam_Thick_Sample_Absorption { FIBTSA }
macro FIBTSA(alpha_v, mu_v) { FIBTSA(,alpha_v,,mu_v) }
macro FIBTSA(alpha, alpha_v, mu, mu_v)
   #m_argu mu    ''in cm^-1
   #m_argu alpha ''in degrees
   If_Prm_Eqn_Rpt(mu, mu_v, min 3 max 500)
   If_Prm_Eqn_Rpt(alpha, alpha_v, min 0.0001 max 90)
   exp_conv_const = Ln(0.001) (1/((CeV(mu,mu_v) Rs / 10) ((1/Tan(2 Th - CeV(alpha,alpha_v) Deg)) + Tan(Th)))) Rad;
                  ''^ the Ln(0.001) is because of the definition of the exp func in topas -- see the manual.
                                                 ''^ the /10 is in there because Rs is in mm and mu is in cm^-1

Personal Tools