Xray::Absorption::Chantler - Perl interface to the Chantler tables
Xray::Absorption -> load("chantler");
See the documentation for Xray::Absorption for details.
This module is inherited by the Xray::Absorption module and provides
access to the data contained in the Chantler tables of anomalous
scattering factors and line and edge energies.
The data in this module, referred to as "The Chantler Tables", was
C. T. Chantler
Theoretical Form Factor, Attenuation, and Scattering Tabulation
for Z = 1 - 92 from E = 1 - 10 eV to E = 0.4 - 1.0 MeV
J. Phys. Chem. Ref. Data 24, 71 (1995)
This can be found on the web at
The Chantler data is available on the web at
More information can be found on the personal web page of C.T. Chantler
The data contained in a database file called chantler.db which is
generated at install time from the flat text files of the Chantler
data. The data is stored in a Storable archive using "network"
ordering. This allows speedy disk and memory access along with network
and platform portability.
The required "File::Spec", "Chemistry::Elements", and "Storable"
modules are available from CPAN.
The behaviour of the methods in this module is a bit different from
other modules used by "Xray::Absorption". This section describes
methods which behave differently for this data resource.
$energy = Xray::Absorption -> get_energy($elem, $edge);
This behaves similarly to the "get_energy" method of the other
resources. When using the Chantler data resource, $edge can be any
of K, L1-L3, M1-M5, N1-N7, O1-O5, or P1-P3. Line energies are not
supplied with the Chantler data set. The line energies from the
McMaster tables are used.
$xsec = Xray::Absorption -> cross_section($elem, $energy, $mode);
This behaves slightly differently from the similar method for the
McMaster and Elam resources. The Chantler tables contain anomalous
scattering factors and the sum of the coherent and incoherent
scattering cross-sections. The photo-electric cross-section is
calculated from the imaginary part of the anomalous scattering by
mu = 2 * r_e * lambda * conv * f_2
where, "r_e" is the classical electron radius, lamdba is the photon
wavelength, and conv is a units conversion factor.
r_e = 2.817938 x 10^-15 m
lambda = 2 pi hbar c / energy
hbar*c = 1973.27053324 eV*Angstrom
conv = Avagadro / atomic weight
= 6.022045e7 / weight in cgs
The $mode argument is different here than for the other resources.
The options are "xsec", "f1", "f2", "photo", and "scatter" telling
this method to return the full cross-section cross-section, the
real or imaginary anomalous scattering factor, just the
photoelectric crosss-section, or just the coherent and incoherent
The values for f1 and f2 are computed by linear interpolation of a
semi-log scale, as described in the literature reference. Care is
taken to avoid the discontinuities at the edges.
EDGE AND LINE ENERGIES
The Chantler data resource provides a fairly complete set of edge
energies. Any edge tabulated on the Gwyn William's Table of Electron
Binding Energies for the Elements (that's the one published by NSLS and
on the door of just about every hutch at NSLS) is in the Chantler data
resource. The Chantler data comes with the same, limited set of
fluorescence energies as McMaster.
BUGS AND THINGS TO DO
· It would be nice to improve the inter-/extrapolation near
absorption edges. As it stands, these tables produce really poor
Bruce Ravel, firstname.lastname@example.org