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)
[[0.000000e+00+0.j 6.123234e-17+0.j]
 [6.123234e-17+0.j 1.000000e+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]:
analyzer.SetJonesMatrix(np.array([[1,0], [0,1]], dtype=complex))
print(analyzer.matrix)
[[1.+0.j 0.+0.j]
 [0.+0.j 1.+0.j]]
[4]:
print(analyzer.ElectronicAmplitudeMatrix(0))
[[1.+0.j 0.+0.j]
 [0.+0.j 1.+0.j]]
[5]:
analyzer.SetJonesMatrix(np.array([[1,0], [0,0]], dtype=complex))
print(analyzer.matrix)
[[1.+0.j 0.+0.j]
 [0.+0.j 0.+0.j]]
[6]:
analyzer.Rotate(45)
print(analyzer)
Analyzer
  .id:
  .matrix:
[[0.5+0.j 0.5+0.j]
 [0.5+0.j 0.5+0.j]]