finesse.components.general.Connector.ABCD

Connector.ABCD(from_node, to_node, direction='x', symbolic=False, copy=True, retboth=False, allow_reverse=False)[source]
Parameters
from_nodeOpticalNode or Port or str or int

Input node. If a port, or string repr of a port, is given then the input optical node of that port will be used.

to_nodeOpticalNode or Port or str or int

Output node. If a port, or string repr of a port, is given then the output optical node of that port will be used.

directionstr, optional; default: ‘x’

Direction of ABCD matrix computation, default is ‘x’ for tangential plane.

symbolicbool, optional; default: False

Whether to return the symbolic matrix (as given by equations above). Defaults to False such that the numeric matrix is returned.

copybool, optional; default: True

Whether to return a copy of ABCD matrix (or matrices if retboth is true). Defaults to True so that the internal matrix cannot be accidentally altered. Use caution if switching this flag off.

retbothbool, optional; default: False

Whether to return both the symbolic and numeric matrices as a tuple in that order.

allow_reversebool, optional

When True, if the coupling does not exist at the component from_node->to_node but to_node->from_node does exist, it will return the ABCD from that. Otherwise a NoCouplingError will be raised.

Returns
Mnumpy.ndarray

The ABCD matrix of the specified coupling for the mirror. This is symbolic if either of symbolic or retboth flags are True.

M2numpy.ndarray

Only returned if retboth is True, otherwise just M above is returned. This will always be the numeric matrix.

Raises
errValueError

If no coupling exists between from_node and to_node.