Matrix.mul_beam

raytracing.Matrix.mul_beam(self, rightSideBeam)

This function calculates the multiplication of a coherent beam with complex radius of curvature q by an ABCD matrix.

Parameters:

rightSideBeam (object from GaussianBeam class) – including the beam properties

Returns:

outputBeam – The properties of the beam at the output of the system with the defined ABCD matrix

Return type:

object from GaussianBeam class

Examples

>>> from raytracing import *
>>> # M1 is an ABCD matrix of a lens (f=10)
>>> M1= Matrix(A=1,B=0,C=-1/10,D=1,physicalLength=5,label='Lens')
>>> # B is a Gaussian Beam
>>> B=GaussianBeam(q=complex(4.999994928425984,0.0050356572916806525),w=1,R=5,n=1)
>>> print(M1.mul_beam(B)) #print the output properties
Complex radius: (10+0.0201j)
w(z): 1.000, R(z): 10.000, z: 5.000, λ: 632800.0 nm
zo: 0.020, wo: 0.002, wo position: -10.000