finesse.detectors.bpdetector.BeamPropertyDetector

Overview

class finesse.detectors.bpdetector.BeamPropertyDetector(name, node, prop, direction='x', q_as_bp=False)[source]

Bases: Detector

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

The valid values for prop are:

  • "w": beam size at node [metres],

  • "w0": waist size as measured at node [metres],

  • "z": distance to the waist from node [metres],

  • "zr": the Rayleigh range [metres],

  • "gouy": the Gouy phase of the beam at node [radians],

  • "div": divergence angle of the beam at node [radians],

  • "rc": radius of curvature of wavefront at node [metres],

  • "s": curvature of wavefront at node [1 / metres],

  • "q": beam parameter at node.

Note

The "gouy" target property here detects the Gouy phase as derived from the beam parameter \(q\) at the specified node, i.e:

\[\psi = \arctan{\left(\frac{\myRe{q}}{\myIm{q}}\right)}.\]

It does not compute any Gouy phase accumulation. Use Gouy to detect the accumulated Gouy phase over a path.

Parameters:
namestr

Name of newly created detector.

nodeOpticalNode

Node to read output from.

propstr or BeamProperty

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

directionstr, optional; default: ‘x’

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

q_as_bpbool, optional; default: False

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

Properties

BeamPropertyDetector.detecting

The property of the beam which is being detected.

BeamPropertyDetector.needs_fields

Flag indicating whether the detector requires light fields (i.e.

BeamPropertyDetector.needs_trace

Flag indicating whether the detector requires beam traces.

BeamPropertyDetector.prop