finesse.components.readout module

A components sub-module containing classes for detecting intensity fluctuations at a physical point in a model.

These Readout components essentially describe baseband and broadband detectors such as DC and RF demodulated photodiodes typically used in optical experiments.

class finesse.components.readout.BalancedHomodyneReadout(*args, **kwargs)[source]

Bases: _Readout

A readout component representing a balanced homodyne detector (BHD).

Parameters

namestr

Name of the readout component

optical_nodeNode | Port | None, optional

Optical node this readout should look at. Because the readout borrows the node, it can be connected anywhere in the model, like a detector. When passing None, the readout should be connected explicitly with a Space or with finesse.model.Model.link() command (and then only a single readout can be connected per port).

P_lofloat, optional

Power of the local oscillator in W, by default 1 W

phasefloat, optional

Phase of the local oscillator in deg, by default 0 deg

output_detectorsbool, optional

Whether to add a BalancedHomodyneDetector to the solution object, by default False

property P_lo

P_lo : float, optional Power of the local oscillator in W, by default 1 W

outputs: BalancedHomodyneReadoutOutputs
property phase

phase : float, optional Phase of the local oscillator in deg, by default 0 deg

class finesse.components.readout.BalancedHomodyneReadoutOutputs(readout: BalancedHomodyneReadout)[source]

Bases: ReadoutOutputs

class finesse.components.readout.ReadoutDC(*args, **kwargs)[source]

Bases: _Readout

A Readout component which represents a photodiode measuring the intensity of some incident field. Audio band intensity signals present in the incident optical field are converted into an electrical signal and output at the self.DC port, which has a single self.DC.o node.

See Readouts for more information.

Parameters

namestr

Name of the readout component

optical_nodeNode | Port | None, optional

Optical node this readout should look at. Because the readout borrows the node, it can be connected anywhere in the model, like a detector. When passing None, the readout should be connected explicitly with a Space or with finesse.model.Model.link() command (and then only a single readout can be connected per port).

pdtypestr | dict | None, optional
A name of a pdtype definition or a dict representing a pdtype definition,

by default None. See Segmented photodiodes

output_detectorsbool, optional

Whether to add a PowerDetector and a QuantumShotNoiseDetector to the solution object, by default False

Raises

TypeError

When optical_node is not a Port or a Node object, or the NodeType is not NodeType.Optical

outputs: ReadoutDCOutputs
class finesse.components.readout.ReadoutDCOutputs(readout: ReadoutDC)[source]

Bases: ReadoutOutputs

class finesse.components.readout.ReadoutDetectorOutput(*args, **kwargs)[source]

Bases: ModelElement

A placeholder element that represents a detector output generated by a Readout element.

Notes

These should not be created directly by a user. It is internally created and added by a Readout component.

property readout[source]
class finesse.components.readout.ReadoutOutputs[source]

Bases: ABC

class finesse.components.readout.ReadoutRF(*args, **kwargs)[source]

Bases: _Readout

A readout component which represents a demodulated photodiode. The self.I and self.Q electrical ports contain the signal of the two quadratures.

See Readouts for more information.

Parameters

namestr

Name of the readout component

optical_nodeNode | Port | None, optional

Optical node this readout should look at. Because the readout borrows the node, it can be connected anywhere in the model, like a detector. When passing None, the readout should be connected explicitly with a Space or with link command (and then only a single readout can be connected per port).

ffloat, optional

Demodulation frequency in Hz, by default 0

phasefloat, optional

Demodulation phase in degrees, by default 0

output_detectorsbool, optional

Whether to add a PowerDetector (DC), two PowerDetectorDemod1 ‘s (I and Q) and a QuantumShotNoiseDetectorDemod1 to the solution object, by default False

pdtypestr | dict | None, optional
A name of a pdtype definition or a dict representing a pdtype definition,

by default None. See Segmented photodiodes

property f

f : float, optional Demodulation frequency in Hz, by default 0

outputs: ReadoutRFOutputs
property phase

phase : float, optional Demodulation phase in degrees, by default 0

class finesse.components.readout.ReadoutRFOutputs(readout: ReadoutRF)[source]

Bases: ReadoutOutputs

class finesse.components.readout.ReadoutWorkspace[source]

Bases: ConnectorWorkspace