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