HASEonGPU.LaserProperties

class HASEonGPU.LaserProperties(crossSections=None, values=<factory>)

Bases: object

Mutable low-level laser-property store.

Prefer CrossSectionData for new simulations. This class remains useful when code needs the historical l_abs, s_abs, l_ems, s_ems, and l_res handles or aliases used by calcPhiASE.

Parameters:
crossSections: CrossSectionData | None = None

Optional spectral data used to populate the property store.

values: dict

Canonical low-level property values.

classmethod spectral(**kwargs)

Create LaserProperties from explicit spectral arrays.

classmethod monochromatic(*, absorption, emission, wavelengthAbsorption=0.0, wavelengthEmission=0.0)

Create a single-sample absorption/emission data set.

classmethod fromDirectory(path)

Load spectral text files and wrap them as LaserProperties.

withProperties(**properties)

Set multiple laser properties and return self for chaining.

get(name)

Return a LaserProperty handle by canonical name or alias.

set(name, value)

Validate and store one laser property by canonical name or alias.

listProperties()

Return metadata for all known laser properties.

toDict()

Return the complete low-level laser dictionary after validation.

property maxSigmaA

Maximum absorption cross section \(\max(\sigma_a)\).

property maxSigmaE

Maximum emission cross section \(\max(\sigma_e)\).

property emissionPeakIndex

Index of the largest emission cross-section sample.

property absorptionAtEmissionPeak

Absorption cross section sampled at the emission peak index.

validate(requiredOnly=False)

Check required fields and matching wavelength/cross-section lengths.