Skip to content

abstract.optical_pulse

optical_pulse(
*,
energy: Annotated[float, minimum=0, units='J'] = 1e-12,
width: Annotated[float, minimum=0, units='s'] = 5e-11,
offset: Annotated[float, minimum=0, units='s'] | None = None,
repetition_rate: Annotated[float, minimum=0, units='Hz'] = 0,
phase: Annotated[float, units='°']
| collections.abc.Sequence[Annotated[float, units='°']] = 0,
chirp: Annotated[float, units='°'] = 0,
order: Annotated[float, minimum=1] = 1,
frequency: Annotated[float, minimum=0, units='Hz'] | None = None,
rel_intensity_noise: Annotated[float, minimum=0, units='1/Hz'] = 0,
linewidth: Annotated[float, minimum=0, units='Hz'] = 0,
jitter: Annotated[float, minimum=0, units='s'] = 0,
prbs: Literal[0, 7, 15, 31] = 0,
reflection: complex = 0,
seed: Annotated[int, minimum=0] | None = None,
) -> photonforge.Component

Abstract optical pulse source.

Based on OpticalPulseTimeStepper.

Args

  • energy: Total pulse energy.
  • width: Full-width at half-maximum (FWHM) of the pulse amplitude.
  • offset: Time shift for the center of the first pulse. If None, a value is chosen automatically.
  • repetition_rate: If positive, generates a periodic train of pulses at this rate.
  • phase: Phase shift applied to the pulse. A sequence of values can be used to define the phase of each pulse in a periodic train. The sequence is wrapped around if necessary.
  • chirp: Chirp parameter CC of the pulse, in degrees (180 for C=πC = \pi). Positive values give an up-chirp, in which the instantaneous frequency rises from the leading to the trailing edge.
  • order: Order of the super-Gaussian pulse.
  • frequency: Absolute laser frequency. If None, equals the carrier frequency. If detuned from the carrier by Δf, the output envelope is e−j2πΔf te^{-j2\pi\Delta f\,t}.
  • rel_intensity_noise: One-sided relative intensity noise (RIN) power spectral density.
  • linewidth: Full-width at half-maximum (FWHM) of the laser’s Lorentzian shape.
  • jitter: RMS clock jitter for pulse trains.
  • prbs: PRBS polynomial degree. Value 0 disables PRBS.
  • reflection: Reflection coefficient for incident fields.
  • seed: Random number generator seed to ensure reproducibility.