Added I0 chamber

This commit is contained in:
2025-03-27 10:44:22 +01:00
parent 3d20248efe
commit 8a6f254dc8
3 changed files with 35 additions and 0 deletions

30
beamline/i0_chamber.py Normal file
View File

@ -0,0 +1,30 @@
from slic.core.device import Device
from slic.core.adjustable import PVAdjustable
from slic.devices.general.motor import Motor
class i0_chamber(Device):
def __init__(self, ID, name="Cristallina I0 chamber with slits and foils", process_time=1, **kwargs):
super().__init__(ID, name=name, **kwargs)
self.foils = Motor(ID+":MCS3", name="Cristallina I0 chamber foil selecting smaract stage")
self.slits = i0_slits_unit(ID,name="Cristallina I0 chamber slits")
class i0_slits_unit(Device):
def __init__(self, ID, **kwargs):
super().__init__(ID, **kwargs)
self.x_center = PVAdjustable(ID + "-XSLIT:SLIT_POS")
self.width = PVAdjustable(ID + "-XSLIT:SLIT_WIDTH")
self.y_center = PVAdjustable(ID + "-YSLIT:SLIT_POS")
self.height = PVAdjustable(ID + "-YSLIT:SLIT_WIDTH")
self.motors = i0_slits_motors(ID,name='Individual I0 chamber slit motors')
class i0_slits_motors(Device):
def __init__(self, ID, **kwargs):
super().__init__(ID, **kwargs)
self.x1 = Motor(ID + ":MCS4")
self.x2 = Motor(ID + ":MCS5")
self.y1 = Motor(ID + ":MCS2")
self.y2 = Motor(ID + ":MCS1")