image thumbnail

PhotonAttenuation

version 1.6.0.0 (326 KB) by Jaroslaw Tuszynski
Provides the attenuation and energy absorption of x-ray and gamma-ray photons in various materials.

5K Downloads

Updated 17 Mar 2016

View License

Package PhotonAttenuation provides set of functions for modeling of photons (x-ray, gamma-ray, etc.), passing through different materials. The tools are based on attenuation and energy absorption coefficients of photons in various materials. The tables of absorption coefficients were copied from NIST and embedded in the MATLAB code.
Package consist of 4 functions:
PhotonAttenuation - the main function returning variuos physical quantaties for photons of various energies passing through different materials of different thickness
PhotonAttenuationQ - the helper function providing bare-bones access to NIST tables hardwired into the code. Simpler version of PhotonAttenuation function with much fiewer input and output options.

ParseChemicalFormula - converts many different styles of names used for elements, compounds and mixtures to uniform list of elements and their weight ratios.

PhysProps - provides physical properties (like ratio of atomic number to mass or density), needed by PhotonAttenuation function, for all elements and some selected compounds.

References:
Tables are based on "X-Ray Attenuation and Absorption for Materials of Dosimetric Interest" (XAAMDI) database (NIST 5632 report): J. Hubbell and S.M. Seltzer, "Tables of X-Ray Mass Attenuation Coefficients and Mass Energy-Absorption Coefficients 1 keV to 20 MeV for Elements Z = 1 to 92 and 48 Additional Substances of Dosimetric Interest, "National Institute of Standards and Technology report NISTIR 5632 (1995). http://physics.nist.gov/PhysRefData/XrayMassCoef/cover.html

MAC values for elements 93 to 100 (Neptunium to Fermium) came from XCOM: Photon Cross Sections Database (NBSIR 87-3597): Those tables give photon's "total attenuation coefficients" for elements with atomic number (Z) smaller than 100. Photon energy range is from 0.001 MeV to 100 GeV. http://physics.nist.gov/PhysRefData/Xcom/Text/XCOM.html

History:
Written by Jarek Tuszynski (SAIC), 2006
Inspired by John Schweppe Mathematica code available at http://library.wolfram.com/infocenter/MathSource/4267/

Cite As

Jaroslaw Tuszynski (2021). PhotonAttenuation (https://www.mathworks.com/matlabcentral/fileexchange/12092-photonattenuation), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2015b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!