emission_energy_distribution module

Define an object to store an emission energy distribution.

class EmissionEnergyDistribution(population: Literal['SE', 'EBE', 'IBE', 'all'], data: DataFrame, e_pe: float | None = None, norm: float | None = None)

Bases: EmissionData

An emission energy distribution.

__init__(population: Literal['SE', 'EBE', 'IBE', 'all'], data: DataFrame, e_pe: float | None = None, norm: float | None = None) None

Instantiate the data.

Parameters:
  • population – The concerned population of electrons.

  • data – Structure holding the data. Must have a Energy (eV) column holding population energy. And one or several columns theta [deg], where theta is the value of the incidence angle and content is corresponding emission energy.

  • e_pe – Energy of primary electrons in \(\mathrm{eV}\).

  • norm – To specify re-normalization constant. If not provided, we try to set the maximum of SEs to unity. Provide 1.0 to avoid any normalization.

e_peak_se: float

Energy at the maximum of SEs in \(\mathrm{eV}\). Defined for SEs and distribution of all electrons.

i_peak_ebe: int

Position of EBE peak.

e_peak_ebe: float

Energy at the maximum of EBEs in \(\mathrm{eV}\). Defined for EBEs and distribution of all electrons.

e_pe: float

Energy of PEs in \(\mathrm{eV}\). If this information is not found in the file header, we set it to the value of self.e_peak_ebe.

norm: float

Re-normalization factor of distribution.

classmethod from_filepath(population: Literal['SE', 'EBE', 'IBE', 'all'], loader: Loader, *filepath: str | Path) Self

Instantiate the data from files.

Parameters:
  • loader – The object that will load the data.

  • population – The concerned population of electrons.

  • *filepath – Path(s) to file holding data under study.

property label: str

Print nature of data (markdown).

_abc_impl = <_abc._abc_data object>
plot(plotter: Plotter, *args, lw: float | None = 0.0, marker: str | None = '+', axes: T | None = None, grid: bool = True, population: Literal['SE', 'EBE', 'IBE', 'all'] | None = None, **kwargs) T

Plot the contained data using plotter.

This wrapper simply calls the Plotter.plot_emission_energy_distribution() method. method.

_normalize() None

Normalize the distribution.

property _se_ebe_limit: int

Arbitrary index limit between SEs and EBEs.

_find_SE_peak() tuple[int, float]

Find the SEs maximum.

_find_EBE_peak() tuple[int, float]

Find the position of the EBE peak.