Detectors

amplitude_detector
ad

Represents an amplitude detector which calculates the amplitude and phase of light fields at one frequency.

Syntax:
ad name node f n=none m=none
Required:

name: Name of newly created detector.

node: Node to read output from.

f: Frequency of light to detect (in Hz).

Optional:

n: Tangential mode index to probe. Defaults to None such that all fields of the given frequency are summed.

m: Sagittal mode index to probe. Defaults to None such that all fields of the given frequency are summed.

astigd

Detector for astigmatism figure-of-merit at a given node.

Syntax:
astigd name node
Required:

name: Name of the detector.

node: Node to compute astigmatism at.

beam_property_detector
bp

Probe for detecting the properties of a beam at a given node.

Syntax:
bp name node prop direction=x q_as_bp=false
Required:

name: Name of newly created detector.

node: Node to read output from.

prop: The property of the beam to detect. See above for options.

Optional:

direction: Plane to detect in - ‘x’ for tangential, ‘y’ for sagittal.

q_as_bp: If detecting q, should the detector output return BeamParam object instead of just a complex number.

ccd

Camera for detecting the full image of the beam in terms of the intensity.

Syntax:
ccd name node xlim ylim npts w0_scaled=true
Required:

name: Unique name of the camera.

node: Node at which to detect.

xlim: Limits of the x-dimension of the image. If a single number is given then this will be computed as \(x_{\mathrm{lim}} = [-|x|, +|x|]\).

ylim: Limits of the y-dimension of the image. If a single number is given then this will be computed as \(y_{\mathrm{lim}} = [-|y|, +|y|]\).

npts: Number of points in both axes.

Optional:

w0_scaled: Flag indicating whether the \(x\), \(y\) axes should be scaled to the waist-size of the beam parameter at node.

ccdline

Camera for detecting a slice of the beam in terms of the intensity.

Syntax:
ccdline name node npts x=none y=none xlim=none ylim=none w0_scaled=true
Required:

name: Unique name of the camera.

node: Node at which to detect.

npts: Number of points in slice axis.

x: The x coordinate of the slice. If ylim is given and this is not specified then defaults to zero. If xlim is given and this is also specified then it is ignored.

y: The y coordinate of the slice. If xlim is given and this is not specified then defaults to zero. If ylim is given and this is also specified then it is ignored.

xlim: The limits of the x-axis scan lines. A single number gives \(x_{\mathrm{axis}} \in [-|x|, +|x|]\), or a tuple of size two gives \(x_{\mathrm{axis}} \in [x[0], x[1]]\).

ylim: The limits of the y-axis scan lines. A single number gives \(y_{\mathrm{axis}} \in [-|y|, +|y|]\), or a tuple of size two gives \(y_{\mathrm{axis}} \in [y[0], y[1]]\).

Optional:

w0_scaled: Flag indicating whether the \(x\), \(y\) axes should be scaled to the waist-size of the beam parameter at node.

ccdpx

Camera for detecting a single pixel of the beam in terms of the intensity.

Syntax:
ccdpx name node x=0 y=0 w0_scaled=true
Required:

name: Unique name of the camera.

node: Node at which to detect.

Optional:

x: The x co-ordinate of the pixel.

y: The y co-ordinate of the pixel.

w0_scaled: Flag indicating whether the \(x\), \(y\) axes should be scaled to the waist-size of the beam parameter at node.

cavity_property_detector
cp

Probe for detecting the properties of a cavity.

Syntax:
cp name cavity prop direction=x q_as_bp=false
Required:

name: Name of newly created cavity property detector.

cavity: The cavity to probe. If the name is provided then the CavityPropertyDetector.cavity attribute will point to the corresponding Cavity object when adding this detector to a Model instance.

prop: Property of the cavity to probe. See above for options.

Optional:

direction: Plane to detect in.

q_as_bp: If detecting q, should the detector output return BeamParam object instead of just a complex number.

fcam

Camera for detecting the full image of the beam in terms of amplitude and phase.

Syntax:
fcam name node xlim ylim npts f=0 w0_scaled=true
Required:

