from scipy import *
from pylab import *

# load
darm = load('advirgo1_matrix_dd_run1.out', comments='%')
carm = load('advirgo1_matrix_dd_run2.out', comments='%')
prcl = load('advirgo1_matrix_dd_run3.out', comments='%')
mich = load('advirgo1_matrix_dd_run4.out', comments='%')
srcl = load('advirgo1_matrix_dd_run5.out', comments='%')

f = darm[:,0]

# frequency for the tuning
fr = 10
idx = amin(find(f > fr))

# ASYp_SB1
p = darm[:,13] * exp(1j * pi/180 * darm[:,14])
q = darm[:,15] * exp(1j * pi/180 * darm[:,16])
ASYp_SB1_PHASE = 180/pi * real(arctan(q[idx]/p[idx]))

# ASYp_2M1
p = mich[:,17] * exp(1j * pi/180 * mich[:,18])
q = mich[:,19] * exp(1j * pi/180 * mich[:,20])
ASYp_2M1_PHASE = 180/pi * real(arctan(q[idx]/p[idx]))

# ASYp_3P1
p = prcl[:,21] * exp(1j * pi/180 * prcl[:,22])
q = prcl[:,23] * exp(1j * pi/180 * prcl[:,24])
ASYp_3P1_PHASE = 180/pi * real(arctan(q[idx]/p[idx]))


# SYM_SB1
p = carm[:,1] * exp(1j * pi/180 * carm[:,2])
q = carm[:,3] * exp(1j * pi/180 * carm[:,4])
SYM_SB1_PHASE = 180/pi * real(arctan(q[idx]/p[idx]))

# SYM_2M1
p = srcl[:,5] * exp(1j * pi/180 * srcl[:,6])
q = srcl[:,7] * exp(1j * pi/180 * srcl[:,8])
SYM_2M1_PHASE = 180/pi * real(arctan(q[idx]/p[idx]))

# SYM_3P1
p = prcl[:, 9] * exp(1j * pi/180 * prcl[:,10])
q = prcl[:,11] * exp(1j * pi/180 * prcl[:,12])
SYM_3P1_PHASE = 180/pi * real(arctan(q[idx]/p[idx]))


# POBS_SB1
p = carm[:,25] * exp(1j * pi/180 * carm[:,26])
q = carm[:,27] * exp(1j * pi/180 * carm[:,28])
POBS_SB1_PHASE = 180/pi * real(arctan(q[idx]/p[idx]))

# POBS_2M1
p = srcl[:,29] * exp(1j * pi/180 * srcl[:,30])
q = srcl[:,31] * exp(1j * pi/180 * srcl[:,32])
POBS_2M1_PHASE = 180/pi * real(arctan(q[idx]/p[idx]))

# POBS_3P1
p = mich[:,33] * exp(1j * pi/180 * mich[:,34])
q = mich[:,35] * exp(1j * pi/180 * mich[:,36])
POBS_3P1_PHASE = 180/pi * real(arctan(q[idx]/p[idx]))


# POX_SB1
p = carm[:,61] * exp(1j * pi/180 * carm[:,62])
q = carm[:,63] * exp(1j * pi/180 * carm[:,64])
POX_SB1_PHASE = 180/pi * real(arctan(q[idx]/p[idx]))

# POX_2M1
p = srcl[:,65] * exp(1j * pi/180 * srcl[:,66])
q = srcl[:,67] * exp(1j * pi/180 * srcl[:,68])
POX_2M1_PHASE = 180/pi * real(arctan(q[idx]/p[idx]))

# POX_3P1
p = mich[:,69] * exp(1j * pi/180 * mich[:,70])
q = mich[:,71] * exp(1j * pi/180 * mich[:,72])
POX_3P1_PHASE = 180/pi * real(arctan(q[idx]/p[idx]))



# POY_SB1
p = carm[:,73] * exp(1j * pi/180 * carm[:,74])
q = carm[:,75] * exp(1j * pi/180 * carm[:,76])
POY_SB1_PHASE = 180/pi * real(arctan(q[idx]/p[idx]))

# POY_2M1
p = srcl[:,77] * exp(1j * pi/180 * srcl[:,78])
q = srcl[:,79] * exp(1j * pi/180 * srcl[:,80])
POY_2M1_PHASE = 180/pi * real(arctan(q[idx]/p[idx]))

# POY_3P1
p = mich[:,81] * exp(1j * pi/180 * mich[:,82])
q = mich[:,83] * exp(1j * pi/180 * mich[:,84])
POY_3P1_PHASE = 180/pi * real(arctan(q[idx]/p[idx]))



# XP_SB1
p = darm[:,37] * exp(1j * pi/180 * darm[:,38])
q = darm[:,39] * exp(1j * pi/180 * darm[:,40])
XP_SB1_PHASE = 180/pi * real(arctan(q[idx]/p[idx]))

