Electronic scattering

Funtions to calculate electronic scattering cross sections for X-ray photons.

nexus.KleinNishinaCrossSection(element, energy)

Calculates the Klein-Nishina cross section. After [KleinNishina]. Describes Thomson scattering of low energy photons and Compton scattering of high energy photons.

Also see https://en.wikipedia.org/wiki/Klein-Nishina_formula.

Parameters:
  • element (Element) – Element for which the cross section is calculated.

  • energy (float) – X-ray energy (eV).

Returns:

Klein-Nishina cross section (m 2).

Return type:

float

nexus.ComptonCrossSection(element, energy)

Alias for the Klein-Nishina cross section.

Also see https://en.wikipedia.org/wiki/Klein-Nishina_formula.

Parameters:
  • element (Element) – Element for which the cross section is calculated.

  • energy (float) – X-ray energy (eV).

Returns:

Klein-Nishina cross section (m 2).

Return type:

float

nexus.ThomsonCrossSection(element, energy)

Alias for the Klein-Nishina cross section.

Also see https://en.wikipedia.org/wiki/Klein-Nishina_formula.

Parameters:
  • element (Element) – Element for which the cross section is calculated.

  • energy (float) – X-ray energy (eV).

Returns:

Klein-Nishina cross section (m 2).

Return type:

float

nexus.PhotoCrossSection(element, energy)

Calculates the photoelectric cross section. After [Smith]. Valid in the range from Z = 1 to 100 and \(E_{\gamma}\) = 1 keV to 100 MeV.

Parameters:
  • element (Element) – Element for which the cross section is calculated.

  • energy (float) – X-ray energy (eV).

Returns:

Photo effect cross section (m 2).

Return type:

float

nexus.ElectronicCrossSection(element, energy)

Calculates the total electronic absorption scattering cross section for X-ray photons of energy \(E_{\gamma}\) = 1 keV to 100 MeV and element up to Z = 86. Returns the sum of the Klein-Nishma cross section and the photoelectric cross section. Pair production at high energies is not included. If you are interested in pair production cross sections see Maximon and Borsellino-Ghizzetti equations.

Parameters:
  • element (Element) – Element for which the cross section is calculated.

  • energy (float) – X-ray energy (eV).

Returns:

Total absorption scattering cross section (m 2).

Return type:

float

Examples

Au = nx.Element("Au")

# Klein-Nishina cross section for photons of energy E = 10 keV at gold
cross_section = nx.KleinNishinaCrossSection(Au, 10000)
print(cross_section)

# Photoelectric cross section for photons of energy E = 10 keV at gold
cross_section = nx.PhotoCrossSection(Au, 10e3)
print(cross_section)

# Total cross section for photons of energy E = 10 keV at gold
cross_section = nx.ElectronicCrossSection(Au, 10e3)
print(cross_section)