emission_yield module

Define an object to store an emission yield.

class EmissionYield(population: Literal['SE', 'EBE', 'IBE', 'all'], data: DataFrame)

Bases: EmissionData

An emission yield.

__init__(population: Literal['SE', 'EBE', 'IBE', 'all'], data: DataFrame) None

Instantiate the data.

Parameters:
  • population – The concerned population of electrons.

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

e_max: float

Energy at the maximum emission yield in \(\mathrm{eV}\). Not defined for BEs.

ey_max: float

Maximum emission yield. Not defined for BEs.

e_c1: float

First cross-over enrergy in \(\mathrm{eV}\). Not defined for BEs.

e_c2: float | None

Second cross-over enrergy in \(\mathrm{eV}\). Not defined for BEs.

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>
_parameters(n_resample: int = -1) tuple[float, float, float, float | None]

Compute the characteristics of the emission yield.

_get_maximum_ey(normal_ey: DataFrame, tol_energy: float = 10.0) tuple[float, float]

Get the position and value of max emission yield.

Parameters:
  • normal_ey – Holds energy of PEs as well as emission yield at nominal incidence.

  • tol_energy – If the \(E_{max}\) is too close to the maximum PE energy, an warning is raised; tolerance is tol_energy. The default value is 10 eV.

Return type:

\(E_{max}\) and \(\sigma_{max}\).

_get_crossovers(normal_ey: DataFrame, e_max: float, min_e: float = 10.0, tol_ey: float = 0.01) tuple[float, float | None]

Compute first and second crossover energies.

Parameters:
  • normal_ey – Holds energy of PEs as well as emission yield at nominal incidence.

  • e_max – Energy of maximum emission yield. Used to discriminate \(E_{c1}\) from \(E_{c2}\).

  • min_e – Energy under which \(E_{c1}\) is not searched. It is useful if emission yield data comes from a model which sets the emission yield to unity at very low energies (eg some implementations of Vaughan). The default value is 10 eV.

  • tol_ey – It the emission yield is too far from unity at crossover energy, a warning is raised. Tolerance is tol_ey. The default value is 0.01.

Returns:

First and second crossover energies.

Return type:

tuple[float, float | None]

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_yield() method.