Demeter

Description Perl tools for X-ray Absorption Spectroscopy
Demeter > Perl Modules > Demeter::Data::SelfAbsorption
Source

NAME

Demeter::Data::SelfAbsorption - Self-absorption corrections for mu(E) data

VERSION

This documentation refers to Demeter version 0.9.26.

DESCRIPTION

This role of Demeter::Data contains methods for calculating self-absorption corrections for mu(E) data using various algorithms.

METHODS

sa

Compute the correction using one of the following methods:

fluo

This corrects mu(E) data using an algorithm developed by Bruce along with Ed Stern and Dani Haskel. This was first implemented by Dani Haskel and then reimplemented into the original Athena. It is the only correction method here that is applied to mu(E) data.

Troger

This is a correction to chi(k) that applies only in the thick sample limit.

Booth

This improvement on the Troger algorithm was developed by Corwin Booth and Bud Bridges and can applied to a sample of any thickness, although the density of the sample must be supplied. In the thick sample limit, it is identical to the Troger correction.

atoms

This correction to chi(k) computes the effects of normalization, i0, and self absorption using Xray::FluorescenceEXAFS. It is a fairly crude approximation and is only valid in the thick sample limit. It also does not consider the effect of incident or exit angle.

  $data -> po -> strt_plot;
  $data -> plot('k');
  my ($sadata, $text) = $data->sa($method, formula=>$formula, in=>$angle_in
                                  out=>$angle_out, thickness=>$thickness);
  $sadata -> plot('k');
  print $text;

The method returns a reference to a Data object containing the corrected data and a scalar containing the textual response from the selected correction method.

The formula must be provided and must be specified using the syntax of Chemistry::Formula. Defaults for in and out are 45 degrees an the default for thickness is to compute in the thick sample limit.

The named arguments can appear in any order, but the first item in the argument list must be the correction method.

info_depth

Return arrays of wavenumber and information depth where the information depth represents the depth from which signal is retrieved from the sample. Essentially, this plots the energy dependence of the absorption length over the k-range of the data.

  my ($ref_k, $ref_info) = $data->info_depth(formula=>$formula,
                                             in=>$angle_in
                                             out=>$angle_out);

The returned values are array references.

CONFIGURATION

See Demeter::Config for a description of the configuration system.

REFERENCES

Fluo algorithm

The program documentation for Fluo can be found at Dani's web site and includes the mathematical derivation: http://www.aps.anl.gov/xfd/people/haskel/fluo.html.

Booth Algorithm

C. H. Booth and F. Bridges, Physica Scripta, T115, (2005) p. 202. DOI:10.1238/Physica.Topical.115a00202 See also Corwin's web site: http://lise.lbl.gov/RSXAP/

Troger Algorithm

L. Troger, et al., Phys. Rev., B46:6, (1992) p. 3283 DOI: 10.1103/PhysRevB.46.3283

Pfalzer Algorithm

Another interesting approach to correcting self-absorption is presented in P. Pfalzer et al., Phys. Rev., B60:13, (1999) p. 9335. DOI: 10.1103/PhysRevB.60.9335

This is not implemented in Demeter because the main result requires an integral over the solid angle subtended by the detector. This could be implemented, but the amount of solid angle subtended it is not something one typically writes in the lab notebook. If anyone is really interested in having this algorithm implemented, contact Bruce.

Atoms Algorithm

B. Ravel, J. Synchrotron Radiat., 8:2, (2001) p. 314. DOI: 10.1107/S090904950001493X

See also the documentation for Atoms at Bruce's website for more details about it's fluorescence correction calculations.

Elam tables of absorption coefficients

W.T. Elam, B.Ravel, and J.R. Sieber, Radiat. Phys. Chem., 63, (2002) p. 121-128, DOI: 10.1016/S0969-806X(01)00227-4

BUGS AND LIMITATIONS

Please report problems to the Ifeffit Mailing List (http://cars9.uchicago.edu/mailman/listinfo/ifeffit/)

Patches are welcome.

AUTHOR

Bruce Ravel, http://bruceravel.github.io/home

http://bruceravel.github.io/demeter/

With help from Dan Olive and Corwin Booth

LICENCE AND COPYRIGHT

Copyright (c) 2006-2018 Bruce Ravel (http://bruceravel.github.io/home). All rights reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlgpl.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.