System4f.transferMatrix

raytracing.System4f.transferMatrix(self, upTo=inf)

The transfer matrix between front edge and distance=upTo

Parameters:

upTo (float) – The axial distance from the front edge of the first element (default=+Inf)

Returns:

transferMatrix – The transfer matrix from the front edge of the first element to the distance upTo

Return type:

object of matrix class

Examples

>>> from raytracing import *
>>> # define the elements in the optical path
>>> Spc1=Space(d=10,label='Space1') # space d=10
>>> Len=Lens(f=10,label='Lens') # lens f=10
>>> Spc2=Space(d=10,label='Space2') # space d=10
>>> matGrp=MatrixGroup(elements=[Spc1,Len,Spc2]) # make a matrix group of the created elements
>>> print(matGrp.transferMatrix(upTo=15)) # print to see the transfer matrix in distance=15
|  0.500   10.000 |
|                 |
| -0.100    0.000 |
f=10.000

Notes

If “upTo” falls inside an element of finite length, then it will request from that element a “partial” transfer matrix for a fraction of the length. It is up to the Matrix() or MatrixGroup() to define such partial transfer matrix when possible. Quite simply, Space() defines a partial matrix as Space(d=upTo).

When using this transfer matrix, any information related to rays that have been blocked is lost: apertures are not part of the ray formalism. To find out if a ray has been blocked, you must use trace().