Analyzer
[1]:
import nexus as nx
import numpy as np
# set beam along pi polarization via initialization parameters
# those values are the default arguments
analyzer = nx.Analyzer(efficiency = 1, mixing_angle = 0, canting_angle = 90)
print(analyzer.matrix)
[[3.74939946e-33+0.j 6.12323400e-17+0.j]
[6.12323400e-17+0.j 1.00000000e+00+0.j]]
[2]:
analyzer = nx.Analyzer()
analyzer.CircularLeft()
print(analyzer.matrix)
[[0.5+0.j 0. -0.5j]
[0. +0.5j 0.5+0.j ]]
[3]:
# will not work starting from verison 2
analyzer.SetJonesMatrix(np.array([[1,0], [0,1]], dtype=complex))
print(analyzer.matrix)
-------------------------------------------------------------------------------------------
NEXUS WARNING in Analyzer
warning: removed in version 2.0.0
-------------------------------------------------------------------------------------------
[[0.5+0.j 0. -0.5j]
[0. +0.5j 0.5+0.j ]]
[4]:
print(analyzer.ElectronicAmplitudeMatrix(0))
[[0.5+0.j 0. -0.5j]
[0. +0.5j 0.5+0.j ]]
[5]:
# will not work starting from verison 2
analyzer.SetJonesMatrix(np.array([[1,0], [0,0]], dtype=complex))
print(analyzer.matrix)
-------------------------------------------------------------------------------------------
NEXUS WARNING in Analyzer
warning: removed in version 2.0.0
-------------------------------------------------------------------------------------------
[[0.5+0.j 0. -0.5j]
[0. +0.5j 0.5+0.j ]]
[6]:
# will not work starting from verison 2
analyzer.Rotate(45)
print(analyzer)
-------------------------------------------------------------------------------------------
NEXUS WARNING in Analyzer
warning: removed in version 2.0.0
-------------------------------------------------------------------------------------------
Analyzer
.id:
.efficiency: Var.value = 1.0, .min = 0.0, .max = 1.0, .fit: False, .id:
.mixing_angle: Var.value = 45.0, .min = -45.0, .max = 45.0, .fit: False, .id:
.canting_angle: Var.value = 0.0, .min = -90.0, .max = 90.0, .fit: False, .id:
.matrix:
[[0.5+0.j 0. -0.5j]
[0. +0.5j 0.5+0.j ]]