From 6f6c8ee7b49e4867adcd494b7b963d7c732f40b4 Mon Sep 17 00:00:00 2001 From: Sven Augustin Date: Tue, 22 Jun 2021 14:38:55 +0200 Subject: [PATCH] added Eugenio's phase-shifter/CHIC calculation (still disabled) --- devices/undulator.py | 25 +++++++++++++++++++++++-- maloja.py | 4 ++-- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/devices/undulator.py b/devices/undulator.py index 1c0329e..011b14b 100644 --- a/devices/undulator.py +++ b/devices/undulator.py @@ -20,9 +20,10 @@ und_name_cal = "SATUN12-UIND030" class Undulators(Adjustable): - def __init__(self, scaled=True): - super().__init__(name="z Athos Undulators", units="eV") + def __init__(self, scaled=True, name="Athos Undulators", units="eV"): + super().__init__(name=name, units=units) self.adjs = {name: Undulator(name) for name in und_names} + self.chic = CHIC(name, units) self.scaled = scaled @@ -63,6 +64,8 @@ class Undulators(Adjustable): t = a.set_target_value(k_new, hold=False) tasks.append(t) wait_for_all(tasks) + print("Warning: CHIC adjustment is still commented!") +# self.chic.set_target_value(value) #TODO: test whether an additional sleep is needed return self._as_task(change, hold=hold) @@ -150,3 +153,21 @@ class ScalerEK: +class CHIC(PVAdjustable): + + def __init__(self, name, units): + name += " CHIC Energy" + super().__init__("SATUN-CHIC:PHOTON-ENERGY", name=name) + self.pvs.start = PV("SATUN-CHIC:APPLY-DELAY-OFFSET-PHASE") + self.units = units + + def set_target_value(self, value): + value /= 1000 + super().set_target_value(value) + self.pv_start.put(1) + + def get_current_value(self): + return super().get_current_value() * 1000 + + + diff --git a/maloja.py b/maloja.py index cfef4fa..2245dfa 100644 --- a/maloja.py +++ b/maloja.py @@ -13,7 +13,7 @@ from slic.utils import devices #from slic.core.acquisition.fakeacquisition import FakeAcquisition from devices.attenuator import Attenuator -from devices.undulator import Undulators, Undulator +from devices.undulator import Undulators dummy = DummyAdjustable(units="au") @@ -28,7 +28,7 @@ source_y = Motor("SATES20-MANIP1:MOTOR_1", name="Source manipulator y") source_x = Motor("SATES20-MANIP1:MOTOR_2", name="Source manipulator x") att = Attenuator("SATFE10-OATT064") -und = Undulators() +und = Undulators(name="z Athos Undulators") xota_z_trans = Motor("SATES21-XOTA166:W_Z", name="Table 1: Z coordinated") #xota_hori_z = Motor("SATES21-XOTA166:MOTOR_Z", name="Table 1: Z raw")