finesse.components.surface module

class finesse.components.surface.Surface(*args, **kwargs)[source]

Bases: Connector, MapAndKNMOptic

Abstract optical surface interface providing an object with common properties for finesse.components.mirror.Mirror and finesse.components.beamsplitter.Beamsplitter to inherit from.

Parameters

namestr

Name of newly created surface.

Rfloat, optional

Reflectivity of the surface.

Tfloat, optional

Transmissivity of the surface.

Lfloat, optional

Loss of the surface.

phifloat, optional

Microscopic tuning of the surface (in degrees).

Rcfloat, optional

Radius of curvature (in metres); defaults to numpy.inf to indicate a planar surface. An astigmatic surface can be set with Rc = (Rcx, Rcy).

property L

L : float, optional Loss of the surface.

property R

R : float, optional Reflectivity of the surface.

property Rc[source]

The radius of curvature of the mirror in metres, for both the tangential and sagittal planes.

Getter:

Returns values of both planes’ radii of curvature as a numpy.ndarray where the first element is the tangential plane RoC and the second element is the sagittal plane RoC.

Setter:

Sets the radius of curvature.

Examples

The following sets the radii of curvature of an object m, which is a sub-instance of Surface, in both directions to 2.5 m:

>>> m.Rc = 2.5

Whilst this would set the radius of curvature in the x-direction (tangential plane) to 2.5 m and the radius of curvature in the y-direction (sagittal plane) to 2.7 m:

>>> m.Rc = (2.5, 2.7)
property Rcx

Radius of curvature (x)

property Rcy

Radius of curvature (y)

property T

T : float, optional Transmissivity of the surface.

actuate_roc(dioptres, direction=('x', 'y'))[source]

Actuate on the radius of curvature (RoC) of the surface with a specified dioptre shift.

Sets the RoC to a new value, \(R_2\), via,

\[R_2 = \frac{2}{d + \frac{2}{R_1}},\]

where \(R_1\) is the current RoC and \(d\) is the dioptre shift (i.e. the dioptre argument).

By default, both planes of curvature are shifted. To shift, e.g., only the tangential plane, specify direction="x".

Parameters

dioptresfloat

Shift in surface RoC in dioptres.

directiontuple or str, optional; default: (“x”, “y”)

RoC plane to shift, defaults to both tangential and sagittal.

check_rtl()[source]
property phi

phi : float, optional Microscopic tuning of the surface (in degrees).

set_RTL(R=None, T=None, L=None)[source]

Set the values for the R, T and L properties of the surface.

One of the following combination must be specified:

  • R and T or,

  • R and L or,

  • T and L or,

  • R and T and L

In the first three cases, the remaining parameter is set via the condition,

\[R + T + L = 1 \]

Parameters

Rscalar

Value of the reflectivity to set.

Tscalar

Value of the transmissivity to set.

Lscalar

Value of the loss to set.

Raises

ValueError

If a combination other than one of the above is specified.

Or if R, T and L are all given but they sum to anything other than one.

property xbeta

Misalignment (x)

property ybeta

Misalignment (y)