TA

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

Transient absorption measurement.

This subclass of Measurement represents a TA experiment. This model adds the TA-specific parameters timedomain, excitation_energy, excitation_wl and od.

The model participates in SQLAlchemy polymorphism using the "ta" polymorphic_identity. Any row in measurements where method='ta' is therefore automatically loaded as a TransientAbsorption instance.

id

Primary key linked to measurements.id with cascading delete.

Type:

int

timedomain

Indicate in which timedomain (e.g. nano-second TA (ns)/ femto-second TA (fs)) the exeperiment is run.

Type:

str

excitation_energy

Excitation energy incl. unit.

Type:

str or None

excitation_wl

Excitation wavelength incl. unit.

Type:

str

od

Optical density / absorbance.

Type:

str or None

Notes

  • The tablename is ta.

  • All shared measurement metadata (temperature, solvent, operator, timestamps, file path, etc.) are inherited from Measurement.

  • The id corresponds directly to the entry in the main measurements table via single-table inheritance.

Examples

Creating a TA measurement:

>>> from measurements import TA
>>> from molecules import Molecule
>>> mol = Molecule(name="PDI-TEMPO")
>>> m = TA(
...     molecule=mol,
...     method="uvvis",
...     temperature=298,
...     solvent="Toluene",
...     date=date(2025, 4, 12),
...     measured_by="Bob",
...     path="/data/M21/measurement_M21.h5",
...     corrected=False,
...     evaluated=False,
...     timedomain="ns"
...     excitation_wl="560nm"
... )
>>> session.add(m)
>>> session.commit()

Loading via polymorphism:

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