# XP_2M1
p = srcl[:,41] * exp(1j * pi/180 * srcl[:,43])
q = srcl[:,43] * exp(1j * pi/180 * srcl[:,44])
XP_2M1_PHASE = 180/pi * real(arctan(q[idx]/p[idx]))

# XP_3P1
p = prcl[:,45] * exp(1j * pi/180 * prcl[:,46])
q = prcl[:,47] * exp(1j * pi/180 * prcl[:,48])
XP_3P1_PHASE = 180/pi * real(arctan(q[idx]/p[idx]))



# YP_SB1
p = darm[:,49] * exp(1j * pi/180 * darm[:,50])
q = darm[:,51] * exp(1j * pi/180 * darm[:,52])
YP_SB1_PHASE = 180/pi * real(arctan(q[idx]/p[idx]))

# YP_2M1
p = srcl[:,53] * exp(1j * pi/180 * srcl[:,54])
q = srcl[:,55] * exp(1j * pi/180 * srcl[:,56])
YP_2M1_PHASE = 180/pi * real(arctan(q[idx]/p[idx]))

# YP_3P1
p = prcl[:,57] * exp(1j * pi/180 * prcl[:,58])
q = prcl[:,59] * exp(1j * pi/180 * prcl[:,60])
YP_3P1_PHASE = 180/pi * real(arctan(q[idx]/p[idx]))



print "const ASYp_SB1_PHASE %f" % ASYp_SB1_PHASE
print "const ASYp_2M1_PHASE %f" % ASYp_2M1_PHASE
print "const ASYp_3P1_PHASE %f" % ASYp_3P1_PHASE
                            
print "const SYM_SB1_PHASE  %f" % SYM_SB1_PHASE
print "const SYM_2M1_PHASE  %f" % SYM_2M1_PHASE
print "const SYM_3P1_PHASE  %f" % SYM_3P1_PHASE

print "const POBS_SB1_PHASE %f" % POBS_SB1_PHASE
print "const POBS_2M1_PHASE %f" % POBS_2M1_PHASE
print "const POBS_3P1_PHASE %f" % POBS_3P1_PHASE

print "const POX_SB1_PHASE  %f" % POX_SB1_PHASE
print "const POX_2M1_PHASE  %f" % POX_2M1_PHASE
print "const POX_3P1_PHASE  %f" % POX_3P1_PHASE
                            
print "const POY_SB1_PHASE  %f" % POY_SB1_PHASE
print "const POY_2M1_PHASE  %f" % POY_2M1_PHASE
print "const POY_3P1_PHASE  %f" % POY_3P1_PHASE

print "const XP_SB1_PHASE   %f" % XP_SB1_PHASE
print "const XP_2M1_PHASE   %f" % XP_2M1_PHASE
print "const XP_3P1_PHASE   %f" % XP_3P1_PHASE
                            
print "const YP_SB1_PHASE   %f" % YP_SB1_PHASE
print "const YP_2M1_PHASE   %f" % YP_2M1_PHASE
print "const YP_3P1_PHASE   %f" % YP_3P1_PHASE

print

print "const ASYp_SB1_QUADR %f" % (ASYp_SB1_PHASE + 90)
print "const ASYp_2M1_QUADR %f" % (ASYp_2M1_PHASE + 90)
print "const ASYp_3P1_QUADR %f" % (ASYp_3P1_PHASE + 90)
                            
print "const SYM_SB1_QUADR  %f" % (SYM_SB1_PHASE + 90)
print "const SYM_2M1_QUADR  %f" % (SYM_2M1_PHASE + 90)
print "const SYM_3P1_QUADR  %f" % (SYM_3P1_PHASE + 90)

print "const POBS_SB1_QUADR %f" % (POBS_SB1_PHASE + 90)
print "const POBS_2M1_QUADR %f" % (POBS_2M1_PHASE + 90)
print "const POBS_3P1_QUADR %f" % (POBS_3P1_PHASE + 90)

print "const POX_SB1_QUADR  %f" % (POX_SB1_PHASE + 90)
print "const POX_2M1_QUADR  %f" % (POX_2M1_PHASE + 90)
print "const POX_3P1_QUADR  %f" % (POX_3P1_PHASE + 90)
                            
print "const POY_SB1_QUADR  %f" % (POY_SB1_PHASE + 90)
print "const POY_2M1_QUADR  %f" % (POY_2M1_PHASE + 90)
print "const POY_3P1_QUADR  %f" % (POY_3P1_PHASE + 90)

print "const XP_SB1_QUADR   %f" % (XP_SB1_PHASE + 90)
print "const XP_2M1_QUADR   %f" % (XP_2M1_PHASE + 90)
print "const XP_3P1_QUADR   %f" % (XP_3P1_PHASE + 90)
                            
print "const YP_SB1_QUADR   %f" % (YP_SB1_PHASE + 90)
print "const YP_2M1_QUADR   %f" % (YP_2M1_PHASE + 90)
print "const YP_3P1_QUADR   %f" % (YP_3P1_PHASE + 90)