name: Unique name of the camera.

node: Node at which to detect.

xlim: Limits of the x-dimension of the image. If a single number is given then this will be computed as \(x_{\mathrm{lim}} = [-|x|, +|x|]\).

ylim: Limits of the y-dimension of the image. If a single number is given then this will be computed as \(y_{\mathrm{lim}} = [-|y|, +|y|]\).

npts: Number of points in both axes.

Optional:

f: Field frequency offset from the carrier to detect.

w0_scaled: Flag indicating whether the \(x\), \(y\) axes should be scaled to the waist-size of the beam parameter at node.

fline

Camera for detecting a slice of the beam in terms of amplitude and phase.

Syntax:
fline name node npts x=none y=none xlim=none ylim=none f=0 w0_scaled=true
Required:

name: Unique name of the camera.

node: Node at which to detect.

npts: Number of points in slice axis.

x: The x coordinate of the slice. If ylim is given and this is not specified then defaults to zero. If xlim is given and this is also specified then it is ignored.

y: The y coordinate of the slice. If xlim is given and this is not specified then defaults to zero. If ylim is given and this is also specified then it is ignored.

xlim: The limits of the x-axis scan lines. A single number gives \(x_{\mathrm{axis}} \in [-|x|, +|x|]\), or a tuple of size two gives \(x_{\mathrm{axis}} \in [x[0], x[1]]\).

ylim: The limits of the y-axis scan lines. A single number gives \(y_{\mathrm{axis}} \in [-|y|, +|y|]\), or a tuple of size two gives \(y_{\mathrm{axis}} \in [y[0], y[1]]\).

Optional:

f: Field frequency offset from the carrier to detect.

w0_scaled: Flag indicating whether the \(x\), \(y\) axes should be scaled to the waist-size of the beam parameter at node.

fpx

Camera for detecting a single pixel of the beam in terms of the amplitude and phase.

Syntax:
fpx name node x=0 y=0 f=0 w0_scaled=true
Required:

name: Unique name of the camera.

node: Node at which to detect.

Optional:

x: The x co-ordinate of the pixel.

y: The y co-ordinate of the pixel.

f: Field frequency offset from the carrier to detect.

w0_scaled: Flag indicating whether the \(x\), \(y\) axes should be scaled to the waist-size of the beam parameter at node.

gouy

Detector to measure the accumulated gouy phase across a sequence of spaces.

Syntax:
gouy name *args from_node=none to_node=none via_node=none direction=x
Required:

name: Name of newly created gouy detector.

*args: A sequence of spaces or space names.

from_node: An OpticalNode instance, or a data type which can be converted to an optical node.

to_node: An OpticalNode instance, or a data type which can be converted to an optical node.

via_node: An OpticalNode instance, or a data type which can be converted to an optical node.

direction: Plane to detect in - ‘x’ for tangential, ‘y’ for sagittal. Defaults to ‘x’.

knmd

Direct probe of coupling coefficients at a component.

Syntax:
knmd name comp coupling n1=none m1=none n2=none m2=none
Required:

name: Name of newly created KnmDetector.

comp: A component which can scatter modes.

coupling: Coupling direction string, e.g. “11” for coupling coefficients on reflection from the front surface of a mirror.

n1, m1, n2, m2: int or None: From (n1, m1) and To (n2, m2) mode indices of the coupling coefficient(s) to retrieve. See above for the options.

mmd

Detector for mode mismatch figure-of-merit for a specified node coupling.

Syntax:
mmd name node1 node2 direction=x percent=false
Required:

name: Name of the detector.

node1: Input node or port. If a Port instance is given then this node will be the input node of that port. Note that this node cannot be an output node.

node2: Output node or port. If a Port instance is given then this node will be the output node of that port. Note that this node cannot be an input node.

Optional:

direction: Plane of computation, defaults to “x” for the tangential plane. Changing to “y” will compute the mode mismatch in the sagittal plane.

percent: Whether to calculate the mode mismatch as a fraction (default behaviour) or a percentage.

motion_detector
xd

Represents a motion detector which calculates the amplitude and phase of surface motion.

