finesse.detectors.compute package
Submodules
finesse.detectors.compute.amplitude module
- class finesse.detectors.compute.amplitude.ADWorkspace(owner, sim)
Bases:
MaskedDetectorWorkspace- freq_idx
freq_idx: ‘Py_ssize_t’
- hom_idx
hom_idx: ‘Py_ssize_t’
- is_f_changing
is_f_changing: ‘bool’
- node_id
node_id: ‘Py_ssize_t’
- ntype
ntype: object
- scaling
scaling: ‘double’
- solver
solver: finesse.simulations.homsolver.HOMSolver
- class finesse.detectors.compute.amplitude.KnmDetectorWorkspace(owner, sim)
Bases:
DetectorWorkspace- from_idx
from_idx: ‘Py_ssize_t’
- knm_matrix
knm_matrix: finesse.knm.matrix.KnmMatrix
- to_idx
to_idx: ‘Py_ssize_t’
finesse.detectors.compute.camera module
Functions for computing images of a beam at arbitrary points in the interferometer configuration.
Camera Equations
Each function in this sub-module has two modes - single frequency (mimicking amplitude detectors at each coordinate) and multi frequency (mimicking CCD cameras).
Single-frequency mode
If the argument f (i.e. the field frequency to probe) is specified then this function computes the amplitude and phase of the light field at this given frequency, for the specified x and y coordinate. The light field at frequency \(\omega_{\mathrm{i}}\) is given by a complex number (\(z\)) and is calculated as follows:
Multi-frequency mode
Otherwise, if f is not specified, then this function acts like a CCD camera for the given pixel. It plots the beam intensity as a function of the x and y coordinates given. The output is a real number computed as:
- class finesse.detectors.compute.camera.CCDLineWorkspace(owner, sim, out)
Bases:
CameraWorkspace
- class finesse.detectors.compute.camera.CCDPixelWorkspace
Bases:
CameraWorkspace
- class finesse.detectors.compute.camera.CCDWorkspace(owner, sim, out)
Bases:
CameraWorkspace
- class finesse.detectors.compute.camera.CameraWorkspace(owner, sim, values=None)
Bases:
MaskedDetectorWorkspaceWorkspace class for cameras.
- cache(self, bool initial=False)
Cache, or re-cache, the u_nm variables and Gouy phase data.
- class finesse.detectors.compute.camera.ComplexCameraValues
Bases:
BaseCValues- f
f: ‘double’
- class finesse.detectors.compute.camera.ComplexCameraWorkspace(owner, sim)
Bases:
CameraWorkspace
- class finesse.detectors.compute.camera.FieldCameraWorkspace(owner, sim, out)
Bases:
ComplexCameraWorkspace
- class finesse.detectors.compute.camera.FieldLineWorkspace(owner, sim, out)
Bases:
ComplexCameraWorkspace
- class finesse.detectors.compute.camera.FieldPixelWorkspace
Bases:
ComplexCameraWorkspace
finesse.detectors.compute.gaussian module
- class finesse.detectors.compute.gaussian.AstigmatismDetectorWorkspace(owner, sim)
Bases:
DetectorWorkspaceWorkspace for node astigmatism calculations used by
AstigmatismDetector.- initial
- class finesse.detectors.compute.gaussian.BPDetectorWorkspace(owner, sim)
Bases:
DetectorWorkspaceWorkspace for beam property calculations used by
BeamPropertyDetector.- detecting
- initial
- is_changing
- q_as_bp
q_as_bp: ‘bool’
- class finesse.detectors.compute.gaussian.BeamProperty(*values)
Bases:
IntFlag- DEFOCUS = 8
- DISTANCE = 2
- DIVERGENCE = 5
- GOUY = 4
- Q = 7
- RAYLEIGH = 3
- ROC = 6
- SIZE = 0
- WAISTSIZE = 1
- class finesse.detectors.compute.gaussian.CPDetectorABCDWorkspace(owner, sim)
Bases:
DetectorWorkspaceWorkspace for obtaining cavity round-trip ABCD matrix, used by
CavityPropertyDetector.
- class finesse.detectors.compute.gaussian.CPDetectorModeWorkspace(owner, sim)
Bases:
DetectorWorkspaceWorkspace for cavity property calculations, used by
CavityPropertyDetector, for properties which rely on the cavity eigenmode.- detecting
- initial
- is_changing
- q_as_bp
q_as_bp: ‘bool’
- class finesse.detectors.compute.gaussian.CPDetectorWorkspace(owner, sim)
Bases:
DetectorWorkspaceWorkspace for cavity property calculations, used by
CavityPropertyDetector, for scalar properties which do not rely on the cavity eigenmode.- detecting
- class finesse.detectors.compute.gaussian.CavityProperty(*values)
Bases:
IntFlag- ABCD = 7
- EIGENMODE = 12
- FINESSE = 2
- FSR = 3
- FWHM = 4
- LENGTH = 0
- LOSS = 1
- MODESEP = 10
- POLE = 5
- RESOLUTION = 11
- RTGOUY = 9
- SOURCE_DEFOCUS = 19
- SOURCE_DISTANCE = 15
- SOURCE_DIVERGENCE = 17
- SOURCE_RAYLEIGH = 16
- SOURCE_ROC = 18
- SOURCE_SIZE = 13
- SOURCE_WAISTSIZE = 14
- STABILITY = 8
- TAU = 6
- class finesse.detectors.compute.gaussian.GouyDetectorWorkspace(owner, sim)
Bases:
DetectorWorkspaceWorkspace for accumulated Gouy phase calculations used by
Gouy.
- class finesse.detectors.compute.gaussian.ModeMismatchDetectorWorkspace(owner, sim)
Bases:
DetectorWorkspaceWorkspace for mode mismatch (at a node coupling) calculations used by
ModeMismatchDetector.- initial
- is_changing
- pscale
finesse.detectors.compute.power module
- class finesse.detectors.compute.power.PD0Workspace(owner, BaseSimulation sim, values=None, oinfo=None, *, dict pdtype: dict = None)
Bases:
MaskedDetectorWorkspace- K
- dc_node_id
- rhs_index
- class finesse.detectors.compute.power.PD1Values
Bases:
BaseCValues- f
f: ‘double’
- phase
phase: ‘double’
- class finesse.detectors.compute.power.PD1Workspace(owner, sim, frequency: Parameter, phase: Parameter, phase_offset=0, *, oinfo=None, pdtype=None)
Bases:
MaskedDetectorWorkspace- Aij
- K
- ac_node_id
- cvalues
- dc_node_id
- homs
- is_audio_mixing
- is_f_changing
- is_phase_changing
- is_segmented
- output_real
- update_beats(self)
Requires full initialisation and self.update_parameter_values calling before using
- class finesse.detectors.compute.power.PD2Values
Bases:
BaseCValues- f1
f1: ‘double’
- f2
f2: ‘double’
- phase1
phase1: ‘double’
- phase2
phase2: ‘double’
- class finesse.detectors.compute.power.PD2Workspace(owner, sim, f1, phase1, f2, phase2, phase1_offset=0, *, oinfo=None, pdtype=None)
Bases:
MaskedDetectorWorkspace- K
- ac_node_id
- cvalues
- dc_node_id
- homs
- is_audio_mixing
- is_f1_changing
- is_f2_changing
- is_phase1_changing
- is_phase2_changing
- is_segmented
- output_real
- z1
- z2
finesse.detectors.compute.quantum module
- class finesse.detectors.compute.quantum.QND0Workspace(owner, sim, nsr, sources, exclude_sources)
Bases:
DetectorWorkspace- fill_selection_vector(self)
- get_source_selection_vector(self)
- set_covariance_matrix(self, double complex[::1] v, str name)
- class finesse.detectors.compute.quantum.QND1Values
Bases:
BaseCValues- f
f: ‘double’
- phase
phase: ‘double’
- class finesse.detectors.compute.quantum.QNDNValues
Bases:
BaseCValues- f1
f1: ‘double’
- f2
f2: ‘double’
- f3
f3: ‘double’
- phase1
phase1: ‘double’
- phase2
phase2: ‘double’
- phase3
phase3: ‘double’
- class finesse.detectors.compute.quantum.QNDNWorkspace(owner, sim, carrier_demods, nsr, sources, exclude_sources)
Bases:
DetectorWorkspace- fill_selection_vector(self)
- get_source_selection_vector(self)
- set_covariance_matrix(self, double complex[::1] v, str name)
- class finesse.detectors.compute.quantum.QShot0Workspace(owner, sim, nsr, output_info=None, *)
Bases:
DetectorWorkspace
- class finesse.detectors.compute.quantum.QShotNWorkspace(owner, sim, list carrier_demods: list, nsr, output_info=None, *)
Bases:
DetectorWorkspaceAn N RF demodulation quantum shot noise detector workspace.
Parameters
- ownerobject
The model element that owns this workspace
- simobject
The current Simulation object that this workspace will use to generate its outputs
- carrier_demodslist
A list of (frequency, phase) pairs. The frequency and phase object should be
- nsrbool
If True, the signal transfer function is computed and then used to compute the noise in equivalent units of the singal being injected at runtime.
- class finesse.detectors.compute.quantum.QuantumNoiseDetectorWorkspace(owner, sim)
Bases:
DetectorWorkspace- fill_selection_vector(self)
- set_covariance_matrix(self, double complex[::1] v, str name)