pcdsdevices.gon.SimKappa
- class pcdsdevices.gon.SimKappa
- Test version of the Kappa object. - Ophyd Device Components - Attribute - Class - Suffix - Docs - Kind - Notes - sample_stage - normal - Inherited from - Kappa- eta - normal - Inherited from - Kappa- kappa - normal - Inherited from - Kappa- phi - normal - Inherited from - Kappa- e_eta (FCpt) - normal - Inherited from - Kappa- e_chi (FCpt) - normal - Inherited from - Kappa- e_phi (FCpt) - normal - Inherited from - Kappa- Methods - check_motor_step(eta, kappa, phi)
- Check for the motor steps. - Compare desired movement destinations with current positions. If any of the deltas are greater than their respective max step, ask the user for confirmation. - Parameters:
- eta (number) – Desired eta destination position. 
- kappa (number) – Desired kappa destination position. 
- phi (number) – Desired phi destination position. 
 
- Returns:
- move_on (bool) – - Trueif motor step is smaller than the respective max step and/or the user has confirmed yes.
 
 - check_single(pseudo_single, single_pos)
- Check if a new position for a single pseudo positioner is valid 
 - 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.
 
 - e_to_k(e_eta=None, e_chi=None, e_phi=None)
- Convert from spherical coordinates to the native kappa coordinates. - If a parameter is left as None, use the live value. - Parameters:
- e_eta (number) – e_eta pseudo motor’s spherical coordinate 
- e_chi (number) – e_chi pseudo motor’s spherical coordinate 
- e_phi (number) – e_phi pseudo motor’s spherical coordinate 
 
- Returns:
- coordinates (tuple) – Native kappa coordinates. 
 
 - forward(pseudo_pos)
- Calculate a RealPosition from a given PseudoPosition. - Parameters:
- pseudo_pos (PseudoPosition) – The pseudo position input. 
- Returns:
- real_position (RealPosition) – The real position output. 
 
 - 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. 
 - inverse(real_pos)
- Calculate a PseudoPosition from a given RealPosition. - Parameters:
- real_position (RealPosition) – The real position input. 
- Returns:
- pseudo_pos (PseudoPosition) – The pseudo position output. 
 
 - k_to_e(eta=None, kappa=None, phi=None)
- Convert from native kappa coordinates to spherical coordinates. - If a parameter is left as None, use the live value. - Parameters:
- eta (number) – Eta motor position. 
- kappa (number) – Kappa motor position. 
- phi (number) – Phi motor position. 
 
- Returns:
- coordinates (tuple) – Spherical coordinates. 
 
 - move(position, wait=True, timeout=None, moved_cb=None)
- Move to a specified position, optionally waiting for motion to complete. - Checks for the motor step, and ask the user for confirmation if movement step is greater than default one. 
 - move_single(pseudo, position, **kwargs)
- Move one PseudoSingle axis to a position - All other positioners will use their current setpoint/target value, if available. Failing that, their current readback value will be used (see - PseudoSingle.syncand- PseudoSingle.target).
 - 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. 
 - set(position, **kwargs)
- Move to a new position asynchronously - Parameters:
- position (PseudoPosition) – Position for the all of the pseudo axes 
- Returns:
- status (MoveStatus) 
 
 - set_current_position(position)
- Adjust all offsets so that the pseudo position matches the input. - This will raise an AttributeError if any of the real motors is missing a - set_current_positionmethod.- Parameters:
- position (PseudoPos) – The position 
 
 - 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()
 - to_pseudo_tuple(*args, **kwargs)
- Convert arguments to a PseudoPosition namedtuple and kwargs 
 - to_real_tuple(*args, **kwargs)
- Convert arguments to a RealPosition namedtuple and kwargs 
 - 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.
 
 - wait(timeout=None)
- Block until the action completes. 
 - Attributes - composite_egu
- The composite engineering units (EGU) from all PseudoSingles 
 - concurrent
- If concurrent is set, motors will move concurrently (in parallel) 
 - configuration_attrs
 - connected
 - connection_timeout
 - e_chi_coord
- Get the elevation (polar) angle, a composition of eta and kappa. 
 - e_eta_coord
- Get the azimuthal angle, an offset from eta. 
 - e_phi_coord
- Get the sample rotation angle, an offset from phi to keep it. 
 - egu
- The engineering units (EGU) for positions 
 - high_limit
- All PseudoSingle high limits as a namedtuple 
 - hints
 - kind
 - limits
- All PseudoSingle limits as a namedtuple 
 - low_limit
- All PseudoSingle low limits as a namedtuple 
 - moving
 - 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'>]
 - position
- Pseudo motor position namedtuple 
 - pseudo_positioners
- Pseudo positioners instances in a namedtuple - Returns:
- positioner_instances (PseudoPosition) 
 
 - real_position
- Real motor position namedtuple 
 - real_positioners
- Real positioners instances in a namedtuple - Returns:
- positioner_instances (RealPosition) 
 
 - sequential
- If sequential is set, motors will move in the sequence they were defined in (i.e., in series) 
 - settle_time
- Amount of time to wait after moves to report status completion 
 - stage_group: list[Component] = [FormattedComponent(IMS, '{self._prefix_eta}', kind='normal'), FormattedComponent(IMS, '{self._prefix_kappa}', kind='normal'), FormattedComponent(IMS, '{self._prefix_phi}', kind='normal')]
 - subscriptions: ClassVar[FrozenSet[str]] = frozenset({'_req_done', 'acq_done', 'done_moving', 'readback', 'start_moving'})
 - target
- Last commanded target positions 
 - timeout
- Amount of time to wait before to considering a motion as failed