Reference Data
reference_data
Módulo de datos de referencia para análisis XPS.
Este módulo contiene las clases y funciones para manejar datos de referencia de elementos químicos, incluyendo energías de enlace, desplazamientos químicos y información de compuestos para identificación automática.
Classes
CompoundReference
Bases: XPSBaseModel
Datos de referencia para un compuesto específico.
Attributes
orbital : str Orbital asociado (ej: "1s", "2p") binding_energy_range : tuple of float Energía o rango de energías de enlace (min, max) en eV peak_position : float, optional Posición del pico principal en eV chemical_shift : float, optional Desplazamiento químico respecto al elemento puro en eV
ElementReference
Bases: XPSBaseModel
Base de datos completa de un elemento químico.
Attributes
symbol : str Símbolo del elemento (ej: "Li", "C", "O") element : str Nombre completo del elemento atomic_number : int Número atómico photoelectron_lines : list[PhotoelectronLine] Lista con las líneas fotoeléctronicas por orbital compounds : dict[str, CompoundReference] Diccionario de compuestos de referencia binding_energy_most_useful : float, optional Energía de enlace más útil en eV spin_orbital_splitting : float, optional Separación spin-orbital en eV
Methods:
get_main_line
Obtiene la línea fotoeléctrica principal (mayor intensidad).
Returns
PhotoelectronLine Línea con mayor intensidad relativa
Raises
ValueError Si no hay líneas disponibles para el elemento
Source code in src/xps_analyzer/reference_data/elements.py
get_compound
Busca un compuesto por nombre.
Parameters
name : str Nombre del compuesto a buscar
Returns
CompoundReference or None Referencia del compuesto si se encuentra
Source code in src/xps_analyzer/reference_data/elements.py
PhotoelectronLine
Bases: XPSBaseModel
Representa una línea fotoeléctrica de un orbital específico.
Attributes
line : str Designación de la línea (ej: "1s", "2p1/2", "2p3/2", "KLL") binding_energy : float Energía de enlace en eV x_ray_source : str, optional Fuente de rayos X utilizada (ej: "Mg_Ka", "Al_Ka") type : str, default="core" Tipo de línea ("core" o "Auger") kinetic_energy : float, optional Energía cinética en eV (solo para líneas Auger)
ReferenceDatabase
Bases: XPSBaseModel
Base de datos completa de elementos de referencia.
Attributes
elements : dict Diccionario con elementos indexados por símbolo version : str Versión de la base de datos source : str Fuente de los datos de referencia
Methods:
get_element
Obtiene datos de un elemento por símbolo.
Parameters
symbol : str Símbolo del elemento
Returns
ElementReference or None Referencia del elemento si existe
Source code in src/xps_analyzer/reference_data/elements.py
search_by_binding_energy
Busca elementos/compuestos por energía de enlace.
Parameters
energy : float Energía de enlace a buscar (eV) tolerance : float, default=2.0 Tolerancia de búsqueda (eV)
Returns
List[Tuple[str, str]] Lista de tuplas (elemento, orbital/compuesto)
Source code in src/xps_analyzer/reference_data/elements.py
get_chemical_shifts
Obtiene todos los desplazamientos químicos de un elemento.
Parameters
element_symbol : str Símbolo del elemento
Returns
Dict[str, float] Diccionario con compuesto -> desplazamiento químico
Source code in src/xps_analyzer/reference_data/elements.py
list_elements
Lista todos los elementos disponibles.
Returns
List[str] Lista de símbolos de elementos
Functions:
load_reference_database
Carga la base de datos de referencia desde archivo JSON.
Parameters
data_path : Path, optional Ruta al archivo de datos JSON. Si None, usa ubicación por defecto.
Returns
ReferenceDatabase Base de datos cargada