Added I0 chamber
This commit is contained in:
30
beamline/i0_chamber.py
Normal file
30
beamline/i0_chamber.py
Normal 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")
|
Reference in New Issue
Block a user