Xray::...Master(3pm)

πŸ“¦
version 3.0.1 Β· 2 versions
  • 3.0.1 Β· debian bookworm, debian trixie, ubuntu noble, ubuntu resolute, ubuntu stonking (latest)
  • 3.0.1 Β· ubuntu jammy
, in debian bookworm, debian trixie, ubuntu noble, ubuntu resolute, ubuntu stonking

okay so bestie, gather round πŸ’– this is the Xray::...Master(3pm) page, straight out of the User Contributed Perl Documentation, and it's the whole glow-up guide for Xray::Absorption::McMaster. No cap, it's niche but it ATE. ✨


πŸ’« "cross_section" πŸ’«

Okay so here's the vibe, bestie β€” you call it like this:

$xsec = Xray::Absorption -> cross_section($elem, $energy, $mode);

@xsec = Xray::Absorption -> cross_section($elem, \@energy, $mode);

Not me being dramatic but the $mode argument is different here than for the other resources β€” it's giving main character energy. The options are xsec, photo, coherent and incoherent, and what they do is tell this method to hand you back either the full cross-section or just the photoelectric, coherent, or incoherent portions. Pick your fighter. πŸ’…

And the values for all cross-sections? They're computed as log-log polynomials, exactly as described in the original paper by McMaster et al. Periodt. πŸŽ€


✨ NAME ✨

Xray::Absorption::McMaster β€” it's a Perl interface to the McMaster tables. That's the whole thing, that's the tweet. πŸ¦‹


🌸 SYNOPSIS 🌸

use Xray::Absorption;
Xray::Absorption -> load("mcmaster");

Yeah that's it, that's the whole ritual. πŸ™ˆ And if you want the details, go read the documentation for Xray::Absorption β€” she explains everything. πŸ‘‘


πŸ’– DESCRIPTION πŸ’–

So this module gets inherited by the Xray::Absorption module, and it's the plug that gives you access to all the data living inside the 1969 McMaster tables. Iconic. Historical. Vintage, even. πŸ›οΈ

The data in here β€” everybody calls it "The McMaster Tables" β€” was originally published as:

Compilation of X-Ray Cross Sections
W.H. McMster, N. Kerr Del Grande, J.H. Mallett, J.H. Hubbell
National Bureau of Standards
UCRL-50174 Section II Revision 1
(1969)
Available from National Technical Information Services L-3
United States Department of Commerce
Heads up bestie: finding this thing is a bit difficult. 😭 Not me exaggerating β€” it's genuinely a scavenger hunt.

But good news! IIT's Galvin library kindly made a scan of it available, and they are the realest for that: http://www.gl.iit.edu/govdocs/resources/xray.html 🫢

The data lives in a database file called mcmaster.db, which gets generated at install time from a flat text database of the McMster data. And where did that come from? From mucal.f β€” a Fortran subroutine originally written by Dr. Pathikrit Bandhyapodhyay. Fortran to Perl pipeline, we love to see it. πŸ”₯

Also: the required Chemistry::Elements module is available from CPAN in the miscellaneous modules section. Go get her. πŸ’œ


🌈 EDGE AND LINE ENERGIES 🌈

Vibe check on what's actually in here: the McMaster data resource only includes K and L 1-3 edges. That's it, that's the whole menu. 😌

  • For light elements, it gives you only a single L edge energy β€” and that's the energy for the L1 edge.
  • For heavier elements, it gives you a single M energy, the energy of the M1 edge.

And for fluorescence? It only supplies four generic fluorescence line energies: Kalpha, Kbeta, Lalpha, and Lbeta. And in every single case, the energy it hands you is the energy of the brightest line of that sort. The it-girl of each category, basically. ⭐


πŸ’€ BUGS AND THINGS TO DO πŸ’€

The to-do list, bestie, we're being honest here:

  • Make sure this handles fluorescence lines which are in other resources, but not in this resource, in a sensible manner. πŸ™ˆ
  • What happens if you call line_toggle when this is loaded? How about when elam was loaded but then you switch to this one? 😭 Nobody knows. Mystery behaviour. Unhinged, frankly.
No cap, these are open questions β€” not solved, not documented, just vibing there.

πŸ‘‘ AUTHOR πŸ‘‘

Bruce Ravel, bruce@phys.washington.edu
http://feff.phys.washington.edu/~ravel/software/Absorption/

okay that's the whole page, bestie, you're so welcome πŸ’– This was perl v5.34.0, dated 2022-06-28, and the page is Xray::...Master(3pm) β€” stay hydrated, read your docs, and go compute some cross-sections. Slay. πŸŽ€βœ¨πŸ¦‹

πŸ“¦ where this page comes from