cw_laser¶
- photonforge.abstract.cw_laser(*, power=1, rel_intensity_noise=0, linewidth=0, frequency=None, phase=0, reflection=0, seed=None)[source]¶
Abstract CW Laser source.
Based on
photonforge.CWLaserTimeStepper.- Parameters:
power (Annotated[float, minimum=0, units='W']) – Mean optical output power.
rel_intensity_noise (Annotated[float, minimum=0, units='1/Hz']) – One-sided relative intensity noise (RIN) power spectral density.
linewidth (Annotated[float, minimum=0, units='Hz']) – Full-width at half-maximum (FWHM) of the laser’s Lorentzian shape.
frequency (Annotated[float, minimum=0, units='Hz'] | None) – Absolute laser frequency. If
None, equals the carrier frequency. If detuned from the carrier by Δf, the output envelope rotates at 2πΔf.phase (Annotated[float, units='°']) – Starting phase of the output envelope.
reflection (complex) – Reflection coefficient for incident fields.
seed (Annotated[int, minimum=0] | None) – Random number generator seed to ensure reproducibility.
- Return type: