s.digichg('odtttl', 1) s.wait(20.0) ss = float(report['CNC']['cncstepsize']) camera = 'ANDOR' # Cool and Compress MOT # ENDCNC is defined as the time up to release from the MOT motpow, repdet, trapdet, reppow, trappow, bfield, ENDCNC = cnc.cncRamps() # Set imaging values motpow, repdet, trapdet, reppow, trappow, bfield, maxDT = cnc.imagingRamps( motpow, repdet, trapdet, reppow, trappow, bfield, camera) # Add modulation to odt odtpow = odt.odt_modulationRamps(ss, ENDCNC) #Add waveforms to sequence s.analogwfm_add(ss, [motpow, repdet, trapdet, reppow, trappow, bfield, odtpow]) #wait normally rounds down using floor, here the duration is changed before so that #the wait is rounded up ENDCNC = ss * math.ceil(ENDCNC / ss) #insert QUICK pulse for fast ramping of the field gradient s.wait(-10.0) quickval = 1 if gen.bstr('CNC', report) == True else 0 s.digichg('quick', quickval) s.wait(10.0) #Go to MOT release time and set QUICK back to low
s.digichg('odtttl',1) s.wait(20.0) ss = float(report['CNC']['cncstepsize']) camera = 'ANDOR' # Cool and Compress MOT # ENDCNC is defined as the time up to release from the MOT motpow, repdet, trapdet, reppow, trappow, bfield, ENDCNC = cnc.cncRamps() # Set imaging values motpow, repdet, trapdet, reppow, trappow, bfield, maxDT = cnc.imagingRamps(motpow, repdet, trapdet, reppow, trappow, bfield, camera) # Add modulation to odt odtpow = odt.odt_modulationRamps(ss,ENDCNC) #Add waveforms to sequence s.analogwfm_add(ss,[motpow,repdet,trapdet,reppow,trappow,bfield,odtpow]) #wait normally rounds down using floor, here the duration is changed before so that #the wait is rounded up ENDCNC = ss*math.ceil(ENDCNC/ss) #insert QUICK pulse for fast ramping of the field gradient s.wait(-10.0) quickval = 1 if gen.bstr('CNC',report) == True else 0 s.digichg('quick',quickval) s.wait(10.0) #Go to MOT release time and set QUICK back to low
# Cool and Compress MOT # ENDCNC is defined as the time up to release from the MOT motpow, repdet, trapdet, reppow, trappow, bfield, ENDCNC = cnc.cncRamps() # Load UVMOT from CNCMOT uvfppiezo, uvpow, motpow, repdet, trapdet, reppow, trappow, bfield, ENDUVMOT = uvcooling.uvcoolRamps(motpow, repdet, trapdet, reppow, trappow, bfield, ENDCNC) # Set imaging values motpow, repdet, trapdet, reppow, trappow, bfield, maxDT = cnc.imagingRamps(motpow, repdet, trapdet, reppow, trappow, bfield,camera) uvfppiezo.extend(maxDT) uvpow.extend(maxDT) # Add modulation to odt odtpow = odt.odt_modulationRamps(ss,ENDUVMOT) #Add waveforms to sequence s.analogwfm_add(ss,[motpow,repdet,trapdet,reppow,trappow,bfield,odtpow]) #wait normally rounds down using floor, here the duration is changed before so that #the wait is rounded up ENDUVMOT = ss*math.ceil(ENDUVMOT/ss) #insert QUICK pulse for fast ramping of the field gradient s.wait(-10.0) quickval = 1 if gen.bstr('CNC',report) == True else 0 s.digichg('quick',quickval) s.wait(10.0)
# ENDCNC is defined as the time up to release from the MOT motpow, repdet, trapdet, reppow, trappow, bfield, ENDCNC = cnc.cncRamps() # Load UVMOT from CNCMOT uvfppiezo, uvpow, motpow, repdet, trapdet, reppow, trappow, bfield, ENDUVMOT = uvcooling.uvcoolRamps( motpow, repdet, trapdet, reppow, trappow, bfield, ENDCNC) # Set imaging values motpow, repdet, trapdet, reppow, trappow, bfield, maxDT = cnc.imagingRamps( motpow, repdet, trapdet, reppow, trappow, bfield, camera) uvfppiezo.extend(maxDT) uvpow.extend(maxDT) # Add modulation to odt odtpow = odt.odt_modulationRamps(ss, ENDUVMOT) #Add waveforms to sequence s.analogwfm_add(ss, [motpow, repdet, trapdet, reppow, trappow, bfield, odtpow]) #wait normally rounds down using floor, here the duration is changed before so that #the wait is rounded up ENDUVMOT = ss * math.ceil(ENDUVMOT / ss) #insert QUICK pulse for fast ramping of the field gradient s.wait(-10.0) quickval = 1 if gen.bstr('CNC', report) == True else 0 s.digichg('quick', quickval) s.wait(10.0) #insert UV pulse