Syntax:
xd name node
Required:

name: Name of newly created motion detector.

node: Node to read output from.

power_detector_dc
pd

Represents a power detector with no RF demodulations. It calculates the DC laser power at a node in Watts of optical power.

Syntax:
pd name node pdtype=none
Required:

name: Name of newly created power detector.

node: Node to read output from.

power_detector_demod_1
pd1

Represents a power detector with one RF demodulation. It calculates the RF beat power at a node in Watts of optical power.

Syntax:
pd1 name node f phase=none pdtype=none
Required:

name: Name of newly created power detector.

node: Node to read output from.

f: Demodulation frequency in Hz

Optional:

phase: Demodulation phase in degrees

power_detector_demod_2
pd2

Represents a power detector with two RF demodulation. It calculates the RF beat power at a node in Watts of optical power.

Syntax:
pd2 name node f1 phase1 f2 phase2=none pdtype=none
Required:

name: Name of newly created power detector.

node: Node to read output from.

f1: First demodulation frequency in Hz

phase1: First demodulation phase in degrees

f2: Second demodulation frequency in Hz

Optional:

phase2: Second demodulation phase in degrees

quantum_noise_detector
qnoised

Represents a quantum noise detector with no RF demodulations.

Syntax:
qnoised name node nsr=false sources=none exclude_sources=none
Required:

name: Name of newly created quantum noise detector.

node: Node to read output from.

Optional:

nsr: If true, calculate the noise-to-signal ratio rather than the absolute noise value.

sources: If given, only detect quantum noise contributions from these components.

exclude_sources: If given, this will not detect quantum noise contributions from any of these components, even if explicitly specified in sources.

quantum_noise_detector_demod_1
qnoised1

Represents a quantum noise detector with 1 RF demodulation.

Syntax:
qnoised1 name node f phase nsr=false sources=none exclude_sources=none
Required:

name: Name of newly created quantum noise detector.

node: Node to read output from.

f: Demodulation frequency in Hz

phase: Demodulation phase in degrees

Optional:

nsr: If true, calculate the noise-to-signal ratio rather than the absolute noise value.

sources: If given, only detect quantum noise contributions from these components.

quantum_noise_detector_demod_2
qnoised2

Represents a quantum noise detector with 2 RF demodulations.

Syntax:
qnoised2 name node f1 phase1 f2 phase2 nsr=false sources=none exclude_sources=none
Required:

name: Name of newly created quantum noise detector.

node: Node to read output from.

f1: First demodulation frequency in Hz

phase1: First demodulation phase in degrees

f2: Second demodulation frequency in Hz

phase2: Second demodulation phase in degrees

Optional:

nsr: If true, calculate the noise-to-signal ratio rather than the absolute noise value.

sources: If given, only detect quantum noise contributions from these components.

quantum_shot_noise_detector
qshot

Represents a quantum shot noise detector with no RF demodulations.

Syntax:
qshot name node nsr=false
Required:

name: Name of newly created quantum shot noise detector.

node: Node to read output from.

Optional:

nsr: If true, calculate the noise-to-signal ratio rather than the absolute noise value.

quantum_shot_noise_detector_demod_1
qshot1

Represents a quantum shot noise detector with 1 RF demodulation.

Syntax:
qshot1 name node f phase nsr=false
Required:

name: Name of newly created quantum shot noise detector.

node: Node to read output from.

f: Demodulation frequency in Hz

phase: Demodulation phase in degrees

Optional:

nsr: If true, calculate the noise-to-signal ratio rather than the absolute noise value.

quantum_shot_noise_detector_demod_2
qshot2

Represents a quantum shot noise detector with 2 RF demodulations.

Syntax:
qshot2 name node f1 phase1 f2 phase2 nsr=false
Required:

name: Name of newly created quantum shot noise detector.

node: Node to read output from.

f1: First demodulation frequency in Hz

phase1: First demodulation phase in degrees

f2: Second demodulation frequency in Hz

phase2: Second demodulation phase in degrees

Optional:

nsr: If true, calculate the noise-to-signal ratio rather than the absolute noise value.