本文整理汇总了Python中wfm.wave函数的典型用法代码示例。如果您正苦于以下问题:Python wave函数的具体用法?Python wave怎么用?Python wave使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了wave函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: uvRamps
def uvRamps(motpow, bfield, ENDCNC):
ss=f('CNC','cncstepsize')
uvdt = f('UV','dt')
#---Ramp down red power
motpow.linear( 0.002, uvdt) #0.002 is max attenuation before RF switch
#---Bfield ramp
dtload = f('UV','dtload_bfield')
dtcnc = f('UV','dtcnc_bfield')
uvhold = f('UV','uvhold')
#OBSOLETE
#bfield.linear( f('UV','uvbfield'), uvdt)
#bfield.appendhold(dtload)
#bfield.linear( f('UV','uvbfieldf'), dtcnc)
bfield.linear( uvsec.uvbfield, uvsec.dt)
bfield.appendhold( uvsec.dtload_bfield)
bfield.linear( uvsec.uvbfieldf, uvsec.dtcnc_bfield)
#OBSOLETE
#bfield.appendhold(uvhold)
ENDUVMOT = max( motpow.dt(), bfield.dt() )
#---UVPOW ramps
#OBSOLETE
#dtload_uvpow = f('UV','dtload_uvpow')
#dtcnc_uvpow = f('UV','dtcnc_uvpow')
#
uvpow= wfm.wave('uvpow', f('UV','uvpow'),ss)
uvpow2= wfm.wave('uvpow2',f('UV','uvpow2'),ss)
#
uvpow.extend( ENDCNC + uvsec.dt + uvsec.dtload_uvpow)
uvpow2.extend(ENDCNC + uvsec.dt + uvsec.dtload_uvpow)
#
uvpow.linear( f('UV','uvpowf'), uvsec.dtcnc_uvpow)
uvpow2.linear( f('UV','uvpow2f') , uvsec.dtcnc_uvpow)
#---ENDUVMOT is defined as the point where the longest of bfield
#---or uvpow ramps ends
maxramp = max( motpow.dt(), bfield.dt(), uvpow.dt(), uvpow2.dt() )
ENDUVMOT = maxramp + uvhold
bfield.extend(ENDUVMOT)
uvpow.extend(ENDUVMOT)
uvpow2.extend(ENDUVMOT)
motpow.extend(ENDUVMOT)
bfield.extend(ENDUVMOT)
uvpow.extend(ENDUVMOT)
uvpow2.extend(ENDUVMOT)
return uvpow2, uvpow, motpow, bfield, ENDUVMOT
示例2: uvRamps
def uvRamps(motpow, bfield, ENDCNC):
ss=f('CNC','cncstepsize')
#---Put pulse on uvfppiezo
uvfppiezo= wfm.wave('uvfppiezo',0.0,ss)
uvfppiezo.extend( ENDCNC)
uvfppiezo.linear( f('UV','pulsedet'), 0.0)
uvfppiezo.appendhold( f('UV','dtpulse'))
uvfppiezo.linear( 0.0, f('UV','dtpulseramp'))
#uvfppiezo.dither( f('UV','dtpulse'), 3)
#uvfppiezo.lineardither( 0.0, f('UV','dtpulseramp'),3)
uvdt = f('UV','dt')
#---Ramp down red power
motpow.linear( 0.002, uvdt) #0.002 is max attenuation before RF switch
#---Bfield ramp
dtload = f('UV','dtload_bfield')
dtcnc = f('UV','dtcnc_bfield')
uvhold = f('UV','uvhold')
bfield.linear( f('UV','uvbfield'), uvdt)
bfield.appendhold(dtload)
bfield.linear( f('UV','uvbfieldf'), dtcnc)
#bfield.appendhold(uvhold)
ENDUVMOT = max( motpow.dt(), bfield.dt() )
#---UVPOW ramps
dtload_uvpow = f('UV','dtload_uvpow')
dtcnc_uvpow = f('UV','dtcnc_uvpow')
#
uvpow= wfm.wave('uvpow', f('UV','uvpow'),ss)
uvpow2= wfm.wave('uvpow2',f('UV','uvpow2'),ss)
#
uvpow.extend(ENDCNC+uvdt+dtload)
uvpow2.extend(ENDCNC+uvdt+dtload)
#
uvpow.linear( f('UV','uvpowf'), dtcnc_uvpow)
uvpow2.linear( f('UV','uvpow2f') , dtcnc_uvpow)
#---ENDUVMOT is defined as the point where the longest of bfield
#---or uvpow ramps ends
maxramp = max( motpow.dt(), bfield.dt(), uvpow.dt(), uvpow2.dt() )
ENDUVMOT = maxramp + uvhold
bfield.extend(ENDUVMOT)
uvpow.extend(ENDUVMOT)
uvpow2.extend(ENDUVMOT)
uvfppiezo.extend(ENDUVMOT)
motpow.extend(ENDUVMOT)
bfield.extend(ENDUVMOT)
uvpow.extend(ENDUVMOT)
uvpow2.extend(ENDUVMOT)
return uvfppiezo, uvpow2, uvpow, motpow, bfield, ENDUVMOT
示例3: odt_lightshift_evap
def odt_lightshift_evap(image):
evap_ss = f('EVAP','evapss')
p0 = f('ODT','odtpow')
p1 = f('EVAP','p1')
t1 = f('EVAP','t1')
tau = f('EVAP','tau')
beta = f('EVAP','beta')
offset = f('EVAP','offset')
t2 = f('EVAP','t2')
tau2 = f('EVAP','tau2')
odtpow2 = odt_wave('odtpow', p0, evap_ss)
#odtpow.Evap(p0, p1, t1, tau, beta, image)
#odtpow.Evap2(p0, p1, t1, tau, beta, offset, t2, tau2, image)
ficpow = odtpow2.Evap3(p0, p1, t1, tau, beta, offset, t2, tau2, image)
uvdet = wfm.wave('uvdet', None , evap_ss, volt=3.744)
uvdet.linear( f('UVLS','uvdet'), 100 )
maxDT = odtpow2.dt()
uvdet.extend(maxDT)
return odtpow2, uvdet, maxDT
示例4: odt_dbz
def odt_dbz(odtpow0):
dbz_ss = f('DBZ','dbz_ss')
odtpow = odt_wave('odtpow', None, dbz_ss, volt=odtpow0)
bfield = wfm.wave('bfield', f('FESHBACH','bias'), dbz_ss)
odtpow.linear( f('DBZ','cpow'), f('DBZ','cdt') )
odtpow.appendhold( f('DBZ','waitdt'))
bfield.extend(odtpow.dt())
#Field goes to zero
bfield.linear( 0.0, f('DBZ','bdt') )
bfield.appendhold( f('DBZ','waitdt2'))
#Field TTL goes off here
OFFDT1 = bfield.dt()
bfield.appendhold( f('DBZ','switchdt'))
#Field switches from feshbach to gradient here
bfield.appendhold( f('DBZ','switchdt'))
#Field TTL goes back on here
bfield.appendhold( f('DBZ','switchdt'))
bfield.linear( f('DBZ', 'dbz'), f('DBZ','rampdt'))
bfield.appendhold( f('DBZ','holddt'))
#Field goes off here (atoms should be oscillating in the trap)
bfield.linear( 0.0, f('DBZ','dbz_ss'))
odtpow.extend( bfield.dt() )
return odtpow, bfield, OFFDT1
示例5: odt_lightshift
def odt_lightshift(odtpow0):
ls_ss = f('UVLS','ls_ss')
odtpow = odt_wave('odtpow', None, ls_ss, volt=odtpow0)
bfield = wfm.wave('bfield', f('FESHBACH','bias'), ls_ss)
uv1freq = wfm.wave('uv1freq', None , ls_ss, volt=7.600)
uvpow2 = wfm.wave('uvpow2', f('UV','uvpow2'), ls_ss)
uv1freq.linear( None, 10.0, volt=f('UVLS','uvfreq'))
uvpow2.linear( f('UVLS','lspow2'), 10.0)
odtpow.linear( f('UVLS','cpow'), f('UVLS','cdt') )
odtpow.appendhold( f('UVLS','waitdt'))
bfield.extend(odtpow.dt())
bfield.linear( f('UVLS','bpulse'), f('UVLS','bdt') )
bfield.appendhold( f('UVLS','waitdt2'))
bfield.appendhold( f('UVLS','waitdt3'))
ENDC=bfield.dt()
#~ bfield.linear( f('UVLS','bpulse') , f('UVLS','bdt') )
#~ bfield.appendhold(f('UVLS','waitdt'))
#~ odtpow.extend(bfield.dt())
#~ odtpow.linear( f('UVLS','cpow'), f('UVLS','cdt') )
#~ odtpow.appendhold( f('UVLS', 'waitdt2'))
#~ ENDC = odtpow.dt()
#~ bfield.extend( odtpow.dt() )
odtpow.extend( bfield.dt() )
bfield.appendhold( f('UVLS','dtpulse'))
bfield.linear( f('ZEROCROSS','zcbias') , f('UVLS','hframpdt'))
#Change f('FESHBACH','bias') -> f('ZEROCROSS','zcbias') 110911 by Ernie
#bfield.linear( 0.0, f('UVLS','hframpdt'))
totalDT = bfield.dt()
odtpow.extend(totalDT)
uv1freq.extend(totalDT)
uvpow2.extend(totalDT)
return odtpow, bfield, uv1freq, uvpow2, ENDC
示例6: odt_adiabaticDown
def odt_adiabaticDown(ss, STARTDELAY):
maxpow = f("ODT", "odtpow")
tau = f("ODT", "tau")
dt = 2 * tau
odtpow = wfm.wave("odtpow", cnv("odtpow", maxpow), ss)
odtpow.extend(STARTDELAY + f("ODT", "intrap"))
odtpow.AdiabaticRampDown(dt, tau, "odtpow")
return odtpow
示例7: odt_evap_field_free
def odt_evap_field_free(toENDBFIELD, scale =1.0):
odtfree = EVAP.free - EVAP.buffer - toENDBFIELD
#---Setup ODT ramp
odtpow = odt_wave('odtpow', ODT.odtpow, EVAP.evapss)
odtpow.appendhold( odtfree )
#image = DIMPLE.image if DIMPLE.image <= EVAP.image else EVAP.image
image = DIMPLE.image
### SELECT EVAP TRAJECTORY HERE###
finalcpow = odtpow.Evap8(\
ODT.odtpow, \
EVAP.p1, \
EVAP.t1,
EVAP.tau, \
EVAP.beta, \
EVAP.offset, \
EVAP.t2, \
EVAP.tau2, \
EVAP.smoothdt, \
image, \
EVAP.scale \
)
#Here, go ahead and save the finalcpow to the report
gen.save_to_report('EVAP','finalcpow', finalcpow)
#---Setup field ramp and shunt ramp
field_ramp_time = EVAP.fieldrampt0*scale
field_ramp_dt = EVAP.fieldrampdt*scale
print '\t...Making new Evap_field'
bfield = wfm.wave('bfield', FB.bias, EVAP.evapss)
bfield.extend(field_ramp_time + odtfree)
bfield.linear(EVAP.fieldrampfinal,field_ramp_dt)
if((field_ramp_time+field_ramp_dt)<image*scale):
bfield.extend(image*scale)
else:
bfield.chop(image*scale)
#---Setup ipganalog ramp
ipganalog = ipg_wave('ipganalog', 10., EVAP.evapss)
if ODT.use_servo == 0:
ipganalog.extend( odtpow.dt() )
elif ODT.use_servo == 1:
if ODT.ipgfollow == 1:
ipganalog.follow( odtpow ,ODT.ipgmin)
else:
ipganalog.extend( odtpow.dt() )
maxDT = odtpow.dt()
return bfield, odtpow, maxDT, finalcpow, ipganalog
示例8: odt_modulationRamps
def odt_modulationRamps(ss, STARTDELAY):
maxpow = f("ODT", "odtpow")
moddt = f("TRAPFREQ", "moddt")
modfreq = f("TRAPFREQ", "modfreq")
moddepth = f("TRAPFREQ", "moddepth")
odtpow = wfm.wave("odtpow", cnv("odtpow", maxpow), ss)
odtpow.extend(STARTDELAY + f("TRAPFREQ", "intrapdt"))
odtpow.SineMod(maxpow, moddepth, moddt, modfreq, "odtpow")
odtpow.linear(cnv("odtpow", maxpow), ss)
return odtpow
示例9: odt_flicker
def odt_flicker(odtpow0):
flicker_ss = f('FLICKER','flicker_ss')
odtpow = odt_wave('odtpow', None, flicker_ss, volt=odtpow0)
bfield = wfm.wave('bfield', f('FESHBACH','bias'), flicker_ss)
odtpow.linear( f('FLICKER','cpow'), f('FLICKER','cdt') )
odtpow.appendhold( f('FLICKER','waitdt'))
bfield.extend(odtpow.dt())
bfield.linear( f('FLICKER','bflick'), f('FLICKER','bdt') )
bfield.appendhold( f('FLICKER','waitdt2'))
odtpow.extend( bfield.dt() )
return odtpow, bfield, odtpow.dt()
示例10: odt_trapfreq
def odt_trapfreq(odtpow0):
mod_ss = f('TRAPFREQ','mod_ss')
odtpow = odt_wave('odtpow', None, mod_ss, volt=odtpow0)
bfield = wfm.wave('bfield', f('FESHBACH','bias'), mod_ss)
odtpow.linear( f('TRAPFREQ','cpow'), f('TRAPFREQ','cdt') )
odtpow.appendhold( f('TRAPFREQ','waitdt'))
bfield.extend(odtpow.dt())
bfield.linear( f('TRAPFREQ','bmod'), f('TRAPFREQ','bdt') )
bfield.appendhold( f('TRAPFREQ','waitdt2'))
odtpow.extend( bfield.dt() )
#odtpow.SineMod( f('TRAPFREQ','cpow'), f('TRAPFREQ','moddt'), f('TRAPFREQ','modfreq'), f('TRAPFREQ','moddepth'))
#odtpow.SineMod2( f('TRAPFREQ','cpow'), f('TRAPFREQ','moddt'), f('TRAPFREQ','modfreq'), f('TRAPFREQ','moddepth'))
odtpow.SineMod3( f('TRAPFREQ','cpow'), f('TRAPFREQ','moddt'), f('TRAPFREQ','modfreq'), f('TRAPFREQ','moddepth'))
return odtpow, bfield, odtpow.dt()
示例11: odt_evap
def odt_evap(image):
evap_ss = f("EVAP", "evapss")
p0 = f("ODT", "odtpow")
p1 = f("EVAP", "p1")
t1 = f("EVAP", "t1")
tau = f("EVAP", "tau")
beta = f("EVAP", "beta")
odtpow = wfm.wave("odtpow", cnv("odtpow", p0), evap_ss)
odtpow.Evap(p0, p1, t1, tau, beta, image)
# ~ odtpow.Exponential(pow0,powf,evap_dt,tau)
# ~ odtpow.linear( cnv('odtpow',powf), evap_ss)
# ~ odtpow.appendhold( evap_dt)
maxDT = odtpow.dt()
return odtpow, maxDT
示例12: uvzsload_imaging
def uvzsload_imaging():
# Initialize channels to MOT SS values and with cncstepsize
ss=f('CNC','cncstepsize')
motpow = wfm.wave('motpow', f('MOT','motpow') ,ss)
repdet = wfm.wave('repdet', f('MOT','repdetSS') ,ss)
trapdet = wfm.wave('trapdet',f('MOT','trapdetSS'),ss)
reppow = wfm.wave('reppow', f('MOT','reppowSS') ,ss)
trappow = wfm.wave('trappow',f('MOT','trappowSS'),ss)
bfield = wfm.wave('bfield', f('MOT','bfield') ,ss)
sec='ZSLOAD'
#Insert bfield imaging value at release
bfdt = 0.0
bfield.linear(f(sec,'imgbfield'),bfdt)
#Insert AOM imaging values 30us after release
imgdt=0.03
motpow.appendhold(imgdt)
repdet.appendhold(imgdt)
trapdet.appendhold(imgdt)
reppow.appendhold(imgdt)
trappow.appendhold(imgdt)
motpow.linear( f(sec,'imgpow'), 0.0)
#repdet.linear( f(sec,'imgdetrep'), 0.0)
repdet.linear( f(sec,'imgdettrap'), 0.0)
trapdet.linear(f(sec,'imgdettrap'),0.0)
reppow.linear( f(sec,'imgpowrep'), 0.0)
trappow.linear(f(sec,'imgpowtrap'),0.0)
maxDT = max( motpow.dt(), repdet.dt(), trapdet.dt(), bfield.dt(), reppow.dt(), trappow.dt())
motpow.extend(maxDT)
repdet.extend(maxDT)
trapdet.extend(maxDT)
bfield.extend(maxDT)
reppow.extend(maxDT)
trappow.extend(maxDT)
return motpow, repdet, trapdet, reppow, trappow, bfield
示例13:
if lbf.bindbfield == 1:
lbf.bstage2 = lbf.bstage1
#This step size is used in all ramps from here on
ir_ss = 0.01
buffer=25.0 #Time needed to re-latch the trigger for the AOUTS
s.wait(buffer)
#########################################
## RAMPS TO INTERMEDIATE VALUES
#########################################
# Ramp B Field to intermediate value
bfield = wfm.wave('bfield', evap.fieldrampfinal ,ir_ss)
bfield.appendhold( lbf.brampdelay1 )
bfield.linear( lbf.bstage1, lbf.brampdt1 )
# With respect to the start of the sequence, set QUICK2 pulse
s.wait(-lbf.quick2time + lbf.brampdelay1 )
if lbf.usequick2 == 1:
s.digichg('quick2',1)
else:
s.digichg('quick2',0)
s.wait( lbf.quick2time - lbf.brampdelay1 )
# Ramp up IR and green beams to intermediate value
ir1 = lattice.lattice_wave('ir1pow', ir_p0, ir_ss,volt=-11)
ir2 = lattice.lattice_wave('ir2pow', ir_p0, ir_ss,volt=-11)
示例14: dimple_to_lattice
#.........这里部分代码省略.........
with open(datfile, 'w') as f:
X = numpy.asarray( allRamps )
f.write(bytes(header))
format = '%.6e'
ncol = X.shape[1]
format = [format ,] *ncol
format = ' '.join(format)
newline = '\n'
for row in X:
f.write(numpy.compat.asbytes(format % tuple(row) + newline))
shutil.copyfile( figfile, seqconf.savedir() + 'expseq' + seqconf.runnumber() + '_latticeRamp.png')
shutil.copyfile( datfile, seqconf.savedir() + 'expseq' + seqconf.runnumber() + '_latticeRamp.dat')
#plt.savefig( seqconf.savedir() + 'expseq' + seqconf.runnumber() + '_latticeRamp.png', dpi=120)
#################################
#### APPEND RAMPS TO SEQUENCE ###
#################################
wfms=[]
if DL.signal == 0:
print " LOCK VALUE FOR SIGNAL / NOSIGNAL "
print " before = ", DL.lock_Er
DL.lock_Er = DL.lock_Er / 1.8
print " after = \n", DL.lock_Er
for ch in ['ir1pow','ir2pow','ir3pow']:
n = filter( str.isdigit, ch)[0]
w = wfm.wave(ch, 0.0, DL.ss) #Start value will be overrriden
w.y = physics.cnv( ch, y_ir )
if DL.lock:
endval = w.y[-1]
w.insertlin_cnv(DL.lock_Er, DL.lock_dtUP, DL.lock_t0 )
elif DL.lightassist_lock:
endval = w.y[-1]
w.linear(DL.lightassist_lockpowIR, DL.lightassist_lockdtUP)
w.appendhold( DL.lightassist_t0 + DL.lightassistdt )
if DL.endvalIR >= 0.:
w.linear( DL.endvalIR, DL.lightassist_lockdtDOWN)
else:
w.linear( None, DL.lightassist_lockdtDOWN, volt=endval)
wfms.append(w)
for ch in ['greenpow1','greenpow2','greenpow3']:
n = filter( str.isdigit, ch)[0]
w = wfm.wave(ch, 0.0, DL.ss) #Start value will be overrriden
correction = DIMPLE.__dict__['gr'+n+'correct']
w.y = physics.cnv( ch, correction * grwfms[ch] )
if DL.lightassist_lock:
endval = w.y[-1]
w.linear(DL.lightassist_lockpowGR, DL.lightassist_lockdtUP)
w.appendhold( DL.lightassist_t0 + DL.lightassistdt )
if DL.endvalGR >= 0.:
w.linear( DL.endvalGR, DL.lightassist_lockdtDOWN)
else:
w.linear( None, DL.lightassist_lockdtDOWN, volt=endval)
wfms.append(w)
示例15:
#Get hfimg ready
s.digichg('hfimg',1)
#If using analoghfimg get it ready
if ANDOR.analoghfimg == 1:
s.digichg('analogimgttl',1)
# Do CNC, UVMOT, and field ramps
s, toENDBFIELD = highfield_uvmot.go_to_highfield(s)
analoghfimg = []
# THis section used to resolve the issue we have probe or bragg kill in dimple section
if DL.probekill ==1:
if (-DL.probekilltime) > DL.image:
analoghfimg = [wfm.wave('analogimg', DL.probekill_hfimg, EVAP.evapss)]
elif DL.braggkill == 1:
if (-DL.braggkilltime) > DL.image:
print "...braggkill will be inserted in DIMPLE part of sequence"
hfimgwfm = wfm.wave('analogimg', DL.braggkill_hfimg, EVAP.evapss)
analoghfimg = [hfimgwfm]
# Evaporate into the dimple
s, cpowend = odt.crossbeam_dimple_evap(s, toENDBFIELD,analoghfimg)