MuMassCalculatorLib is derived from the NIST XCOM database and published atom physical data.
XCOM is an excellent tool but my lab computer didn't have internet access. This project began as an Excel add-in that I used to calculate attenuation coefficients without going to my office. I did most of my image processing in ImageJ and thought about migrating the Excel data to that platform. I'm just getting around to it all these years later. Please refer to the javadocs for a detailed description of the methods in the library. The source codes for the library and dependent ImageJ plugins are included in their respective jar files.
True to its NIST roots, MuMassCalculatorLib has methods that return total attenuation, coherent and incoherent scatter, photoelectric absorption, and pair production in nuclear and electric fields for elements and compounds. MuMassCalculatorLib also contains methods that return atom properties, formula weights, x-ray absorption edge energies etc. It also has methods to compute the output intensity of a continuum X-ray source using the Kramers equation, and to create fan-beam or parallel-beam total attenuation sinograms using conventional and monochromatic X-ray sources. See the imageJ plugins pages for examples.
This library gets its name from the mass attenuation coefficient, also known as the absorption cross section, written by convention as μmass or μm. The mass attenuation coefficient is a fundamental property of an atom. It characterizes an atom's capacity to interact with electromagnetic radiation as a function of photon energy. There are many web tutorials available for the measurment and use of μmass. The equation for the attenuation of an X-ray beam is shown below. It is a Beer-Lambert relation where the attenuation coefficient is the product of μmass, the density of the material ρ, and the thickness x. In this library, the units are thickness in cm, density in gm/cc and μmass in cm2/gm. The product μρx is unitless and is sometimes represented using the Greek letter τ.
MuMassCalculatorLib's GetMuMass method returned the value of μmass for copper at 0.06MeV of 1.593cm2/gm.
The GetAtomDensity method returned a density of 8.92gm/cc for copper at standard temperature and pressure. The attenuation coefficient is 1.593*8.920*0.2 = 2.842. To get the transmitted intensity, 1000000*Exp(-2.842) = 58314 photons.