from scipy import *
from pylab import *

# load
darm = load('advirgo1_matrix_sd_run1.out', comments='%')
carm = load('advirgo1_matrix_sd_run2.out', comments='%')
prcl = load('advirgo1_matrix_sd_run3.out', comments='%')
mich = load('advirgo1_matrix_sd_run4.out', comments='%')
srcl = load('advirgo1_matrix_sd_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_SB2
p = srcl[:,17] * exp(1j * pi/180 * srcl[:,18])
q = srcl[:,19] * exp(1j * pi/180 * srcl[:,20])
ASYp_SB2_PHASE = 180/pi * real(arctan(q[idx]/p[idx]))

# ASYp_SB3
p = darm[:,21] * exp(1j * pi/180 * darm[:,22])
q = darm[:,23] * exp(1j * pi/180 * darm[:,24])
ASYp_SB3_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_SB2
p = srcl[:,5] * exp(1j * pi/180 * srcl[:,6])
q = srcl[:,7] * exp(1j * pi/180 * srcl[:,8])
SYM_SB2_PHASE = 180/pi * real(arctan(q[idx]/p[idx]))

# SYM_SB3
p = prcl[:, 9] * exp(1j * pi/180 * prcl[:,10])
q = prcl[:,11] * exp(1j * pi/180 * prcl[:,12])
SYM_SB3_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_SB2
p = srcl[:,29] * exp(1j * pi/180 * srcl[:,30])
q = srcl[:,31] * exp(1j * pi/180 * srcl[:,32])
POBS_SB2_PHASE = 180/pi * real(arctan(q[idx]/p[idx]))

# POBS_SB3
p = prcl[:,33] * exp(1j * pi/180 * prcl[:,34])
q = prcl[:,35] * exp(1j * pi/180 * prcl[:,36])
POBS_SB3_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_SB2
p = srcl[:,65] * exp(1j * pi/180 * srcl[:,66])
q = srcl[:,67] * exp(1j * pi/180 * srcl[:,68])
POX_SB2_PHASE = 180/pi * real(arctan(q[idx]/p[idx]))

# POX_SB3
p = prcl[:,69] * exp(1j * pi/180 * prcl[:,70])
q = prcl[:,71] * exp(1j * pi/180 * prcl[:,72])
POX_SB3_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_SB2
p = srcl[:,77] * exp(1j * pi/180 * srcl[:,78])
q = srcl[:,79] * exp(1j * pi/180 * srcl[:,80])
POY_SB2_PHASE = 180/pi * real(arctan(q[idx]/p[idx]))

# POY_SB3
p = prcl[:,81] * exp(1j * pi/180 * prcl[:,82])
q = prcl[:,83] * exp(1j * pi/180 * prcl[:,84])
POY_SB3_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_SB2
p = srcl[:,41] * exp(1j * pi/180 * srcl[:,43])
q = srcl[:,43] * exp(1j * pi/180 * srcl[:,44])
XP_SB2_PHASE = 180/pi * real(arctan(q[idx]/p[idx]))

# XP_SB3
p = darm[:,45] * exp(1j * pi/180 * darm[:,46])
q = darm[:,47] * exp(1j * pi/180 * darm[:,48])
XP_SB3_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_SB2
p = srcl[:,53] * exp(1j * pi/180 * srcl[:,54])
q = srcl[:,55] * exp(1j * pi/180 * srcl[:,56])
YP_SB2_PHASE = 180/pi * real(arctan(q[idx]/p[idx]))

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



print "const ASYp_SB1_PHASE %f" % ASYp_SB1_PHASE
print "const ASYp_SB2_PHASE %f" % ASYp_SB2_PHASE
print "const ASYp_SB3_PHASE %f" % ASYp_SB3_PHASE
                            
print "const SYM_SB1_PHASE  %f" % SYM_SB1_PHASE
print "const SYM_SB2_PHASE  %f" % SYM_SB2_PHASE
print "const SYM_SB3_PHASE  %f" % SYM_SB3_PHASE

print "const POBS_SB1_PHASE %f" % POBS_SB1_PHASE
print "const POBS_SB2_PHASE %f" % POBS_SB2_PHASE
print "const POBS_SB3_PHASE %f" % POBS_SB3_PHASE

print "const POX_SB1_PHASE  %f" % POX_SB1_PHASE
print "const POX_SB2_PHASE  %f" % POX_SB2_PHASE
print "const POX_SB3_PHASE  %f" % POX_SB3_PHASE
                            
print "const POY_SB1_PHASE  %f" % POY_SB1_PHASE
print "const POY_SB2_PHASE  %f" % POY_SB2_PHASE
print "const POY_SB3_PHASE  %f" % POY_SB3_PHASE

print "const XP_SB1_PHASE   %f" % XP_SB1_PHASE
print "const XP_SB2_PHASE   %f" % XP_SB2_PHASE
print "const XP_SB3_PHASE   %f" % XP_SB3_PHASE
                            
print "const YP_SB1_PHASE   %f" % YP_SB1_PHASE
print "const YP_SB2_PHASE   %f" % YP_SB2_PHASE
print "const YP_SB3_PHASE   %f" % YP_SB3_PHASE

print

print "const ASYp_SB1_QUADR %f" % (ASYp_SB1_PHASE + 90)
print "const ASYp_SB2_QUADR %f" % (ASYp_SB2_PHASE + 90)
print "const ASYp_SB3_QUADR %f" % (ASYp_SB3_PHASE + 90)
                            
print "const SYM_SB1_QUADR  %f" % (SYM_SB1_PHASE + 90)
print "const SYM_SB2_QUADR  %f" % (SYM_SB2_PHASE + 90)
print "const SYM_SB3_QUADR  %f" % (SYM_SB3_PHASE + 90)

print "const POBS_SB1_QUADR %f" % (POBS_SB1_PHASE + 90)
print "const POBS_SB2_QUADR %f" % (POBS_SB2_PHASE + 90)
print "const POBS_SB3_QUADR %f" % (POBS_SB3_PHASE + 90)

print "const POX_SB1_QUADR  %f" % (POX_SB1_PHASE + 90)
print "const POX_SB2_QUADR  %f" % (POX_SB2_PHASE + 90)
print "const POX_SB3_QUADR  %f" % (POX_SB3_PHASE + 90)
                            
print "const POY_SB1_QUADR  %f" % (POY_SB1_PHASE + 90)
print "const POY_SB2_QUADR  %f" % (POY_SB2_PHASE + 90)
print "const POY_SB3_QUADR  %f" % (POY_SB3_PHASE + 90)

print "const XP_SB1_QUADR   %f" % (XP_SB1_PHASE + 90)
print "const XP_SB2_QUADR   %f" % (XP_SB2_PHASE + 90)
print "const XP_SB3_QUADR   %f" % (XP_SB3_PHASE + 90)
                            
print "const YP_SB1_QUADR   %f" % (YP_SB1_PHASE + 90)
print "const YP_SB2_QUADR   %f" % (YP_SB2_PHASE + 90)
print "const YP_SB3_QUADR   %f" % (YP_SB3_PHASE + 90)

