From 4055fba7e70e76cb1805a2489d978e6b02eddf94 Mon Sep 17 00:00:00 2001 From: Roman Mankowsky Date: Mon, 13 Nov 2017 18:56:11 +0100 Subject: [PATCH] Added Attenuator --- aliases/bernina.py | 3 ++- xoptics/attenuator_aramis.py | 37 ++++++++++++++++++++++++++---------- 2 files changed, 29 insertions(+), 11 deletions(-) diff --git a/aliases/bernina.py b/aliases/bernina.py index 0e86b2d..6fe6dfc 100755 --- a/aliases/bernina.py +++ b/aliases/bernina.py @@ -95,7 +95,8 @@ aliases = { 'SAROP21-OATT135' : { 'alias' : 'Att', 'z_und' : 135, - 'desc' : 'Attenuator Bernina'}, + 'desc' : 'Attenuator Bernina', + 'eco_type' : 'xoptics.attenuator_aramis.AttenuatorAramis'}, 'SAROP21-OAPU136' : { 'alias' : 'SlitAtt', 'z_und' : 136, diff --git a/xoptics/attenuator_aramis.py b/xoptics/attenuator_aramis.py index c33f827..908fc7b 100755 --- a/xoptics/attenuator_aramis.py +++ b/xoptics/attenuator_aramis.py @@ -1,25 +1,42 @@ from ..devices_general.motors import MotorRecord +from epics import PV class AttenuatorAramis: - def __init__(Id,elog=None): + def __init__(self, Id): self.Id = Id pass - def __call__(): - pass - def __str__(): - pass - def __status__(): - def updateE(): + + def __call__(self): pass - def set_transmission(self,value): + def __str__(self): pass - def setE(): + def __status__(self): + pass + def updateE(self, THG = False): + energy = PV("SARUN03-UIND030:FELPHOTENE").value + if (THG == True): + energy = energy*3 + energy = energy *1000 + PV(self.Id+":ENERGY").put(energy) + print("Set energy to %s eV"%energy) + return + + def set_transmission(self,value, THG = False): + self.updateE(THG) + PV(self.Id+":TRANS_SP").put(value) + self.updateE(THG = False) + print("Transmission Fundamental: %s THG: %s"%self.get_transmission()) pass - def get_transmission(self,E=current): + def setE(self): pass + def get_transmission(self): + tFun = PV(self.Id+":TRANS_RB").value + tTHG = PV(self.Id+":TRANS3EDHARM_RB").value + return (tFun, tTHG) +