Commit 28fdba13 authored by Nicolas Nunez Barreto's avatar Nicolas Nunez Barreto

agrego meds

parent fef7ee12
...@@ -9,8 +9,8 @@ PORT = 60000 ...@@ -9,8 +9,8 @@ PORT = 60000
PASS = b'Secr3t Pa55W0rd' PASS = b'Secr3t Pa55W0rd'
from multiprocessing.connection import Client from multiprocessing.connection import Client
class IR_Scan_DCvoltages(EnvExperiment): class IR_Scan_DCvoltages_heating(EnvExperiment):
"""IR scan with DC voltages changes ability""" """IR scan with DC voltages changes and heating rate measurement habilities"""
def build(self): def build(self):
# Agrego kernel invariants a ver si mejoro algo de la performance # Agrego kernel invariants a ver si mejoro algo de la performance
kernel_invariants = getattr(self, 'kernel_invariants', set()) kernel_invariants = getattr(self, 'kernel_invariants', set())
...@@ -330,7 +330,7 @@ class IR_Scan_DCvoltages(EnvExperiment): ...@@ -330,7 +330,7 @@ class IR_Scan_DCvoltages(EnvExperiment):
self.enfriar_ion() self.enfriar_ion()
Sweep_type = "nona" #Sweep_type = "nona"
if Sweep_type == "none": if Sweep_type == "none":
iter_index = 0 iter_index = 0
......
...@@ -23,21 +23,12 @@ class IR_Scan_Heating(EnvExperiment): ...@@ -23,21 +23,12 @@ class IR_Scan_Heating(EnvExperiment):
self.laserUV = UrukulCh(self, ch=2, freq=110.0, amp=0.3, name="UV") #corresponde a 0.7 Vpp self.laserUV = UrukulCh(self, ch=2, freq=110.0, amp=0.3, name="UV") #corresponde a 0.7 Vpp
self.laserIR1 = UrukulCh(self, ch=1, freq=208.0, amp=0.35, name="IR1") #corresponde a 0.8 Vpp self.laserIR1 = UrukulCh(self, ch=1, freq=208.0, amp=0.35, name="IR1") #corresponde a 0.8 Vpp
self.laserIR2 = UrukulCh(self, ch=3, freq=80.0, amp=0.2, name="IR2") #corresponde a 0.8 Vpp self.laserIR2 = UrukulCh(self, ch=3, freq=80.0, amp=0.2, name="IR2") #corresponde a 0.8 Vpp
self.laserIR2shift = UrukulCh(self, ch=0, freq=270.0, amp=0.7, name="IR2shift") #corresponde a 0.8 Vpp self.laserIR3 = UrukulCh(self, ch=0, freq=215.0, amp=0.7, name="IR3") #corresponde a 0.8 Vpp
self.setattr_argument("Fine_scan", BooleanValue(1==0), "Experiment params")
self.setattr_argument("no_measures", self.setattr_argument("no_measures",
NumberValue(2000, min=1, ndecimals=0, step=1), NumberValue(2000, min=1, ndecimals=0, step=1),
"Experiment params") "Experiment params")
self.setattr_argument(f"IR1_cooling_freq",
NumberValue(229*MHz, unit='MHz', scale=MHz, min=1*MHz, max=400*MHz),
"Cooling params")
self.setattr_argument(f"IR1_cooling_amp",
NumberValue(0.25, min=0.0, max=0.35),
"Cooling params")
self.setattr_argument(f"UV_cooling_freq", self.setattr_argument(f"UV_cooling_freq",
NumberValue(112*MHz, unit='MHz', scale=MHz, min=1*MHz, max=400*MHz), NumberValue(112*MHz, unit='MHz', scale=MHz, min=1*MHz, max=400*MHz),
...@@ -47,6 +38,14 @@ class IR_Scan_Heating(EnvExperiment): ...@@ -47,6 +38,14 @@ class IR_Scan_Heating(EnvExperiment):
NumberValue(0.1, min=0.0, max=0.3), NumberValue(0.1, min=0.0, max=0.3),
"Cooling params") "Cooling params")
self.setattr_argument(f"IR1_cooling_freq",
NumberValue(229*MHz, unit='MHz', scale=MHz, min=1*MHz, max=400*MHz),
"Cooling params")
self.setattr_argument(f"IR1_cooling_amp",
NumberValue(0.25, min=0.0, max=0.35),
"Cooling params")
self.setattr_argument(f"IR2_cooling_freq", self.setattr_argument(f"IR2_cooling_freq",
NumberValue(80*MHz, unit='MHz', scale=MHz, min=1*MHz, max=400*MHz), NumberValue(80*MHz, unit='MHz', scale=MHz, min=1*MHz, max=400*MHz),
"Cooling params") "Cooling params")
...@@ -55,13 +54,15 @@ class IR_Scan_Heating(EnvExperiment): ...@@ -55,13 +54,15 @@ class IR_Scan_Heating(EnvExperiment):
NumberValue(0.3, min=0.0, max=0.8), NumberValue(0.3, min=0.0, max=0.8),
"Cooling params") "Cooling params")
self.setattr_argument(f"IR1_heating_freq", self.setattr_argument(f"IR3_cooling_freq",
NumberValue(229*MHz, unit='MHz', scale=MHz, min=1*MHz, max=400*MHz), NumberValue(215*MHz, unit='MHz', scale=MHz, min=1*MHz, max=400*MHz),
"Heating params") "Cooling params")
self.setattr_argument(f"IR1_heating_amp", self.setattr_argument(f"IR3_cooling_amp",
NumberValue(0.25, min=0.0, max=0.35), NumberValue(0.50, min=0.0, max=0.8),
"Heating params") "Cooling params")
##########
self.setattr_argument(f"UV_heating_freq", self.setattr_argument(f"UV_heating_freq",
NumberValue(120*MHz, unit='MHz', scale=MHz, min=1*MHz, max=400*MHz), NumberValue(120*MHz, unit='MHz', scale=MHz, min=1*MHz, max=400*MHz),
...@@ -71,6 +72,14 @@ class IR_Scan_Heating(EnvExperiment): ...@@ -71,6 +72,14 @@ class IR_Scan_Heating(EnvExperiment):
NumberValue(0.1, min=0.0, max=0.3), NumberValue(0.1, min=0.0, max=0.3),
"Heating params") "Heating params")
self.setattr_argument(f"IR1_heating_freq",
NumberValue(229*MHz, unit='MHz', scale=MHz, min=1*MHz, max=400*MHz),
"Heating params")
self.setattr_argument(f"IR1_heating_amp",
NumberValue(0.25, min=0.0, max=0.35),
"Heating params")
self.setattr_argument(f"IR2_heating_freq", self.setattr_argument(f"IR2_heating_freq",
NumberValue(80*MHz, unit='MHz', scale=MHz, min=1*MHz, max=400*MHz), NumberValue(80*MHz, unit='MHz', scale=MHz, min=1*MHz, max=400*MHz),
"Heating params") "Heating params")
...@@ -79,6 +88,16 @@ class IR_Scan_Heating(EnvExperiment): ...@@ -79,6 +88,16 @@ class IR_Scan_Heating(EnvExperiment):
NumberValue(0.3, min=0.0, max=0.8), NumberValue(0.3, min=0.0, max=0.8),
"Heating params") "Heating params")
self.setattr_argument(f"IR3_heating_freq",
NumberValue(215*MHz, unit='MHz', scale=MHz, min=1*MHz, max=400*MHz),
"Heating params")
self.setattr_argument(f"IR3_heating_amp",
NumberValue(0.5, min=0.0, max=0.8),
"Heating params")
############
self.setattr_argument(f"UV_CPT_freq", self.setattr_argument(f"UV_CPT_freq",
...@@ -97,29 +116,16 @@ class IR_Scan_Heating(EnvExperiment): ...@@ -97,29 +116,16 @@ class IR_Scan_Heating(EnvExperiment):
NumberValue(0.3, min=0., max=0.8), NumberValue(0.3, min=0., max=0.8),
"CPT params") "CPT params")
self.setattr_argument(f"IR1_final_freq", self.setattr_argument(f"IR3_CPT_freq",
NumberValue(229*MHz, unit='MHz', scale=MHz, min=1*MHz, max=400*MHz), NumberValue(215*MHz, unit='MHz', scale=MHz, min=1*MHz, max=400*MHz),
"Final params") "CPT params")
self.setattr_argument(f"IR1_final_amp",
NumberValue(0.23, min=0.0, max=0.35),
"Final params")
self.setattr_argument(f"UV_final_freq",
NumberValue(115*MHz, unit='MHz', scale=MHz, min=1*MHz, max=400*MHz),
"Final params")
self.setattr_argument(f"UV_final_amp", self.setattr_argument(f"IR3_CPT_amp",
NumberValue(0.11, min=0.0, max=0.3), NumberValue(0.5, min=0., max=0.8),
"Final params") "CPT params")
self.setattr_argument(f"IR2_final_freq",
NumberValue(80*MHz, unit='MHz', scale=MHz, min=1*MHz, max=400*MHz),
"Final params")
self.setattr_argument(f"IR2_final_amp", ###############
NumberValue(0.3, min=0.0, max=0.8),
"Final params")
self.setattr_argument(f"t_cool", self.setattr_argument(f"t_cool",
NumberValue(1000*us, unit='us', scale=us, min=1*us), NumberValue(1000*us, unit='us', scale=us, min=1*us),
...@@ -144,9 +150,12 @@ class IR_Scan_Heating(EnvExperiment): ...@@ -144,9 +150,12 @@ class IR_Scan_Heating(EnvExperiment):
"Experiment params") "Experiment params")
self.setattr_argument("Scan_type", self.setattr_argument("Scan_type",
EnumerationValue(["Calibrated_scan", "Defined_scan"]), EnumerationValue(["Calibrated_frequencies", "Specified_frequencies"]),
"Scan params") "Scan params")
self.setattr_argument("Sweep_type",
EnumerationValue(["Single_spectrum", "Heating_time_sweep", "Laser_heating_time_sweep"]),
"Scan params")
self.setattr_argument("Scanning_frequencies", Scannable( self.setattr_argument("Scanning_frequencies", Scannable(
default=CenterScan(210*MHz, 20*MHz, 0.1*MHz), default=CenterScan(210*MHz, 20*MHz, 0.1*MHz),
...@@ -157,6 +166,17 @@ class IR_Scan_Heating(EnvExperiment): ...@@ -157,6 +166,17 @@ class IR_Scan_Heating(EnvExperiment):
), ),
"Scan params") "Scan params")
self.setattr_argument("Scanning_heattimes", Scannable(
default=CenterScan(1*ms, 0.1*ms, 0.1*ms),
unit="ms",
scale=ms,
global_min = 0*ms,
global_max = 1000*ms
),
"Scan params")
self.setattr_argument("Comments", StringValue(" "), "General comments") self.setattr_argument("Comments", StringValue(" "), "General comments")
...@@ -183,6 +203,9 @@ class IR_Scan_Heating(EnvExperiment): ...@@ -183,6 +203,9 @@ class IR_Scan_Heating(EnvExperiment):
self.set_dataset("IR2_cooling_freq", self.IR2_cooling_freq, broadcast=False, archive=True) self.set_dataset("IR2_cooling_freq", self.IR2_cooling_freq, broadcast=False, archive=True)
self.set_dataset("IR2_cooling_amp", self.IR2_cooling_amp, broadcast=False, archive=True) self.set_dataset("IR2_cooling_amp", self.IR2_cooling_amp, broadcast=False, archive=True)
self.set_dataset("IR3_cooling_freq", self.IR3_cooling_freq, broadcast=False, archive=True)
self.set_dataset("IR3_cooling_amp", self.IR3_cooling_amp, broadcast=False, archive=True)
self.set_dataset("IR1_heating_freq", self.IR1_heating_freq, broadcast=False, archive=True) self.set_dataset("IR1_heating_freq", self.IR1_heating_freq, broadcast=False, archive=True)
self.set_dataset("IR1_cooling_amp", self.IR1_cooling_amp, broadcast=False, archive=True) self.set_dataset("IR1_cooling_amp", self.IR1_cooling_amp, broadcast=False, archive=True)
...@@ -192,17 +215,22 @@ class IR_Scan_Heating(EnvExperiment): ...@@ -192,17 +215,22 @@ class IR_Scan_Heating(EnvExperiment):
self.set_dataset("IR2_heating_freq", self.IR2_heating_freq, broadcast=False, archive=True) self.set_dataset("IR2_heating_freq", self.IR2_heating_freq, broadcast=False, archive=True)
self.set_dataset("IR2_heating_amp", self.IR2_heating_amp, broadcast=False, archive=True) self.set_dataset("IR2_heating_amp", self.IR2_heating_amp, broadcast=False, archive=True)
self.set_dataset("IR3_heating_freq", self.IR3_heating_freq, broadcast=False, archive=True)
self.set_dataset("IR3_heating_amp", self.IR3_heating_amp, broadcast=False, archive=True)
self.set_dataset("UV_CPT_freq", self.UV_CPT_freq, broadcast=False, archive=True) self.set_dataset("UV_CPT_freq", self.UV_CPT_freq, broadcast=False, archive=True)
self.set_dataset("UV_CPT_amp", self.UV_CPT_amp, broadcast=False, archive=True) self.set_dataset("UV_CPT_amp", self.UV_CPT_amp, broadcast=False, archive=True)
self.set_dataset("IR2_CPT_freq", self.IR2_CPT_freq, broadcast=False, archive=True) self.set_dataset("IR2_CPT_freq", self.IR2_CPT_freq, broadcast=False, archive=True)
self.set_dataset("IR2_CPT_amp", self.IR2_CPT_amp, broadcast=False, archive=True) self.set_dataset("IR2_CPT_amp", self.IR2_CPT_amp, broadcast=False, archive=True)
self.set_dataset("IR3_CPT_freq", self.IR3_CPT_freq, broadcast=False, archive=True)
self.set_dataset("IR3_CPT_amp", self.IR3_CPT_amp, broadcast=False, archive=True)
self.set_dataset("initialvoltage_dcA", self.read_dcvoltage(cmd="volt_dcA")[0], broadcast=False, archive=True) self.set_dataset("initialvoltage_dcA", self.read_dcvoltage(cmd="volt_dcA")[0], broadcast=False, archive=True)
self.set_dataset("initialvoltage_dcB", self.read_dcvoltage(cmd="volt_dcB")[0], broadcast=False, archive=True) self.set_dataset("initialvoltage_dcB", self.read_dcvoltage(cmd="volt_dcB")[0], broadcast=False, archive=True)
self.set_dataset("initialvoltage_compOven", self.read_dcvoltage(cmd="volt_compOven")[0], broadcast=False, archive=True) self.set_dataset("initialvoltage_compOven", self.read_dcvoltage(cmd="volt_compOven")[0], broadcast=False, archive=True)
self.set_dataset("t_cool", self.t_cool, broadcast=False, archive=True) self.set_dataset("t_cool", self.t_cool, broadcast=False, archive=True)
self.set_dataset("t_trans", self.t_trans, broadcast=False, archive=True) self.set_dataset("t_trans", self.t_trans, broadcast=False, archive=True)
self.set_dataset("t_readout", self.t_readout, broadcast=False, archive=True) self.set_dataset("t_readout", self.t_readout, broadcast=False, archive=True)
...@@ -221,7 +249,7 @@ class IR_Scan_Heating(EnvExperiment): ...@@ -221,7 +249,7 @@ class IR_Scan_Heating(EnvExperiment):
@rpc(flags={"async"}) @rpc(flags={"async"})
def create_applets(self, no_freqs): def create_applets(self, no_freqs):
self.ccb.issue("create_applet", "IR_espectro_fixeddelays", self.ccb.issue("create_applet", "IR_espectro",
"${python} -m pyLIAF.artiq.applets.plot_xy " "${python} -m pyLIAF.artiq.applets.plot_xy "
"counts_spectrum " "counts_spectrum "
"--x IR1_Frequencies") "--x IR1_Frequencies")
...@@ -233,15 +261,13 @@ class IR_Scan_Heating(EnvExperiment): ...@@ -233,15 +261,13 @@ class IR_Scan_Heating(EnvExperiment):
@rpc @rpc
def Get_Calibrated_Frequencies(self) -> TList(TFloat): def Get_Calibrated_Frequencies(self) -> TList(TFloat):
if self.Fine_scan:
Calibrated_Experiment_freqs = self.get_dataset("Experiment_freqs_IR_fine") Calibrated_Experiment_freqs = self.get_dataset("Experiment_freqs_IR")
else:
Calibrated_Experiment_freqs = self.get_dataset("Experiment_freqs_IR")
self.set_dataset("IR1_Frequencies_calibrated", np.array(Calibrated_Experiment_freqs), broadcast=True, archive=True) self.set_dataset("IR1_Frequencies_calibrated", np.array(Calibrated_Experiment_freqs), broadcast=True, archive=True)
if self.Scan_type == "Calibrated_scan": if self.Scan_type == "Calibrated_frequencies":
Experiment_freqs = Calibrated_Experiment_freqs Experiment_freqs = Calibrated_Experiment_freqs
elif self.Scan_type == "Defined_scan": elif self.Scan_type == "Specified_frequencies":
Experiment_freqs = self.Scanning_frequencies.sequence Experiment_freqs = self.Scanning_frequencies.sequence
self.set_dataset("IR1_Frequencies", np.array(Experiment_freqs), broadcast=True, archive=True) self.set_dataset("IR1_Frequencies", np.array(Experiment_freqs), broadcast=True, archive=True)
self.set_dataset("no_freqs", len(Calibrated_Experiment_freqs), broadcast=True, archive=True) self.set_dataset("no_freqs", len(Calibrated_Experiment_freqs), broadcast=True, archive=True)
...@@ -251,21 +277,17 @@ class IR_Scan_Heating(EnvExperiment): ...@@ -251,21 +277,17 @@ class IR_Scan_Heating(EnvExperiment):
@rpc @rpc
def Get_Calibrated_Amplitudes(self) -> TList(TFloat): def Get_Calibrated_Amplitudes(self) -> TList(TFloat):
if self.Fine_scan:
Calibrated_Experiment_amps = list(self.get_dataset("Experiment_amps_IR_fine")) Calibrated_Experiment_amps = list(self.get_dataset("Experiment_amps_IR"))
else:
Calibrated_Experiment_amps = list(self.get_dataset("Experiment_amps_IR"))
self.set_dataset("IR1_Amplitudes_calibrated", Calibrated_Experiment_amps, broadcast=True, archive=True) self.set_dataset("IR1_Amplitudes_calibrated", Calibrated_Experiment_amps, broadcast=True, archive=True)
if self.Scan_type == "Calibrated_scan": if self.Scan_type == "Calibrated_frequencies":
Experiment_amps = Calibrated_Experiment_amps Experiment_amps = Calibrated_Experiment_amps
elif self.Scan_type == "Defined_scan": elif self.Scan_type == "Specified_frequencies":
Experiment_amps = [] Experiment_amps = []
Experiment_freqs = self.Scanning_frequencies.sequence Experiment_freqs = self.Scanning_frequencies.sequence
if self.Fine_scan:
Calibrated_Experiment_freqs = self.get_dataset("Experiment_freqs_IR_fine") Calibrated_Experiment_freqs = self.get_dataset("Experiment_freqs_IR")
else:
Calibrated_Experiment_freqs = self.get_dataset("Experiment_freqs_IR")
for f in Experiment_freqs: for f in Experiment_freqs:
idx = (np.abs(np.asarray(Calibrated_Experiment_freqs) - f)).argmin() #busco el valor mas cercano en las freqs calibradas idx = (np.abs(np.asarray(Calibrated_Experiment_freqs) - f)).argmin() #busco el valor mas cercano en las freqs calibradas
Experiment_amps.append(Calibrated_Experiment_amps[idx]) Experiment_amps.append(Calibrated_Experiment_amps[idx])
...@@ -273,6 +295,18 @@ class IR_Scan_Heating(EnvExperiment): ...@@ -273,6 +295,18 @@ class IR_Scan_Heating(EnvExperiment):
return Experiment_amps return Experiment_amps
@rpc
def Get_Final_Params(self) -> TList(TFloat):
finalIR1_freq = self.get_dataset("IR1_freq")
finalIR1_amp = self.get_dataset("IR1_amp")
finalUV_freq = self.get_dataset("UV_freq")
finalUV_amp = self.get_dataset("UV_amp")
finalIR2_freq = self.get_dataset("IR2_freq")
finalIR2_amp = self.get_dataset("IR2_amp")
#finalIR3_freq = self.get_dataset("IR3_freq")
#finalIR3_amp = self.get_dataset("IR3_amp")
return [finalIR1_freq, finalIR1_amp, finalUV_freq, finalUV_amp, finalIR2_freq, finalIR2_amp]#, finalIR3_freq, finalIR3_amp]
@rpc @rpc
def initialize_andor_com(self): def initialize_andor_com(self):
print('tuki') print('tuki')
...@@ -296,6 +330,9 @@ class IR_Scan_Heating(EnvExperiment): ...@@ -296,6 +330,9 @@ class IR_Scan_Heating(EnvExperiment):
Freqs = self.Get_Calibrated_Frequencies() Freqs = self.Get_Calibrated_Frequencies()
#Freqs = self.UV_Freqs.sequence #Freqs = self.UV_Freqs.sequence
Amps = self.Get_Calibrated_Amplitudes() Amps = self.Get_Calibrated_Amplitudes()
Heattimes = self.Scanning_heattimes.sequence
self.create_datasets() self.create_datasets()
self.create_applets(len(Freqs)) self.create_applets(len(Freqs))
self.init_kernel() self.init_kernel()
...@@ -303,51 +340,87 @@ class IR_Scan_Heating(EnvExperiment): ...@@ -303,51 +340,87 @@ class IR_Scan_Heating(EnvExperiment):
self.laserIR1.on() self.laserIR1.on()
self.laserIR2.on() self.laserIR2.on()
self.laserIR2shift.on() self.laserIR3.on()
self.laserUV.on() self.laserUV.on()
self.enfriar_ion() self.enfriar_ion()
iter_index = 0
if self.Sweep_type == "Single_spectrum":
while iter_index < len(Freqs):
#print(Freqs[iter_index]) iter_index = 0
#print(Amps[iter_index]) while iter_index < len(Freqs):
Accumulated_counts = 0 #print(Freqs[iter_index])
delay(10000*us) #print(Amps[iter_index])
self.laserIR1.set_frequency(Freqs[iter_index], Amps[iter_index], profile=1) # Cambio la frec del perfil 1 (estoy en el 0) Accumulated_counts = 0
for runN in range(self.no_measures): delay(10000*us)
if runN % 20 == 0: self.laserIR1.set_frequency(Freqs[iter_index], Amps[iter_index], profile=1) # Cambio la frec del perfil 1 (estoy en el 0)
delay(self.t_cool) for runN in range(self.no_measures):
else: if runN % 20 == 0:
delay(100*us) delay(self.t_cool)
if self.Heating: else:
if self.Heating_type == 'Deadtime':
self.laserUV.off()
delay(self.t_heating)
self.laserUV.on()
#delay(10*us)
elif self.Heating_type == 'Laser':
self.core.break_realtime()
delay(200*us) delay(200*us)
self.laserUV.set_frequency(self.UV_heating_freq, self.UV_heating_amp, profile=0) if self.Heating:
delay(self.t_heating) if self.Heating_type == 'Deadtime':
cuentas = self.readout() # Hago la medicion y vuelvo con las cuentas self.laserUV.off()
Accumulated_counts = Accumulated_counts + cuentas delay(self.t_heating)
self.mutate_dataset("counts_spectrum", iter_index, Accumulated_counts) self.laserUV.on()
delay(5000*us) #delay(10*us)
iter_index = iter_index + 1 elif self.Heating_type == 'Laser':
self.core.break_realtime()
delay(200*us)
self.laserUV.set_frequency(self.UV_heating_freq, self.UV_heating_amp, profile=0)
delay(self.t_heating)
cuentas = self.readout() # Hago la medicion y vuelvo con las cuentas
Accumulated_counts = Accumulated_counts + cuentas
self.mutate_dataset("counts_spectrum", iter_index, Accumulated_counts)
delay(5000*us)
iter_index = iter_index + 1
delay(500*us)
elif self.Sweep_type == "Heating_time_sweep":
heat_index = 0
while heat_index < len(Heattimes):
iter_index = 0
while iter_index < len(Freqs):
#print(Freqs[iter_index])
#print(Amps[iter_index])
Accumulated_counts = 0
delay(10000*us)
self.laserIR1.set_frequency(Freqs[iter_index], Amps[iter_index], profile=1) # Cambio la frec del perfil 1 (estoy en el 0)
for runN in range(self.no_measures):
if runN % 20 == 0:
delay(self.t_cool)
else:
delay(100*us)
delay(500*us) self.laserUV.off()
delay(Heattimes[heat_index])
cuentas = self.readout() # Hago la medicion y vuelvo con las cuentas
Accumulated_counts = Accumulated_counts + cuentas
self.mutate_dataset("counts_spectrum", iter_index, Accumulated_counts)
delay(5000*us)
iter_index = iter_index + 1
delay(500*us)
self.laserUV.select_profile(1) self.laserUV.select_profile(1)
self.laserIR1.select_profile(1) self.laserIR1.select_profile(1)
self.laserIR2.select_profile(1) self.laserIR2.select_profile(1)
self.laserUV.set_frequency(self.UV_final_freq, self.UV_final_amp, profile=1) final = self.Get_Final_Params()
self.laserIR2shift.set_frequency(270*MHz, 0.7, profile=1)
self.laserIR1.set_frequency(self.IR1_final_freq, self.IR1_final_amp, profile=1) self.core.break_realtime()
self.laserIR2.set_frequency(self.IR2_final_freq, self.IR2_final_amp, profile=1) delay(10*ms)
self.laserIR1.set_frequency(final[0], final[1], profile=1)
self.laserUV.set_frequency(final[2], final[3], profile=1)
self.laserIR2.set_frequency(final[4], final[5], profile=1)
self.laserIR3.set_frequency(215*MHz, 0.5, profile=1)
print("jose maria listorti") print("jose maria listorti")
...@@ -363,9 +436,9 @@ class IR_Scan_Heating(EnvExperiment): ...@@ -363,9 +436,9 @@ class IR_Scan_Heating(EnvExperiment):
self.laserIR1.set_channel() self.laserIR1.set_channel()
self.laserUV.set_channel() self.laserUV.set_channel()
self.laserIR2.set_channel() self.laserIR2.set_channel()
self.laserIR2shift.set_channel() self.laserIR3.set_channel()
self.laserIR1.set_frequency(self.IR1_cooling_freq, self.IR1_cooling_amp, profile=0) self.laserIR1.set_frequency(self.IR1_cooling_freq, self.IR1_cooling_amp, profile=0)
self.laserIR2shift.set_frequency(270*MHz, 0.7, profile=0) self.laserIR3.set_frequency(270*MHz, 0.7, profile=0)
self.laserUV.set_frequency(self.UV_cooling_freq, self.UV_cooling_amp, profile=0) self.laserUV.set_frequency(self.UV_cooling_freq, self.UV_cooling_amp, profile=0)
self.laserIR2.set_frequency(self.IR2_cooling_freq, self.IR2_cooling_amp, profile=0) self.laserIR2.set_frequency(self.IR2_cooling_freq, self.IR2_cooling_amp, profile=0)
...@@ -373,7 +446,7 @@ class IR_Scan_Heating(EnvExperiment): ...@@ -373,7 +446,7 @@ class IR_Scan_Heating(EnvExperiment):
self.core.break_realtime() self.core.break_realtime()
self.laserUV.set_channel(profile=1) self.laserUV.set_channel(profile=1)
self.core.break_realtime() self.core.break_realtime()
self.laserIR2shift.set_channel(profile=1) self.laserIR3.set_channel(profile=1)
self.core.break_realtime() self.core.break_realtime()
self.laserIR2.set_channel(profile=1) self.laserIR2.set_channel(profile=1)
self.core.break_realtime() self.core.break_realtime()
...@@ -382,7 +455,7 @@ class IR_Scan_Heating(EnvExperiment): ...@@ -382,7 +455,7 @@ class IR_Scan_Heating(EnvExperiment):
self.core.break_realtime() self.core.break_realtime()
self.laserIR2.set_frequency(self.IR2_CPT_freq, self.IR2_CPT_amp, profile=1) self.laserIR2.set_frequency(self.IR2_CPT_freq, self.IR2_CPT_amp, profile=1)
self.core.break_realtime() self.core.break_realtime()
self.laserIR2shift.set_frequency(270*MHz, 0.7, profile=1) self.laserIR3.set_frequency(270*MHz, 0.7, profile=1)
#self.laserTISA.set_frequency(self.TISA_CPT_freq, 0.035, profile=1) #self.laserTISA.set_frequency(self.TISA_CPT_freq, 0.035, profile=1)
self.core.break_realtime() self.core.break_realtime()
#self.laserIR1.set_channel(profile=2) #self.laserIR1.set_channel(profile=2)
...@@ -391,11 +464,11 @@ class IR_Scan_Heating(EnvExperiment): ...@@ -391,11 +464,11 @@ class IR_Scan_Heating(EnvExperiment):
#self.core.break_realtime() #self.core.break_realtime()
#self.laserIR2.set_channel(profile=2) #self.laserIR2.set_channel(profile=2)
#self.core.break_realtime() #self.core.break_realtime()
#self.laserIR2shift.set_channel(profile=2) #self.laserIR3.set_channel(profile=2)
#self.core.break_realtime() #self.core.break_realtime()
#self.laserIR1.set_frequency(self.IR1_cooling_freq, self.IR1_cooling_amp, profile=2) #self.laserIR1.set_frequency(self.IR1_cooling_freq, self.IR1_cooling_amp, profile=2)
#self.core.break_realtime() #self.core.break_realtime()
#self.laserIR2shift.set_frequency(270*MHz, 0.7, profile=2) #self.laserIR3.set_frequency(270*MHz, 0.7, profile=2)
#self.core.break_realtime() #self.core.break_realtime()
#self.laserUV.set_frequency(self.UV_cooling_freq, self.UV_cooling_amp, profile=2) #self.laserUV.set_frequency(self.UV_cooling_freq, self.UV_cooling_amp, profile=2)
#self.core.break_realtime() #self.core.break_realtime()
...@@ -406,13 +479,13 @@ class IR_Scan_Heating(EnvExperiment): ...@@ -406,13 +479,13 @@ class IR_Scan_Heating(EnvExperiment):
self.core.break_realtime() self.core.break_realtime()
self.laserUV.set_channel(profile=2) self.laserUV.set_channel(profile=2)
self.core.break_realtime() self.core.break_realtime()
self.laserIR2shift.set_channel(profile=2) self.laserIR3.set_channel(profile=2)
self.core.break_realtime() self.core.break_realtime()
self.laserIR2.set_channel(profile=2) self.laserIR2.set_channel(profile=2)
self.core.break_realtime() self.core.break_realtime()
self.laserIR1.set_frequency(self.IR1_heating_freq, self.IR1_heating_amp, profile=2) self.laserIR1.set_frequency(self.IR1_heating_freq, self.IR1_heating_amp, profile=2)
self.core.break_realtime() self.core.break_realtime()
self.laserIR2shift.set_frequency(270*MHz, 0.7, profile=2) self.laserIR3.set_frequency(270*MHz, 0.7, profile=2)
self.core.break_realtime() self.core.break_realtime()
self.laserUV.set_frequency(self.UV_heating_freq, self.UV_heating_amp, profile=2) self.laserUV.set_frequency(self.UV_heating_freq, self.UV_heating_amp, profile=2)
self.core.break_realtime() self.core.break_realtime()
...@@ -436,7 +509,7 @@ class IR_Scan_Heating(EnvExperiment): ...@@ -436,7 +509,7 @@ class IR_Scan_Heating(EnvExperiment):
self.laserIR1.select_profile(0) # Pongo el laser en el perfil referencia self.laserIR1.select_profile(0) # Pongo el laser en el perfil referencia
self.laserUV.select_profile(0) # Pongo el laser en el perfil referencia self.laserUV.select_profile(0) # Pongo el laser en el perfil referencia
self.laserIR2.select_profile(0) self.laserIR2.select_profile(0)
self.laserIR2shift.select_profile(0) self.laserIR3.select_profile(0)
@kernel @kernel
def calentar_ion(self): def calentar_ion(self):
...@@ -444,7 +517,7 @@ class IR_Scan_Heating(EnvExperiment): ...@@ -444,7 +517,7 @@ class IR_Scan_Heating(EnvExperiment):
self.laserIR1.select_profile(2) # Pongo el laser en el perfil calentamiento self.laserIR1.select_profile(2) # Pongo el laser en el perfil calentamiento
self.laserUV.select_profile(2) # Pongo el laser en el perfil calentamiento self.laserUV.select_profile(2) # Pongo el laser en el perfil calentamiento
self.laserIR2.select_profile(2) self.laserIR2.select_profile(2)
self.laserIR2shift.select_profile(2) self.laserIR3.select_profile(2)
@kernel @kernel
def readout(self) -> TInt64: def readout(self) -> TInt64:
...@@ -453,9 +526,9 @@ class IR_Scan_Heating(EnvExperiment): ...@@ -453,9 +526,9 @@ class IR_Scan_Heating(EnvExperiment):
self.laserUV.select_profile(1) # Paso al perfil que cambia self.laserUV.select_profile(1) # Paso al perfil que cambia
self.laserIR1.select_profile(1) # Paso al perfil que cambia self.laserIR1.select_profile(1) # Paso al perfil que cambia
self.laserIR2.select_profile(1) # Paso al perfil que cambia self.laserIR2.select_profile(1) # Paso al perfil que cambia
self.laserIR2shift.select_profile(1) self.laserIR3.select_profile(1)
self.laserUV.on()
delay(self.t_trans) delay(self.t_trans)
here = self.pmt.gate_rising(self.t_readout) # Que mida durante t_readout here = self.pmt.gate_rising(self.t_readout) # Que mida durante t_readout
self.enfriar_ion() # ya pongo a enfriar, asi todos los retardos estan enfriando self.enfriar_ion() # ya pongo a enfriar, asi todos los retardos estan enfriando
......
...@@ -21,7 +21,7 @@ class IR_Scan_simple(EnvExperiment): ...@@ -21,7 +21,7 @@ class IR_Scan_simple(EnvExperiment):
self.laserUV = UrukulCh(self, ch=2, freq=110.0, amp=0.3, name="UV") #corresponde a 0.7 Vpp self.laserUV = UrukulCh(self, ch=2, freq=110.0, amp=0.3, name="UV") #corresponde a 0.7 Vpp
self.laserIR1 = UrukulCh(self, ch=1, freq=208.0, amp=0.35, name="IR1") #corresponde a 0.8 Vpp self.laserIR1 = UrukulCh(self, ch=1, freq=208.0, amp=0.35, name="IR1") #corresponde a 0.8 Vpp
self.laserIR2 = UrukulCh(self, ch=3, freq=80.0, amp=0.2, name="IR2") #corresponde a 0.8 Vpp self.laserIR2 = UrukulCh(self, ch=3, freq=80.0, amp=0.2, name="IR2") #corresponde a 0.8 Vpp
self.laserIR2shift = UrukulCh(self, ch=0, freq=215.0, amp=0.5, name="IR2shift") #corresponde a 0.8 Vpp self.laserIR3 = UrukulCh(self, ch=0, freq=215.0, amp=0.5, name="IR3") #corresponde a 0.8 Vpp
self.setattr_argument("no_measures", self.setattr_argument("no_measures",
NumberValue(2000, min=1, ndecimals=0, step=1), NumberValue(2000, min=1, ndecimals=0, step=1),
...@@ -58,6 +58,15 @@ class IR_Scan_simple(EnvExperiment): ...@@ -58,6 +58,15 @@ class IR_Scan_simple(EnvExperiment):
NumberValue(0.3, min=0.0, max=0.8), NumberValue(0.3, min=0.0, max=0.8),
"Cooling params") "Cooling params")
self.setattr_argument(f"IR3_cooling_freq",
NumberValue(215*MHz, unit='MHz', scale=MHz, min=1*MHz, max=400*MHz),
"Cooling params")
self.setattr_argument(f"IR3_cooling_amp",
NumberValue(0.50, min=0.0, max=0.8),
"Cooling params")
self.setattr_argument(f"UV_CPT_freq", self.setattr_argument(f"UV_CPT_freq",
NumberValue(110*MHz, unit='MHz', scale=MHz, min=1*MHz, max=400*MHz), NumberValue(110*MHz, unit='MHz', scale=MHz, min=1*MHz, max=400*MHz),
"CPT params") "CPT params")
...@@ -74,6 +83,13 @@ class IR_Scan_simple(EnvExperiment): ...@@ -74,6 +83,13 @@ class IR_Scan_simple(EnvExperiment):
NumberValue(0.3, min=0., max=0.8), NumberValue(0.3, min=0., max=0.8),
"CPT params") "CPT params")
self.setattr_argument(f"IR3_CPT_freq",
NumberValue(215*MHz, unit='MHz', scale=MHz, min=1*MHz, max=400*MHz),
"CPT params")
self.setattr_argument(f"IR3_CPT_amp",
NumberValue(0.5, min=0., max=0.8),
"CPT params")
self.setattr_argument(f"t_cool", self.setattr_argument(f"t_cool",
NumberValue(1*ms, unit='ms', scale=ms, min=0.001*ms), NumberValue(1*ms, unit='ms', scale=ms, min=0.001*ms),
...@@ -126,12 +142,18 @@ class IR_Scan_simple(EnvExperiment): ...@@ -126,12 +142,18 @@ class IR_Scan_simple(EnvExperiment):
self.set_dataset("IR2_cooling_freq", self.IR2_cooling_freq, broadcast=False, archive=True) self.set_dataset("IR2_cooling_freq", self.IR2_cooling_freq, broadcast=False, archive=True)
self.set_dataset("IR2_cooling_amp", self.IR2_cooling_amp, broadcast=False, archive=True) self.set_dataset("IR2_cooling_amp", self.IR2_cooling_amp, broadcast=False, archive=True)
self.set_dataset("IR3_cooling_freq", self.IR3_cooling_freq, broadcast=False, archive=True)
self.set_dataset("IR3_cooling_amp", self.IR3_cooling_amp, broadcast=False, archive=True)
self.set_dataset("UV_CPT_freq", self.UV_CPT_freq, broadcast=False, archive=True) self.set_dataset("UV_CPT_freq", self.UV_CPT_freq, broadcast=False, archive=True)
self.set_dataset("UV_CPT_amp", self.UV_CPT_amp, broadcast=False, archive=True) self.set_dataset("UV_CPT_amp", self.UV_CPT_amp, broadcast=False, archive=True)
self.set_dataset("IR2_CPT_freq", self.IR2_CPT_freq, broadcast=False, archive=True) self.set_dataset("IR2_CPT_freq", self.IR2_CPT_freq, broadcast=False, archive=True)
self.set_dataset("IR2_CPT_amp", self.IR2_CPT_amp, broadcast=False, archive=True) self.set_dataset("IR2_CPT_amp", self.IR2_CPT_amp, broadcast=False, archive=True)
self.set_dataset("IR3_CPT_freq", self.IR3_CPT_freq, broadcast=False, archive=True)
self.set_dataset("IR3_CPT_amp", self.IR3_CPT_amp, broadcast=False, archive=True)
self.set_dataset("t_cool", self.t_cool, broadcast=False, archive=True) self.set_dataset("t_cool", self.t_cool, broadcast=False, archive=True)
self.set_dataset("t_trans", self.t_trans, broadcast=False, archive=True) self.set_dataset("t_trans", self.t_trans, broadcast=False, archive=True)
self.set_dataset("t_readout", self.t_readout, broadcast=False, archive=True) self.set_dataset("t_readout", self.t_readout, broadcast=False, archive=True)
...@@ -202,9 +224,9 @@ class IR_Scan_simple(EnvExperiment): ...@@ -202,9 +224,9 @@ class IR_Scan_simple(EnvExperiment):
finalUV_amp = self.get_dataset("UV_amp") finalUV_amp = self.get_dataset("UV_amp")
finalIR2_freq = self.get_dataset("IR2_freq") finalIR2_freq = self.get_dataset("IR2_freq")
finalIR2_amp = self.get_dataset("IR2_amp") finalIR2_amp = self.get_dataset("IR2_amp")
#finalIR2shift_freq = self.get_dataset("IR2shift_freq") #finalIR3_freq = self.get_dataset("IR3_freq")
#finalIR2shift_amp = self.get_dataset("IR2shift_amp") #finalIR3_amp = self.get_dataset("IR3_amp")
return [finalIR1_freq, finalIR1_amp, finalUV_freq, finalUV_amp, finalIR2_freq, finalIR2_amp]#, finalIR2shift_freq, finalIR2shift_amp] return [finalIR1_freq, finalIR1_amp, finalUV_freq, finalUV_amp, finalIR2_freq, finalIR2_amp]#, finalIR3_freq, finalIR3_amp]
@kernel @kernel
...@@ -222,7 +244,7 @@ class IR_Scan_simple(EnvExperiment): ...@@ -222,7 +244,7 @@ class IR_Scan_simple(EnvExperiment):
self.laserIR1.on() self.laserIR1.on()
self.laserIR2.on() self.laserIR2.on()
self.laserIR2shift.on() self.laserIR3.on()
self.laserUV.on() self.laserUV.on()
self.enfriar_ion() self.enfriar_ion()
...@@ -267,7 +289,7 @@ class IR_Scan_simple(EnvExperiment): ...@@ -267,7 +289,7 @@ class IR_Scan_simple(EnvExperiment):
self.laserIR1.set_frequency(final[0], final[1], profile=1) self.laserIR1.set_frequency(final[0], final[1], profile=1)
self.laserUV.set_frequency(final[2], final[3], profile=1) self.laserUV.set_frequency(final[2], final[3], profile=1)
self.laserIR2.set_frequency(final[4], final[5], profile=1) self.laserIR2.set_frequency(final[4], final[5], profile=1)
self.laserIR2shift.set_frequency(215*MHz, 0.5, profile=1) self.laserIR3.set_frequency(215*MHz, 0.5, profile=1)
print("jose maria listorti") print("jose maria listorti")
...@@ -283,16 +305,16 @@ class IR_Scan_simple(EnvExperiment): ...@@ -283,16 +305,16 @@ class IR_Scan_simple(EnvExperiment):
self.laserIR1.set_channel() self.laserIR1.set_channel()
self.laserUV.set_channel() self.laserUV.set_channel()
self.laserIR2.set_channel() self.laserIR2.set_channel()
self.laserIR2shift.set_channel() self.laserIR3.set_channel()
self.laserIR1.set_frequency(self.IR1_cooling_freq, self.IR1_cooling_amp, profile=0) self.laserIR1.set_frequency(self.IR1_cooling_freq, self.IR1_cooling_amp, profile=0)
self.laserIR2shift.set_frequency(215*MHz, 0.5, profile=0) self.laserIR3.set_frequency(215*MHz, 0.5, profile=0)
self.laserUV.set_frequency(self.UV_cooling_freq, self.UV_cooling_amp, profile=0) self.laserUV.set_frequency(self.UV_cooling_freq, self.UV_cooling_amp, profile=0)
self.laserIR2.set_frequency(self.IR2_cooling_freq, self.IR2_cooling_amp, profile=0) self.laserIR2.set_frequency(self.IR2_cooling_freq, self.IR2_cooling_amp, profile=0)
self.laserIR1.set_channel(profile=1) self.laserIR1.set_channel(profile=1)
self.core.break_realtime() self.core.break_realtime()
self.laserUV.set_channel(profile=1) self.laserUV.set_channel(profile=1)
self.core.break_realtime() self.core.break_realtime()
self.laserIR2shift.set_channel(profile=1) self.laserIR3.set_channel(profile=1)
self.core.break_realtime() self.core.break_realtime()
self.laserIR2.set_channel(profile=1) self.laserIR2.set_channel(profile=1)
self.core.break_realtime() self.core.break_realtime()
...@@ -301,7 +323,7 @@ class IR_Scan_simple(EnvExperiment): ...@@ -301,7 +323,7 @@ class IR_Scan_simple(EnvExperiment):
self.core.break_realtime() self.core.break_realtime()
self.laserIR2.set_frequency(self.IR2_CPT_freq, self.IR2_CPT_amp, profile=1) self.laserIR2.set_frequency(self.IR2_CPT_freq, self.IR2_CPT_amp, profile=1)
self.core.break_realtime() self.core.break_realtime()
self.laserIR2shift.set_frequency(215*MHz, 0.5, profile=1) self.laserIR3.set_frequency(215*MHz, 0.5, profile=1)
#self.laserTISA.set_frequency(self.TISA_CPT_freq, 0.035, profile=1) #self.laserTISA.set_frequency(self.TISA_CPT_freq, 0.035, profile=1)
self.core.break_realtime() self.core.break_realtime()
#self.laserIR1.set_channel(profile=2) #self.laserIR1.set_channel(profile=2)
...@@ -310,11 +332,11 @@ class IR_Scan_simple(EnvExperiment): ...@@ -310,11 +332,11 @@ class IR_Scan_simple(EnvExperiment):
#self.core.break_realtime() #self.core.break_realtime()
#self.laserIR2.set_channel(profile=2) #self.laserIR2.set_channel(profile=2)
#self.core.break_realtime() #self.core.break_realtime()
#self.laserIR2shift.set_channel(profile=2) #self.laserIR3.set_channel(profile=2)
#self.core.break_realtime() #self.core.break_realtime()
#self.laserIR1.set_frequency(self.IR1_cooling_freq, self.IR1_cooling_amp, profile=2) #self.laserIR1.set_frequency(self.IR1_cooling_freq, self.IR1_cooling_amp, profile=2)
#self.core.break_realtime() #self.core.break_realtime()
#self.laserIR2shift.set_frequency(270*MHz, 0.7, profile=2) #self.laserIR3.set_frequency(270*MHz, 0.7, profile=2)
#self.core.break_realtime() #self.core.break_realtime()
#self.laserUV.set_frequency(self.UV_cooling_freq, self.UV_cooling_amp, profile=2) #self.laserUV.set_frequency(self.UV_cooling_freq, self.UV_cooling_amp, profile=2)
#self.core.break_realtime() #self.core.break_realtime()
...@@ -331,7 +353,7 @@ class IR_Scan_simple(EnvExperiment): ...@@ -331,7 +353,7 @@ class IR_Scan_simple(EnvExperiment):
self.laserIR1.select_profile(0) # Pongo el laser en el perfil referencia self.laserIR1.select_profile(0) # Pongo el laser en el perfil referencia
self.laserUV.select_profile(0) # Pongo el laser en el perfil referencia self.laserUV.select_profile(0) # Pongo el laser en el perfil referencia
self.laserIR2.select_profile(0) self.laserIR2.select_profile(0)
self.laserIR2shift.select_profile(0) self.laserIR3.select_profile(0)
@kernel @kernel
def calentar_ion(self): def calentar_ion(self):
...@@ -345,7 +367,7 @@ class IR_Scan_simple(EnvExperiment): ...@@ -345,7 +367,7 @@ class IR_Scan_simple(EnvExperiment):
self.laserUV.select_profile(1) # Paso al perfil que cambia self.laserUV.select_profile(1) # Paso al perfil que cambia
self.laserIR1.select_profile(1) # Paso al perfil que cambia self.laserIR1.select_profile(1) # Paso al perfil que cambia
self.laserIR2.select_profile(1) # Paso al perfil que cambia self.laserIR2.select_profile(1) # Paso al perfil que cambia
self.laserIR2shift.select_profile(1) self.laserIR3.select_profile(1)
delay(self.t_trans) delay(self.t_trans)
here = self.pmt.gate_rising(self.t_readout) # Que mida durante t_readout here = self.pmt.gate_rising(self.t_readout) # Que mida durante t_readout
......
...@@ -11,6 +11,14 @@ class IR_Scan_simple(EnvExperiment): ...@@ -11,6 +11,14 @@ class IR_Scan_simple(EnvExperiment):
BASE_URL = 'http://liaf-iseg/api/setItem/55005e1a49cad-69/0/0/'+f'{channel:.0f}'+'/Control.voltageSet/'+f'{voltage:.2f}'+'/V' BASE_URL = 'http://liaf-iseg/api/setItem/55005e1a49cad-69/0/0/'+f'{channel:.0f}'+'/Control.voltageSet/'+f'{voltage:.2f}'+'/V'
response = urllib.request.urlopen(f"{BASE_URL}").read() response = urllib.request.urlopen(f"{BASE_URL}").read()
def voltagecheck(self,channel) -> TFloat:
BASE_URL = 'http://liaf-iseg/api/getItem/55005e1a49cad-69/0/0/'+f'{channel:.0f}'+'/Control.voltageSet/'
response = urllib.request.urlopen(f"{BASE_URL}").read()
texto = response.decode("utf-8")
volts = float(texto.split(',')[6].split(':')[1][1:-1])
return volts
def build(self): def build(self):
...@@ -102,7 +110,7 @@ class IR_Scan_simple(EnvExperiment): ...@@ -102,7 +110,7 @@ class IR_Scan_simple(EnvExperiment):
self.setattr_argument("Comments", StringValue(" "), "General comments") self.setattr_argument("Comments", StringValue(" "), "General comments")
@rpc @rpc
def create_datasets(self): def create_datasets(self):
...@@ -135,7 +143,7 @@ class IR_Scan_simple(EnvExperiment): ...@@ -135,7 +143,7 @@ class IR_Scan_simple(EnvExperiment):
self.set_dataset("t_readout", self.t_readout, broadcast=False, archive=True) self.set_dataset("t_readout", self.t_readout, broadcast=False, archive=True)
self.set_dataset("Comments", self.Comments, broadcast=False, archive=True) self.set_dataset("Comments", self.Comments, broadcast=False, archive=True)
@rpc(flags={"async"}) @rpc(flags={"async"})
def create_applets(self, no_freqs): def create_applets(self, no_freqs):
...@@ -143,7 +151,7 @@ class IR_Scan_simple(EnvExperiment): ...@@ -143,7 +151,7 @@ class IR_Scan_simple(EnvExperiment):
self.ccb.issue("create_applet", "IR_espectro", self.ccb.issue("create_applet", "IR_espectro",
"${python} -m pyLIAF.artiq.applets.plot_xy " "${python} -m pyLIAF.artiq.applets.plot_xy "
"counts_spectrum " "counts_spectrum "
"--x Volage_iseg") "--x Voltage_iseg")
@rpc @rpc
def Get_Voltage_list(self) -> TList(TFloat): def Get_Voltage_list(self) -> TList(TFloat):
...@@ -170,19 +178,20 @@ class IR_Scan_simple(EnvExperiment): ...@@ -170,19 +178,20 @@ class IR_Scan_simple(EnvExperiment):
@kernel @kernel
def run(self): def run(self):
finalVolt = self.voltagecheck(2)
t_cool_mu = self.core.seconds_to_mu(self.t_cool) # Precomputo esto para despues t_cool_mu = self.core.seconds_to_mu(self.t_cool) # Precomputo esto para despues
cuentas = 0 cuentas = 0
self.create_datasets() self.create_datasets()
Volts = self.Get_Voltage_list() Volts = self.Get_Voltage_list()
self.voltagecheck(2)
self.create_applets(len(Volts)) self.create_applets(len(Volts))
self.init_kernel() self.init_kernel()
delay(1*ms) delay(1*ms)
self.laserIR1.on() self.laserIR1.on()
self.laserIR2.on() self.laserIR2.off()
self.laserIR3.on() self.laserIR3.on()
self.laserUV.on() self.laserUV.on()
...@@ -198,11 +207,11 @@ class IR_Scan_simple(EnvExperiment): ...@@ -198,11 +207,11 @@ class IR_Scan_simple(EnvExperiment):
delay(10000*us) delay(10000*us)
self.core.break_realtime() self.core.break_realtime()
for runN in range(self.no_measures): for runN in range(self.no_measures):
if runN % 2 == 0: #if runN % 2 == 0: #lo comento para ver si da mejor si siempre enfrio
delay(self.t_cool) # delay(self.t_cool)
else: #else:
delay(100*us) # delay(100*us)
delay(self.t_cool)
cuentas = self.readout() # Hago la medicion y vuelvo con las cuentas cuentas = self.readout() # Hago la medicion y vuelvo con las cuentas
Accumulated_counts = Accumulated_counts + cuentas Accumulated_counts = Accumulated_counts + cuentas
self.mutate_dataset("counts_spectrum", iter_index, Accumulated_counts) self.mutate_dataset("counts_spectrum", iter_index, Accumulated_counts)
...@@ -225,7 +234,7 @@ class IR_Scan_simple(EnvExperiment): ...@@ -225,7 +234,7 @@ class IR_Scan_simple(EnvExperiment):
self.laserUV.set_frequency(final[2], final[3], profile=1) self.laserUV.set_frequency(final[2], final[3], profile=1)
self.laserIR2.set_frequency(final[4], final[5], profile=1) self.laserIR2.set_frequency(final[4], final[5], profile=1)
self.laserIR3.set_frequency(final[6], final[7], profile=1) self.laserIR3.set_frequency(final[6], final[7], profile=1)
self.voltageupdate(2,finalVolt)
print("jose maria listorti") print("jose maria listorti")
@kernel @kernel
...@@ -269,7 +278,6 @@ class IR_Scan_simple(EnvExperiment): ...@@ -269,7 +278,6 @@ class IR_Scan_simple(EnvExperiment):
"""Enfrio llevando el laser IR a una cierta frecuencia""" """Enfrio llevando el laser IR a una cierta frecuencia"""
self.laserIR1.select_profile(0) # Pongo el laser en el perfil referencia self.laserIR1.select_profile(0) # Pongo el laser en el perfil referencia
self.laserUV.select_profile(0) # Pongo el laser en el perfil referencia self.laserUV.select_profile(0) # Pongo el laser en el perfil referencia
self.laserIR2.select_profile(0)
self.laserIR2.off() self.laserIR2.off()
self.laserIR3.select_profile(0) self.laserIR3.select_profile(0)
...@@ -291,6 +299,8 @@ class IR_Scan_simple(EnvExperiment): ...@@ -291,6 +299,8 @@ class IR_Scan_simple(EnvExperiment):
delay(self.t_trans) delay(self.t_trans)
here = self.pmt.gate_rising(self.t_readout) # Que mida durante t_readout here = self.pmt.gate_rising(self.t_readout) # Que mida durante t_readout
self.laserIR2.off()
self.laserIR3.on()
self.enfriar_ion() # ya pongo a enfriar, asi todos los retardos estan enfriando self.enfriar_ion() # ya pongo a enfriar, asi todos los retardos estan enfriando
return self.pmt.count(here) # recupero las cuentas medidas return self.pmt.count(here) # recupero las cuentas medidas
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment