Beispiel #1
0
def CalcI(Theta_Hwp, PositivePol, Q_IP=0, U_IP=0):

    M_Hwp = Mt.ApplyRotation(Mt.ComMatrix(0, np.pi), Theta_Hwp)
    M_Pol = Mt.Polarizer(PositivePol)
    M_IP = np.zeros((4, 4))
    M_IP[1, 0] = Q_IP
    M_IP[2, 0] = U_IP
    M_IP[0, 0] = 1
    M_IP[1, 1] = 1
    M_IP[2, 2] = 1
    M_IP[3, 3] = 1

    return np.linalg.multi_dot([M_Pol, M_IP, M_Hwp])
Beispiel #2
0
        CalcI(Theta_Hwp_Plus, True, IP_Q, IP_U) -
        CalcI(Theta_Hwp_Plus, False, IP_Q, IP_U))
    X_Min = Round(
        CalcI(Theta_Hwp_Min, True, IP_Q, IP_U) -
        CalcI(Theta_Hwp_Min, False, IP_Q, IP_U))
    Measured_IP_Plus_List.append(X_Plus[0, 0])
    Measured_IP_Min_List.append(X_Min[0, 0])

#print(X_Plus)
#print(X_Min)
#plt.plot(IP_Q_List,Measured_IP_Plus_List)
#plt.plot(IP_Q_List,Measured_IP_Min_List)
#plt.show()

R_HWP = 170 * np.pi / 180
M_HWP_Q1 = Mt.ApplyRotation(Mt.ComMatrix(0, R_HWP), 0 * np.pi / 180)
M_HWP_Q2 = Mt.ApplyRotation(Mt.ComMatrix(0, R_HWP), 45 * np.pi / 180)
M_HWP_U1 = Mt.ApplyRotation(Mt.ComMatrix(0, R_HWP), 22.5 * np.pi / 180)
M_HWP_U2 = Mt.ApplyRotation(Mt.ComMatrix(0, R_HWP), 67.5 * np.pi / 180)

M_HWP_X1 = Mt.ApplyRotation(Mt.ComMatrix(0, R_HWP), 11.25 * np.pi / 180)
M_HWP_X2 = Mt.ApplyRotation(Mt.ComMatrix(0, R_HWP), 56.25 * np.pi / 180)
M_HWP_Y1 = Mt.ApplyRotation(Mt.ComMatrix(0, R_HWP), 33.75 * np.pi / 180)
M_HWP_Y2 = Mt.ApplyRotation(Mt.ComMatrix(0, R_HWP), 78.75 * np.pi / 180)

M_Der1 = Mt.ApplyRotation(Mt.ComMatrix(0, 90 * np.pi / 180), 40 * np.pi / 180)
M_Der2 = Mt.ApplyRotation(Mt.ComMatrix(0, 90 * np.pi / 180), 140 * np.pi / 180)

M_HWP_Q = M_HWP_Q1 - M_HWP_Q2
M_HWP_U = M_HWP_U1 - M_HWP_U2
M_HWP_X = M_HWP_X1 - M_HWP_X2