Commit add2088d authored by Nicolas Nunez Barreto's avatar Nicolas Nunez Barreto

modificadas transitorios

parent 3ef727a9
...@@ -39,6 +39,26 @@ class SingleLine(EnvExperiment): ...@@ -39,6 +39,26 @@ class SingleLine(EnvExperiment):
"Experiment params") "Experiment params")
self.setattr_argument(f"UV_measurement_freq",
NumberValue(80*MHz, unit='MHz', scale=MHz, min=1*MHz, max=400*MHz),
"Laser params")
self.setattr_argument(f"UV_measurement_amp",
NumberValue(0.3, min=0.01, max=0.3),
"Laser params")
self.setattr_argument(f"IR_measurement_freq",
NumberValue(208*MHz, unit='MHz', scale=MHz, min=1*MHz, max=400*MHz),
"Laser params")
self.setattr_argument(f"IR_measurement_amp",
NumberValue(0.35, min=0.01, max=0.35),
"Laser params")
self.setattr_argument("Comments", StringValue(" "), "General comments")
@rpc @rpc
def create_datasets(self): def create_datasets(self):
self.set_dataset("counts", [], self.set_dataset("counts", [],
......
...@@ -57,6 +57,23 @@ class SingleLine(EnvExperiment): ...@@ -57,6 +57,23 @@ class SingleLine(EnvExperiment):
NumberValue(0.35, min=0.01, max=0.35), NumberValue(0.35, min=0.01, max=0.35),
"Laser params") "Laser params")
self.setattr_argument(f"UV_cooling_freq",
NumberValue(80*MHz, unit='MHz', scale=MHz, min=1*MHz, max=400*MHz),
"Cooling params")
self.setattr_argument(f"UV_cooling_amp",
NumberValue(0.3, min=0.01, max=0.3),
"Cooling params")
self.setattr_argument(f"IR_cooling_freq",
NumberValue(208*MHz, unit='MHz', scale=MHz, min=1*MHz, max=400*MHz),
"Cooling params")
self.setattr_argument(f"IR_cooling_amp",
NumberValue(0.35, min=0.01, max=0.35),
"Cooling params")
self.setattr_argument("Comments", StringValue(" "), "General comments") self.setattr_argument("Comments", StringValue(" "), "General comments")
...@@ -83,7 +100,7 @@ class SingleLine(EnvExperiment): ...@@ -83,7 +100,7 @@ class SingleLine(EnvExperiment):
@rpc @rpc
def create_applets(self): def create_applets(self):
self.ccb.issue("create_applet", "cuentas", self.ccb.issue("create_applet", "SP_trans",
"${python} -m pyLIAF.artiq.applets.histogram " "${python} -m pyLIAF.artiq.applets.histogram "
"counts " "counts "
"--update-delay 0.2") "--update-delay 0.2")
...@@ -102,7 +119,7 @@ class SingleLine(EnvExperiment): ...@@ -102,7 +119,7 @@ class SingleLine(EnvExperiment):
# par enfriar al ion con los dos laseres prendidos # par enfriar al ion con los dos laseres prendidos
at_mu(self.core.get_rtio_counter_mu() + self.core.seconds_to_mu(self.t_cool) ) at_mu(self.core.get_rtio_counter_mu() + self.core.seconds_to_mu(self.t_cool) )
self.prep_S() self.prep_S()
t_end = self.readout() t_end = self.medicion_y_lectura()
self.save_counts(t_end) self.save_counts(t_end)
#self.mutate_dataset("counts", runN, counts) #self.mutate_dataset("counts", runN, counts)
...@@ -116,12 +133,17 @@ class SingleLine(EnvExperiment): ...@@ -116,12 +133,17 @@ class SingleLine(EnvExperiment):
def init_kernel(self): def init_kernel(self):
self.core.reset() self.core.reset()
self.pmt.input() self.pmt.input()
self.pmt_state.output() #self.pmt_state.output()
self.laserIR.initialize_channel()
self.laserUV.initialize_channel() #COMENTO INITIALIZE CHANNELS PORQUE NO ES NECESARIO INICIALIZARLOS
#TODO EL TIEMPO Y PORQUE TIRA UNDERFLOW
#self.laserIR.initialize_channel()
#self.laserUV.initialize_channel()
# Quizas haya errores de tiempo. # Quizas haya errores de tiempo.
self.pmt_state.off() #self.pmt_state.off()
delay(1*ms)
self.laserIR.set_channel() self.laserIR.set_channel()
delay(1*ms)
self.laserUV.set_channel() self.laserUV.set_channel()
self.core.wait_until_mu(now_mu()) self.core.wait_until_mu(now_mu())
...@@ -132,9 +154,24 @@ class SingleLine(EnvExperiment): ...@@ -132,9 +154,24 @@ class SingleLine(EnvExperiment):
self.core.break_realtime() self.core.break_realtime()
delay(1*ms)
self.laserIR.set_channel(profile=1)
delay(1*ms)
self.laserUV.set_channel(profile=1)
self.core.break_realtime()
self.laserUV.set_frequency(self.UV_cooling_freq, self.UV_cooling_amp, profile=1)
self.core.break_realtime()
self.laserIR.set_frequency(self.IR_cooling_freq, self.IR_cooling_amp, profile=1)
self.core.break_realtime()
self.core.wait_until_mu(now_mu())
@kernel @kernel
def enfriar_ion(self): def enfriar_ion(self):
"""Preparo el ion prendiendo ambos laseres""" """Preparo el ion prendiendo ambos laseres"""
self.laserUV.select_profile(1)
self.laserIR.select_profile(1)
self.laserIR.on() self.laserIR.on()
self.laserUV.on() self.laserUV.on()
#delay(self.t_cool) #delay(self.t_cool)
...@@ -142,13 +179,16 @@ class SingleLine(EnvExperiment): ...@@ -142,13 +179,16 @@ class SingleLine(EnvExperiment):
@kernel @kernel
def prep_S(self): def prep_S(self):
"""Preparo el estado S prendiendo solamente el laser IR""" """Preparo el estado S prendiendo solamente el laser IR"""
self.core.break_realtime()
self.laserIR.select_profile(0)
self.laserUV.select_profile(0)
self.laserIR.on() self.laserIR.on()
self.laserUV.off() self.laserUV.off()
delay(self.t_prepS) delay(self.t_prepS)
@kernel @kernel
def readout(self): def medicion_y_lectura(self):
"""Registro cuentas emitidas con el laser UV prendido""" """Registro cuentas emitidas con el laser UV prendido"""
self.laserIR.off() self.laserIR.off()
self.laserUV.on() self.laserUV.on()
...@@ -158,8 +198,7 @@ class SingleLine(EnvExperiment): ...@@ -158,8 +198,7 @@ class SingleLine(EnvExperiment):
self.pmt.gate_rising(self.t_readout) self.pmt.gate_rising(self.t_readout)
#with parallel: #with parallel:
#self.pmt_state.off() #self.pmt_state.off()
self.laserIR.on() self.enfriar_ion()
self.laserUV.on()
#self.pmt_state.pulse(self.t_readout) #self.pmt_state.pulse(self.t_readout)
#cuentas = self.pmt.count(here) #cuentas = self.pmt.count(here)
......
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