Esempio n. 1
0
laserfire = laserfire[1]

def setdelay(delay):
    delay = laserfire - delay/pb.s # Convert to SI from PB units
    for d in ddgs:
        d.setDelay('A', 'T0', delay)

setdelay(decelSeq.off+offset + 0.008/decelSeq.fvel*pb.s)
pb.build()
print decelSeq.off+offset
# After this point, files are created and the script is saved.
raw_input('Final Check! Enter when done.')


# Bunching Stages
numbers = yeutil.frange(0,320,32)

# Define output files, together with the tag that labels them.
files = {(n,'SF'):'SF Mode l=%d' %(333-n) for n in numbers}
files.update({(n,'S=1'):'S=1 Mode l=%d' %(333-n) for n in numbers})
o = output.output(files)    
f = yeutil.yeopen('Decel-offtimes')

# Saves a copy of the script to the Data folder
yeutil.saveScript()

# Loop through speeds and measure peak heights
for n in numbers:
    for mode in ['S=1','SF']:
        print mode
        print n
files = {(v,'SF'):'SF Mode vf=%d' %(v) for v in vf}
files.update({(v,'S=1'):'S=1 Mode vf=%d' %(v) for v in vf})
o = output.output(files)    
f = yeutil.yeopen('Decel-offtimes')

# Saves a copy of the script to the Data folder
yeutil.saveScript()

# Loop through speeds and measure peak heights
for v in vf:
    for mode in ['S=1','SF']:
        decelProg(810,v,mode)
        f.write('vi=%d\tvf=%d\tmode=%s\tdelay=%f\n'\
                %(810,v,mode,decelSeq.off+offset))
        full = 8e-3/v
        delay = yeutil.frange(-full,full,full/7)
        delay=full
        for d in delay:
            
            peak = (decelSeq.off+offset + 0.008/decelSeq.fvel)*pb.s
            if mode == 'S=1':
                peak += ((180 - 2*decelSeq.phi)*5e-3/180/decelSeq.fvel*pb.s)
            print peak
            setdelay(peak + d*pb.s)
            for ii in xrange(1):
                o.take(counter,'%.2f' %(d*1e6),(v,mode))
f.close()
    
print 'DONE!\a'

    pb.add(1, [0], [2800 * pb.us])
    pb.add(2, [0], [2800 * pb.us])
    pb.add(3, [0], [2800 * pb.us])
    pb.add(4, [0], [2800 * pb.us])

    pb.build()


pb.build()

#raw_input('Final Check!')
# Saves a copy of the script to the Data folder
yeutil.saveScript()

#delays = yeutil.frange(2760,3240,40) for Argon
delays333 = yeutil.frange(2200, 2450, 25)  # for neon
#delays=linspace(2200,2450,6)
delays333 = linspace(2200, 2400, 6)
#delays=[2350]
delays40 = yeutil.frange(472, 526, 20)
delays40 = linspace(472, 504, 6)

delays = empty((delays333.size + delays40.size), dtype=delays333.dtype)
delays[0::2] = delays40
delays[1::2] = delays333
#voltages = yeutil.frange(2400,4200,600)
voltages = [500, 2000, 4000, 8000]
voltages = [12000]


#task.write(100000*[9000/15000.0*10])
f = yeutil.yeopen('Decel-offtimes')

# Saves a copy of the script to the Data folder
yeutil.saveScript()

# Loop through speeds and measure peak heights
for v in vf:
    for mode in ['S=3', 'SF']:
        print mode
        decelSeq = decelProg(810, v, mode)
        f.write('vi=%d\tvf=%d\tmode=%s\tdelay=%f\n'\
                %(810,v,mode,decelSeq.off+offset))
        f.flush()

        full = 3e-3 / v
        delay = yeutil.frange(-full, full, full / 7)
        delay = yeutil.frange(0, full * 2, full / 7)
        for d in delay:

            dist = 11e-3 - decelSeq.offPhi * 5e-3 / 180
            peak = (decelSeq.off + offset + dist / decelSeq.fvel) * pb.s
            #print peak
            #if mode == 'S=1':
            #    peak += ((180 - 2*decelSeq.phi)*5e-3/180/decelSeq.fvel*pb.s)

            setdelay(peak + d * pb.s)
            for ii in xrange(1):
                o.take(counter, '%.2f' % (d * 1e6), (v, mode))
f.close()

print 'DONE!\a'

def setdelay(delay):
    delay = laserfire - delay / pb.s  # Convert to SI from PB units
    for d in ddgs:
        d.setDelay('A', 'T0', delay)


setdelay(decelSeq.off + offset + 0.008 / decelSeq.fvel * pb.s)
pb.build()
print decelSeq.off + offset
# After this point, files are created and the script is saved.
raw_input('Final Check! Enter when done.')

# Bunching Stages
numbers = yeutil.frange(0, 320, 32)

# Define output files, together with the tag that labels them.
files = {(n, 'SF'): 'SF Mode l=%d' % (333 - n) for n in numbers}
files.update({(n, 'S=1'): 'S=1 Mode l=%d' % (333 - n) for n in numbers})
o = output.output(files)
f = yeutil.yeopen('Decel-offtimes')

# Saves a copy of the script to the Data folder
yeutil.saveScript()

# Loop through speeds and measure peak heights
for n in numbers:
    for mode in ['S=1', 'SF']:
        print mode
        print n