B
    ÚaÎ]÷  ã               @   s    d dl mZ G dd„ deƒZdS )é    )Ú	Subsystemc               @   sJ   e Zd ZdddgZddddœZdd„ Zdd	„ Zd
d„ Zdd„ Zdd„ Z	dS )ÚSpdk240ÚgratingÚ
wavelengthÚslitsÚIDLE)r   r   r   c             C   s"   | j  ¡  |  ¡ | _|  ¡ | _d S )N)ÚserverÚopenÚ	get_slitsÚ_slitsÚget_gratingÚ_grating)Úself© r   ú//home/dice/stardice/scheduler/monochromators.pyÚ_config
   s    

zSpdk240._configc             C   s"   |   ¡ | _|  ¡ | _|  ¡ | _d S )N)r   r   r
   r   Úget_wavelengthÚ_wavelength)r   r   r   r   Úsync_tracked_properties   s    

zSpdk240.sync_tracked_propertiesc             C   s   | j  ¡ d S )Né   )r   r   )r   r   r   r   r      s    zSpdk240.get_gratingc             C   s   | j  ¡ d S )Nr   )r   r
   )r   r   r   r   r
      s    zSpdk240.get_slitsc             C   s8   |dkr
n(| j |kr2| j |¡ || _ | j ¡ | _| j S )Nr   )r   r   Úset_gratingr   r   )r   r   r   r   r   r      s    
zSpdk240.set_gratingN)
Ú__name__Ú
__module__Ú__qualname__Útracked_propertiesÚexpected_paramsr   r   r   r
   r   r   r   r   r   r      s   
r   N)Ú
subsystemsr   r   r   r   r   r   Ú<module>   s   