def hahn_echo_variable_delayline(name, debug=False, vary_refocussing_time=True, range_start=-2e-6, range_end=2e6, evolution_1_self_trigger=False, evolution_2_self_trigger=False, refocussing_time=1e-6): m = pulsar_delay.ElectronRefocussingTriggered(name) m.params.from_dict(qt.exp_params['samples'][SAMPLE]) m.params.from_dict(qt.exp_params['protocols']['AdwinSSRO']) m.params.from_dict(qt.exp_params['protocols'][SAMPLE_CFG]['AdwinSSRO']) m.params.from_dict( qt.exp_params['protocols'][SAMPLE_CFG]['AdwinSSRO-integrated']) m.params.from_dict(qt.exp_params['protocols']['AdwinSSRO+espin']) m.params.from_dict(qt.exp_params['protocols']['cr_mod']) m.params.from_dict(qt.exp_params['protocols'][SAMPLE_CFG]['pulses']) m.params.from_dict(qt.exp_params['protocols']['AdwinSSRO+delay']) m.params['delay_to_voltage_fitparams'] = np.loadtxt( '../lt4_V_c_from_dl_fit_20170323_1914.txt') m.params['delay_to_voltage_fitfunc'] = V_c_from_dl_fit m.params['pulse_type'] = 'Hermite' m.params['Ex_SP_amplitude'] = 0 m.params['AWG_to_adwin_ttl_trigger_duration'] = 2e-6 m.params['wait_for_AWG_done'] = 1 m.params['sequence_wait_time'] = 1 m.params['self_trigger_duration'] = 100e-9 # m.params['delay_voltage_DAC_channel'] = 16 # should be moved to msmt_params? m.params['do_delay_voltage_control'] = 1 pts = 11 m.params['pts'] = pts m.params['repetitions'] = 1000 if vary_refocussing_time: m.params['refocussing_time'] = np.linspace(range_start, range_end, pts) m.params['defocussing_offset'] = 0.0 * np.ones(pts) m.params['self_trigger_delay'] = m.params['refocussing_time'] m.params['sweep_name'] = 'single-sided free evolution time (us)' m.params['sweep_pts'] = (m.params['refocussing_time']) * 1e6 else: m.params['refocussing_time'] = np.ones(pts) * refocussing_time m.params['defocussing_offset'] = np.linspace(range_start, range_end, pts) m.params['self_trigger_delay'] = m.params['refocussing_time'] m.params['sweep_name'] = 'defocussing offset (us)' m.params['sweep_pts'] = (m.params['defocussing_offset']) * 1e6 # MW pulses X_pi2 = ps.Xpi2_pulse(m) X_pi = ps.X_pulse(m) # Start measurement m.autoconfig() print(m.params['delay_voltages']) m.generate_sequence(upload=True, pulse_pi2=X_pi2, pulse_pi=X_pi, evolution_1_self_trigger=evolution_1_self_trigger, evolution_2_self_trigger=evolution_2_self_trigger) if not debug: m.run(autoconfig=False) m.save() m.finish()
def electronRefocussingTriggered(name, debug=False, range_start=-2e-6, range_end=2e-6, evolution_1_self_trigger=True, evolution_2_self_trigger=False, vary_refocussing_time=False, refocussing_time=200e-6): m = pulsar_delay.ElectronRefocussingTriggered(name) m.params.from_dict(qt.exp_params['samples'][SAMPLE]) m.params.from_dict(qt.exp_params['protocols']['AdwinSSRO']) m.params.from_dict(qt.exp_params['protocols'][SAMPLE_CFG]['AdwinSSRO']) m.params.from_dict( qt.exp_params['protocols'][SAMPLE_CFG]['AdwinSSRO-integrated']) m.params.from_dict(qt.exp_params['protocols']['AdwinSSRO+espin']) m.params.from_dict(qt.exp_params['protocols']['cr_mod']) m.params.from_dict(qt.exp_params['protocols'][SAMPLE_CFG]['pulses']) m.params['pulse_type'] = 'Hermite' m.params['Ex_SP_amplitude'] = 0 m.params[ 'AWG_to_adwin_ttl_trigger_duration'] = 2e-6 # commenting this out gives an erro m.params['wait_for_AWG_done'] = 1 m.params['sequence_wait_time'] = 1 m.params['do_delay_voltage_control'] = 0 m.params['delay_voltage_DAC_channel'] = 14 pts = 51 m.params['pts'] = pts m.params['repetitions'] = 1000 #m.params['wait_for_AWG_done']=1 #m.params['evolution_times'] = np.linspace(0,0.25*(pts-1)*1/m.params['N_HF_frq'],pts) # range from 0 to 1000 us # calibrated using Hahn echo m.params['self_trigger_delay'] = 2.950e-6 * np.ones(pts) m.params['self_trigger_duration'] = 100e-9 if vary_refocussing_time: m.params['refocussing_time'] = np.linspace(range_start, range_end, pts) m.params['defocussing_offset'] = 0.0 * np.ones(pts) m.params['sweep_name'] = 'single-sided free evolution time (us)' m.params['sweep_pts'] = (m.params['refocussing_time']) * 1e6 else: m.params['refocussing_time'] = np.ones(pts) * refocussing_time m.params['defocussing_offset'] = np.linspace(range_start, range_end, pts) m.params['sweep_name'] = 'defocussing offset (us)' m.params['sweep_pts'] = (m.params['defocussing_offset']) * 1e6 # MW pulses X_pi2 = ps.Xpi2_pulse(m) X_pi = ps.X_pulse(m) # for the self-triggering through the delay line # m.params['self_trigger_delay'] = 500e-9 # 0.5 us # m.params['self_trigger_duration'] = 100e-9 # Start measurement m.autoconfig() m.generate_sequence(upload=True, pulse_pi2=X_pi2, pulse_pi=X_pi, evolution_1_self_trigger=evolution_1_self_trigger, evolution_2_self_trigger=evolution_2_self_trigger) if not debug: m.run(autoconfig=False) m.save() m.finish()