pcdsdevices.spectrometer.Mono
- class pcdsdevices.spectrometer.Mono(*args, **kwargs)
- L2S-I NEH 2.X Monochromator - Axilon mechatronic design with LCLS-II Beckhoff motion architecture. - Parameters:- preifxstr
- Base PV for the monochromator 
- namestr
- Alias for the device 
 - Ophyd Device Components - Attribute - Class - Suffix - Docs - Kind - Notes - lightpath_summary - omitted - Inherited from - LightpathMixin- grating_states - :GRATING:STATE- mono grating states g_h - normal - m_pi - :MMS:M_PI- mirror pitch [urad] - normal - g_pi - :MMS:G_PI- grating pitch [urad] - normal - m_h - :MMS:M_H- mirror horizontal [um] - normal - g_h - :MMS:G_H- grating horizontal [um] - normal - sd_v - :MMS:SD_V- screwdriver vertical (in/out) [um] - normal - sd_rot - :MMS:SD_ROT- screwdriver rotation [urad] - normal - m_pi_up_enc - :ENC:M_PI:02- mirror pitch upstream encoder [urad] - omitted - g_pi_up_enc - :ENC:G_PI:02- grating pitch upstream encoder [urad] - omitted - m_pi_enc_rms - :MMS:M_PI:ENCDIFF:STATS:RMS- mirror pitch encoder RMS deviation [nrad] - normal - g_pi_enc_rms - :MMS:G_PI:ENCDIFF:STATS:RMS- grating pitch encoder RMS deviation [nrad] - normal - led_power_1 - :LED:01:PWR- LED power supply controls. - config - led_power_2 - :LED:02:PWR- LED power supply controls. - config - led_power_3 - :LED:03:PWR- LED power supply controls. - config - cool_flow1 - :FWM:1- flow meter 1 - normal - cool_flow2 - :FWM:2- flow meter 2 - normal - cool_press - :PRSM:1- pressure meter 1 - normal - grating_temp_1 - :RTD:01:TEMP- [deg C] - normal - grating_temp_2 - :RTD:02:TEMP- [deg C] - normal - grating_temp_3 - :RTD:03:TEMP- [deg C] - normal - grating_temp_4 - :RTD:04:TEMP- [deg C] - normal - grating_mask_temp_1 - :RTD:05:TEMP- [deg C] - normal - grating_mask_temp_2 - :RTD:06:TEMP- [deg C] - normal - grating_mask_temp_3 - :RTD:07:TEMP- [deg C] - normal - grating_mask_temp_4 - :RTD:08:TEMP- [deg C] - normal - mirror_mask_temp - :RTD:09:TEMP- [deg C] - normal - mirror_cooling_temp - :RTD:11:TEMP- [deg C] - normal - exit_mask_right_temp - :RTD:10:TEMP- [deg C] - normal - exit_mask_left_temp - :RTD:12:TEMP- [deg C] - normal - Methods - calc_lightpath_state(**kwargs) LightpathState
- Create and return a LightpathState object containing information needed for lightpath, given a set of signal values - kwargs should be the same as the signal names provided in - lightpath_cpts- Device logic goes here. - Returns:
- LightpathState – a dataclass containing the Lightpath state 
 
 - configure(d: Dict[str, Any]) Tuple[Dict[str, Any], Dict[str, Any]]
- Configure the device for something during a run - This default implementation allows the user to change any of the - configuration_attrs. Subclasses might override this to perform additional input validation, cleanup, etc.- Parameters:
- d (dict) – The configuration dictionary. To specify the order that the changes should be made, use an OrderedDict. 
- Returns:
- (old, new) tuple of dictionaries 
- Where old and new are pre- and post-configure configuration states. 
 
 
 - describe() OrderedDictType[str, Dict[str, Any]]
- Provide schema and meta-data for - read().- This keys in the - OrderedDictthis method returns must match the keys in the- OrderedDictreturn by- read().- This provides schema related information, (ex shape, dtype), the source (ex PV name), and if available, units, limits, precision etc. - Returns:
- data_keys (OrderedDict) – The keys must be strings and the values must be dict-like with the - event_model.event_descriptor.data_keyschema.
 
 - get(**kwargs)
- Get the value of all components in the device - Keyword arguments are passed onto each signal.get(). Components beginning with an underscore will not be included. 
 - get_lightpath_state(use_cache: bool = True) LightpathState
- Return the current LightpathState - Returns:
- LightpathState – a dataclass containing the Lightpath state 
 
 - post_elog_status()
- Post device status to the primary elog, if possible. 
 - read() OrderedDictType[str, Dict[str, Any]]
- Read data from the device. - This method is expected to be as instantaneous as possible, with any substantial acquisition time taken care of in - trigger().- The - OrderedDictreturned by this method must have identical keys (in the same order) as the- OrderedDictreturned by- describe().- By convention, the first key in the return is the ‘primary’ key and maybe used by heuristics in - bluesky.- The values in the ordered dictionary must be dict (-likes) with the keys - {'value', 'timestamp'}. The- 'value'may have any type, the timestamp must be a float UNIX epoch timestamp in UTC.- Returns:
- data (OrderedDict) – The keys must be strings and the values must be dict-like with the keys - {'value', 'timestamp'}
 
 - read_configuration() OrderedDictType[str, Dict[str, Any]]
- Dictionary mapping names to value dicts with keys: value, timestamp - To control which fields are included, change the Component kinds on the device, or modify the - configuration_attrslist.
 - screen()
- Open a screen for controlling the device. - Default behavior is the typhos screen, but this method can be overridden for more specialized screens. 
 - classmethod set_defaults(*, connection_timeout=10.0)
- Set class-wide defaults for device communications - This may be called only before any instances of Device are made. - This setting applies to the class it is called on and all its subclasses. For example, - >>> Device.set_defaults(...) - will apply to any Device subclass. - Parameters:
- connection_timeout (float, optional) – Time (seconds) allocated for establishing a connection with the IOC. 
- Raises:
- RuntimeError – If called after - EpicsSignalBasehas been instantiated for the first time.
 
 - stage_group_instances() Iterator[OphydObject]
- Yields an iterator of subdevices that should be staged. 
 - stop(*, success=False)
- Stop the Device and all (instantiated) subdevices 
 - summary()
 - trigger() StatusBase
- Trigger the device and return status object. - This method is responsible for implementing ‘trigger’ or ‘acquire’ functionality of this device. - If there is an appreciable time between triggering the device and it being able to be read (via the - read()method) then this method is also responsible for arranging that the- StatusBaseobject returned by this method is notified when the device is ready to be read.- If there is no delay between triggering and being readable, then this method must return a - StatusBaseobject which is already completed.- Returns:
- status (StatusBase) – - StatusBaseobject which will be marked as complete when the device is ready to be read.
 
 - Attributes - configuration_attrs
 - connected
 - connection_timeout
 - hints
 - kind
 - lightpath_cpts = ['m_pi.user_readback']
 - md
 - needs_parent: list[type[OphydObject]] = [<class 'ophyd.signal.AttributeSignal'>, <class 'ophyd.signal.DerivedSignal'>, <class 'ophyd.areadetector.plugins.PluginBase'>, <class 'ophyd.pseudopos.PseudoSingle'>, <class 'pcdsdevices.signal.PVStateSignal'>, <class 'pcdsdevices.signal.AggregateSignal'>]
 - transmission = 1