cw_laser

photonforge.abstract.cw_laser(*, power=1, rel_intensity_noise=0, linewidth=0, frequency=None, chirp_bandwidth=0, chirp_period=0, chirp_waveform='sawtooth', 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.

  • chirp_bandwidth (Annotated[float, minimum=0, units='Hz']) – Total frequency excursion of a linear sweep, centered on frequency. Zero disables the chirp.

  • chirp_period (Annotated[float, minimum=0, units='s']) – Duration of one complete sweep.

  • chirp_waveform (Literal['sawtooth', 'triangle']) – Sweep shape. A sawtooth ramps up over the period and resets; a triangle ramps up over the first half of the period and back down over the second.

  • 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:

Component