Example #1
0
def sussix(x0,x1,x2):
################################################
    #dim=(4404, 2, 14,14,300,300,300,300)
    #y0=fillorcut(x0, 1100)
    #y1=fillorcut(x1, 1100)
    
    if len(x0) == len(x1):
        y3=fillorcut(concatenate([x0,x1,x2]), 4*len(x0))
        print "calling sussix", len(y3), len(x0)
        z=sussixout(sussix4drivexxNoO32.sussix4drivenoise(y3, len(x0)))
        return z
    else:
        print "Different number of turns in x and y"
        return 0
Example #2
0
def sussixBPM(x0,x1,x2,x3):
################################################
    #dim=(4404, 2, 14,14,300,300,300,300)
    #y0=fillorcut(x0, 1100)
    #y1=fillorcut(x1, 1100)

    y3=fillorcut(concatenate([x0,x1,zeros(len(x2)), zeros(len(x3))]), 4*len(x0))
    z1=sussixout(sussix4drivexxNoO32.sussix4drivenoise(y3, len(x0)))
    y3=fillorcut(concatenate([x2,x3,zeros(len(x2)), zeros(len(x3))]), 4*len(x0))
    z2=sussixout(sussix4drivexxNoO32.sussix4drivenoise(y3, len(x0)))
    ratiox=z1.amplitude[0]/z2.amplitude[0]
    ratioy=z1.amplitude[3]/z2.amplitude[3]
    dphix=(z2.phase[0]-z1.phase[0])*pi/180.
    dphiy=(z2.phase[3]-z1.phase[3])*pi/180.
    if len(x0) == len(x1):
        x2=(x2*ratiox - x0*cos(dphix) )/sin(dphix)
        x3=(x3*ratioy - x1*cos(dphiy) )/sin(dphiy)
        y3=fillorcut(concatenate([x0,x1,x2,x3]), 4*len(x0))
        print "calling sussix", len(y3), len(x0)
        z=sussixout(sussix4drivexxNoO32.sussix4drivenoise(y3, len(x0)))
        return z
    else:
        print "Different number of turns in x and y"
        return 0