HASEonGPU.CrossSectionData

class HASEonGPU.CrossSectionData(wavelengthsAbsorption, crossSectionAbsorption, wavelengthsEmission, crossSectionEmission, resolution=1)

Bases: object

Absorption and emission spectra for ASE and pump calculations.

Wavelength arrays store \(\lambda\); matching cross-section arrays store \(\sigma_a\) and \(\sigma_e\) in cm^2. The wavelength unit is kept as supplied, with interpolation helpers handling the common nm table versus m query mismatch.

Parameters:
  • wavelengthsAbsorption (object)

  • crossSectionAbsorption (object)

  • wavelengthsEmission (object)

  • crossSectionEmission (object)

  • resolution (int)

wavelengthsAbsorption: object

Wavelength samples for the absorption spectrum.

crossSectionAbsorption: object

Absorption cross sections \(\sigma_a\) in cm^2.

wavelengthsEmission: object

Wavelength samples for the emission spectrum.

crossSectionEmission: object

Emission cross sections \(\sigma_e\) in cm^2.

resolution: int = 1

Spectral interpolation resolution passed to calcPhiASE.

classmethod monochromatic(*, wavelength, crossSectionAbsorption, crossSectionEmission)

Build a single-wavelength spectrum for monochromatic workflows.

classmethod fromDirectory(path, resolution=1000)

Load lambda_a, sigma_a, lambda_e, and sigma_e text files.

toLaserProperties()

Wrap the same spectra in the lower-level LaserProperties store.

absorptionAt(wavelength)

Interpolate \(\sigma_a\) at wavelength.

emissionAt(wavelength)

Interpolate \(\sigma_e\) at wavelength.

toDict()

Return the dictionary layout expected by the low-level bindings.