finesse.components.laser module
Laser-type optical components for producing beams.
- class finesse.components.laser.Laser(*args, **kwargs)[source]
Bases:
Connector,FrequencyGeneratorRepresents a laser producing a beam with associated properties such as power and frequency.
Parameters
- namestr
Name of the newly created laser.
- Pfloat, optional
Power of the laser (in Watts), defaults to 1 W.
- ffloat or
Frequency, optional Frequency-offset of the laser from the default (in Hz) or
Frequencyobject. Defaults to 0 Hz offset.- phasefloat, optional
Phase-offset of the laser from the default, defaults to zero.
- signals_onlybool, optional
When True, this laser component will only inject signal sidebands. They will use the current carrier value as a scaling terms but the carrier will not be injected into the simulation. This allows a user to just inject signal sidebands into a model.
Attributes
- add_gouy_phasebool
When set to True the gouy phase of the current beam parameters values at the laser will be added to the optical field outputs during the simulation. When False, it will not. This can be used with
set_output_field()to force a particular optical field output from a laser.
- DEFAULT_POWER_COEFFS = {(0, 0): (1.0, 0.0)}
- property P
P : float, optional Power of the laser (in Watts), defaults to 1 W.
- property f
f : float or
Frequency, optional Frequency-offset of the laser from the default (in Hz) orFrequencyobject. Defaults to 0 Hz offset.
- get_output_field(homs)[source]
Get optical field outputted as a HOM vector.
Returns the complex amplitude of the modes specified in homs. This does not respect the add_gouy_phase` attribute of the laser element and will always return the complex amplitude without the gouy phase. If the gouy phase is required then it is recommended to use a FieldDetector at the laser output with
add_gouy_phaseset toTrue.Parameters
- homssequence
Collection of (n, m) higher order modes to retrieve the output field for. Typically this is just the
model.homsvalue. The outputEvector will match the ordering ofhoms.
Returns
- sequence
The output fields for homs. If a given (n, m) has no defined coefficients, its field defaults to 0.
- property phase
phase : float, optional Phase-offset of the laser from the default, defaults to zero.
- property power_coeffs[source]
The relative power factors and phase offsets for each HGnm mode.
- Getter:
Returns the mode factors and phase offsets as a dict with the mode indices as keys. Read-only.
- set_output_field(E, homs)[source]
Set optical field outputted using HOM vector.
This changes the output power and mode content of the laser to match the requested
Efield.Parameters
- Esequence
The complex optical field amplitude for homs.
- homssequence
Sequence of (n, m) higher order modes. Typically this is just the
model.homsvalue. It should match the size ofE.
Notes
If you do not want the gouy phase due to the current beam parameter values set at the laser to be added to the output, set the
add_gouy_phaseattribute of the laser element toFalse.
- property signals_only
signals_only : bool, optional When True, this laser component will only inject signal sidebands. They will use the current carrier value as a scaling terms but the carrier will not be injected into the simulation. This allows a user to just inject signal sidebands into a model.
- tem(n, m, factor, phase=0.0)[source]
Distributes power into the mode HGnm.
Parameters
- n, mint
Mode indices.
- factorfloat
Relative power factor, modes with equal factor will have equivalent power distributed to them.
- phasefloat, optional; default = 0.0
Phase offset for the field, in degrees.
Notes
This does not change the total power of the laser, rather, it redistributes this power into / out of the specified mode.