TREPR

class specatalog.models.measurements.TREPR(**kwargs)[source]

Time-resolved electron paramagnetic resonance (trEPR) measurement.

This subclass of Measurement describes a trEPR experiment. The class extends the base measurement metadata by adding method-specific parameters such as excitation wavelength, microwave frequency band, and repetition rate.

The model participates in the SQLAlchemy polymorphic hierarchy using "trepr" as its polymorphic_identity. Database rows with method='trepr' will therefore be loaded as TREPR objects.

id

Primary key bound to the underlying entry in measurements.

Type:

int

frequency_band

Microwave frequency band used for detection (X-band, Q-band…), e.g. X or Q.

Type:

str

excitation_wl

Laser excitation wavelength in nanometres.

Type:

float

excitation_energy

Pulse energy of the excitation source, typically in microjoules.

Type:

float or None

attenuation

Microwave attenuation setting used during acquisition.

Type:

str

number_of_scans

Number of accumulated scans used for signal averaging.

Type:

int or None

repetitionrate

Laser repetition rate in Hertz.

Type:

float or None

mode

Optional acquisition mode or instrument configuration string.

Type:

str or None

Notes

  • The tablename is trepr

  • All generic attributes such as temperature, solvent, operator, path, and timestamps are inherited from Measurement.

Examples

Creating a TREPR measurement:

>>> from measurements import TREPR
>>> from molecules import Molecule
>>> mol = Molecule(name="PDI-Br")
>>> m = TREPR(
...     molecule=mol,
...     method="trepr",
...     temperature=298.0,
...     solvent="Toluene",
...     date=date(2025, 2, 15),
...     measured_by="Alice",
...     path="/data/M42",
...     corrected=False,
...     evaluated=False,
...     frequency_band="X",
...     excitation_wl=532.0,
...     excitation_energy=25.0,
...     attenuation="20 dB",
...     number_of_scans=100,
...     repetitionrate=1000.0,
...     mode="FID"
... )
>>> session.add(m)
>>> session.commit()

Polymorphic loading:

>>> m = session.query(Measurement).filter_by(id=42).one()
>>> type(m)
<class 'models.TREPR'>