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().