def _create_laser_pulses(msmt,Gate): Gate.AWG_repump = pulse.SquarePulse(channel ='AOM_Newfocus',name = 'repump', length = msmt.params['LDE_SP_duration'],amplitude = 1.) if (msmt.params['is_two_setup_experiment'] > 0 and msmt.current_setup == 'lt4'): ### The LT4 eom is not connected for this measurement. set amplitudes to 0. msmt.params['eom_off_amplitude'] = 0 msmt.params['eom_pulse_amplitude'] = 0 msmt.params['eom_overshoot1'] = 0 msmt.params['eom_overshoot2'] = 0 msmt.params['eom_overshoot2'] = 0 Gate.eom_pulse = msmt.eom_pulse = eom_pulses.OriginalEOMAOMPulse('Eom_Aom_Pulse', eom_channel = 'EOM_Matisse', aom_channel = 'EOM_AOM_Matisse', eom_pulse_duration = msmt.params['eom_pulse_duration'], eom_off_duration = msmt.params['eom_off_duration'], eom_off_amplitude = msmt.params['eom_off_amplitude'], eom_pulse_amplitude = msmt.params['eom_pulse_amplitude'], eom_overshoot_duration1 = msmt.params['eom_overshoot_duration1'], eom_overshoot1 = msmt.params['eom_overshoot1'], eom_overshoot_duration2 = msmt.params['eom_overshoot_duration2'], eom_overshoot2 = msmt.params['eom_overshoot2'], aom_risetime = msmt.params['aom_risetime'], aom_amplitude = msmt.params['aom_amplitude']) Gate.yellow = pulse.SquarePulse(channel = 'AOM_Yellow',name = 'reionize', length = msmt.params['LDE_SP_duration'],amplitude = 1.)
def _setup_params(msmt, setup): msmt.params['setup'] = setup if setup == 'lt4': import measurement.scripts.bell.params_lt4 as params_lt4 reload(params_lt4) for k in params_lt4.params_lt4: msmt.params[k] = params_lt4.params_lt4[k] msmt.params['MW_BellStateOffset'] = 0.0 bseq.pulse_defs_lt4(msmt) elif setup == 'lt3': import measurement.scripts.bell.params_lt3 as params_lt3 reload(params_lt3) for k in params_lt3.params_lt3: msmt.params[k] = params_lt3.params_lt3[k] msmt.params['MW_BellStateOffset'] = 0.0 bseq.pulse_defs_lt3(msmt) elif setup == 'lt1': msmt.params['setup'] = 'lt4' # LDE Sequence in the AWGs # params taken from the previous LT1 params msmt.params['eom_pulse_amplitude'] = 1.9 msmt.params['eom_pulse_duration'] = 2e-9 msmt.params['eom_off_duration'] = 50e-9 msmt.params['eom_off_amplitude'] = -0.293 # calibration 2015-11-04 msmt.params['eom_overshoot_duration1'] = 20e-9 msmt.params['eom_overshoot1'] = -0.04 msmt.params['eom_overshoot_duration2'] = 4e-9 msmt.params['eom_overshoot2'] = -0.00 msmt.params['aom_risetime'] = 17e-9 msmt.params['aom_amplitude'] = 0.57 #CR 31 msmt.eom_pulse = eom_pulses.OriginalEOMAOMPulse( 'Eom Aom Pulse', eom_channel='EOM_Matisse', aom_channel='FM', eom_pulse_duration=msmt.params['eom_pulse_duration'], eom_off_duration=msmt.params['eom_off_duration'], eom_off_amplitude=msmt.params['eom_off_amplitude'], eom_pulse_amplitude=msmt.params['eom_pulse_amplitude'], eom_overshoot_duration1=msmt.params['eom_overshoot_duration1'], eom_overshoot1=msmt.params['eom_overshoot1'], eom_overshoot_duration2=msmt.params['eom_overshoot_duration2'], eom_overshoot2=msmt.params['eom_overshoot2'], aom_risetime=msmt.params['aom_risetime'], aom_amplitude=msmt.params['aom_amplitude'])
def pulse_defs_lt4(msmt): # a waiting pulse on the MW pulsemod channel msmt.T = pulse.SquarePulse(channel='MW_pulsemod', length=50e-9, amplitude=0) msmt.TIQ = pulse.SquarePulse(channel='MW_Imod', length=10e-9, amplitude=0) msmt.T_sync = pulse.SquarePulse(channel='sync', length=50e-9, amplitude=0) # some not yet specified pulse on the electron msmt.e_pulse = pulselib.MW_IQmod_pulse( 'MW pulse', I_channel='MW_Imod', Q_channel='MW_Qmod', PM_channel='MW_pulsemod', PM_risetime=msmt.params['MW_pulse_mod_risetime']) msmt.MW_pi = pulselib.HermitePulse_Envelope( 'Hermite pi-pulse', MW_channel='MW_Imod', PM_channel='MW_pulsemod', second_MW_channel='MW_Qmod', amplitude=msmt.params['MW_pi_amp'], length=msmt.params['MW_pi_duration'], PM_risetime=msmt.params['MW_pulse_mod_risetime'], pi2_pulse=False) msmt.MW_pi2 = pulselib.HermitePulse_Envelope( 'Hermite pi/2-pulse', MW_channel='MW_Imod', PM_channel='MW_pulsemod', second_MW_channel='MW_Qmod', amplitude=msmt.params['MW_pi2_amp'], length=msmt.params['MW_pi2_duration'], PM_risetime=msmt.params['MW_pulse_mod_risetime'], pi2_pulse=True) msmt.MW_BellAngle = pulselib.HermitePulse_Envelope( 'Hermite pi/2-pulse', MW_channel='MW_Imod', PM_channel='MW_pulsemod', second_MW_channel='MW_Qmod', amplitude=msmt.params['MW_pi2_amp'] * msmt.params['MW_BellStateFactor'], length=msmt.params['MW_pi2_duration'], PM_risetime=msmt.params['MW_pulse_mod_risetime'], pi2_pulse=True) msmt.MW_RND_I = pulselib.HermitePulse_Envelope( 'Hermite RND-pulse-I', MW_channel='MW_Imod', PM_channel='MW_pulsemod', amplitude=msmt.params['MW_RND_amp_I'], length=msmt.params['MW_RND_duration_I'], PM_risetime=msmt.params['MW_pulse_mod_risetime'], pi2_pulse=True) msmt.MW_RND_Q = pulselib.HermitePulse_Envelope( 'Hermite RND-pulse-Q', MW_channel='MW_Qmod', PM_channel='MW_pulsemod', amplitude=msmt.params['MW_RND_amp_Q'], length=msmt.params['MW_RND_duration_Q'], PM_risetime=msmt.params['MW_pulse_mod_risetime'], pi2_pulse=True) msmt.eom_pulse = eom_pulses.OriginalEOMAOMPulse( 'Eom Aom Pulse', eom_channel='EOM_Matisse', aom_channel='EOM_AOM_Matisse', eom_pulse_duration=msmt.params['eom_pulse_duration'], eom_off_duration=msmt.params['eom_off_duration'], eom_off_amplitude=msmt.params['eom_off_amplitude'], eom_pulse_amplitude=msmt.params['eom_pulse_amplitude'], eom_overshoot_duration1=msmt.params['eom_overshoot_duration1'], eom_overshoot1=msmt.params['eom_overshoot1'], eom_overshoot_duration2=msmt.params['eom_overshoot_duration2'], eom_overshoot2=msmt.params['eom_overshoot2'], aom_risetime=msmt.params['aom_risetime'], aom_amplitude=msmt.params['aom_amplitude']) msmt.RND_halt_off_pulse = pulse.SquarePulse( channel='RND_halt', amplitude=2.0, length=msmt.params['RND_duration']) ### synchronizing, etc msmt.adwin_trigger_pulse = pulse.SquarePulse(channel='adwin_sync', length=5e-6, amplitude=2) msmt.sync = pulse.SquarePulse(channel='sync', length=50e-9, amplitude=1.0) msmt.SP_pulse = pulse.SquarePulse(channel='AOM_Newfocus', amplitude=1.0) msmt.RO_pulse = pulse.SquarePulse(channel='EOM_AOM_Matisse', amplitude=0.0) msmt.yellow_pulse = pulse.SquarePulse(channel='AOM_Yellow', amplitude=1.0) msmt.plu_gate = pulse.SquarePulse(channel='plu_sync', amplitude=1.0, length=msmt.params['PLU_gate_duration']) return True