sombrin module
Create the Sombrin model, to compute TEEY.
It is very precise on the first crossover energy, but does not take the incident angle into account.
Model parameters
Parameter |
Name |
Unit |
Initial |
Description |
|---|---|---|---|---|
\(E_\mathrm{max}\) |
E_max |
\(\mathrm{eV}\) |
\(1.0\) |
Energy at maximum TEEY. |
\(\sigma_\mathrm{max}\) |
teey_max |
\(\mathrm{1}\) |
\(0.0\) |
Maximum TEEY, directly taken from the measurement. |
\(E_{c,\,1}\) |
E_c1 |
\(\mathrm{eV}\) |
\(0.0\) |
First crossover energy. Must be provided instead of E_0 for SPARK3D Vaughan. |
- class Sombrin(parameters_values: dict[str, Any] | None = None)
Bases:
ModelDefine the Sombrin model, defined in [Som93].
We use the implementation from [FBHP16].
- emission_data_types: list[Literal['Emission Yield', 'Emission Energy', 'Emission Angle']] = ['Emission Yield']
- model_config: ModelConfig = ModelConfig(emission_yield_files=('all',), emission_energy_files=(), emission_angle_files=())
- initial_parameters: dict[str, dict[str, str | float | bool]] = {'E_c1': {'description': 'First crossover energy. Must be provided instead of E_0 for SPARK3D Vaughan.', 'lower_bound': 0.0, 'markdown': 'E_{c,\\,1}', 'unit': 'eV', 'value': 0.0}, 'E_max': {'description': 'Energy at maximum TEEY.', 'lower_bound': 0.0, 'markdown': 'E_\\mathrm{max}', 'unit': 'eV', 'value': 1.0}, 'teey_max': {'description': 'Maximum TEEY, directly taken from the measurement.', 'lower_bound': 0.0, 'markdown': '\\sigma_\\mathrm{max}', 'unit': '1', 'value': 0.0}}
- __init__(parameters_values: dict[str, Any] | None = None) None
Instantiate the object.
- Parameters:
parameters_values – Contains name of parameters and associated value. If provided, will override the default values set in
initial_parameters.
- parameters: SombrinParameters
- get_data(population: Literal['SE', 'EBE', 'IBE', 'all'], emission_data_type: Literal['Emission Yield', 'Emission Energy', 'Emission Angle'], energy: ndarray[tuple[Any, ...], dtype[float64]], theta: ndarray[tuple[Any, ...], dtype[float64]], *args, **kwargs) DataFrame | None
Return desired data according to current model.
Will return a dataframe only if the TEEY is asked.
- find_optimal_parameters(data_matrix: DataMatrix, **kwargs) None
Extract main TEEY curve parameters from measure.
- evaluate(data_matrix: DataMatrix) dict[str, float]
Evaluate the quality of the model using Fil criterions.
- _abc_impl = <_abc._abc_data object>