pcdsdevices.attenuator.AttenuatorCalculator_AT2L0
- class pcdsdevices.attenuator.AttenuatorCalculator_AT2L0(prefix, *, name, **kwargs)
- Solid attenuator variant from the LCLS-II XTES project. - Parameters:
 - Ophyd Device Components - Attribute - Class - Suffix - Docs - Kind - Notes - calc_mode - EpicsSignal- :SYS:CalcMode- Floor or Ceiling calculation - config - Inherited from - AttenuatorCalculatorBase- energy_source - EpicsSignal- :SYS:EnergySource- Use beamline photon energy or custom energy? - config - Inherited from - AttenuatorCalculatorBase- energy_custom - EpicsSignal- :SYS:CustomPhotonEnergy- Custom energy to use for calculations [eV] - config - Inherited from - AttenuatorCalculatorBase- energy_actual - EpicsSignalRO- :SYS:ActualPhotonEnergy_RBV- The reported beamline photon energy [eV] - normal - Inherited from - AttenuatorCalculatorBase- actual_transmission - EpicsSignalRO- :SYS:ActualTransmission_RBV- Actual normalized transmission value - normal - Inherited from - AttenuatorCalculatorBase- actual_transmission_3omega - EpicsSignalRO- :SYS:Actual3OmegaTransmission_RBV- Actual 3 omega normalized transmission value - normal - Inherited from - AttenuatorCalculatorBase- desired_transmission - EpicsSignal- :SYS:DesiredTransmission- Desired normalized transmission value - normal - Inherited from - AttenuatorCalculatorBase- last_energy - EpicsSignalRO- :SYS:LastPhotonEnergy_RBV- The photon energy used for the previous calculation; i.e., the one that goes along with - best_config.- config - Inherited from - AttenuatorCalculatorBase- best_config - EpicsSignalRO- :SYS:BestConfiguration_RBV- The best configuration of filters for the desired transmission - normal - Inherited from - AttenuatorCalculatorBase- best_config_bitmask - EpicsSignalRO- :SYS:BestConfigurationBitmask_RBV- The best configuration of filters for the desired transmission. - normal - Inherited from - AttenuatorCalculatorBase- best_config_error - EpicsSignalRO- :SYS:BestConfigError_RBV- Desired to calculated transmission error - normal - Inherited from - AttenuatorCalculatorBase- active_config - EpicsSignalRO- :SYS:ActiveConfiguration_RBV- Where the filters are now - omitted - Inherited from - AttenuatorCalculatorBase- active_config_bitmask - EpicsSignalRO- :SYS:ActiveConfigurationBitmask_RBV- Where the filters are now (as an integer) - normal - Inherited from - AttenuatorCalculatorBase- filters_moving - EpicsSignalRO- :SYS:FiltersMoving_RBV- Filter-by-filter motion status (1 if moving) - normal - Inherited from - AttenuatorCalculatorBase- filters_moving_bitmask - EpicsSignalRO- :SYS:FiltersMovingBitmask_RBV- Filter-by-filter motion status as a bitmask - normal - Inherited from - AttenuatorCalculatorBase- run_calculation - EpicsSignal- :SYS:Run- Start the calculation - config - Inherited from - AttenuatorCalculatorBase- apply_config - EpicsSignal- :SYS:ApplyConfiguration- Apply the best configuration (i.e., move the filters) - config - Inherited from - AttenuatorCalculatorBase- moving - EpicsSignalRO- :SYS:Moving_RBV- Are filters being moved in/out? - config - Inherited from - AttenuatorCalculatorBase- filters (DDC) - Filters- (See below) - normal - AttenuatorCalculator_AT2L0.filters (DDC) Dynamic Device Components - Attribute - Class - Suffix - Docs - Kind - Notes - filter_02 - :FILTER:02:- normal - filter_03 - :FILTER:03:- normal - filter_04 - :FILTER:04:- normal - filter_05 - :FILTER:05:- normal - filter_06 - :FILTER:06:- normal - filter_07 - :FILTER:07:- normal - filter_08 - :FILTER:08:- normal - filter_09 - :FILTER:09:- normal - filter_10 - :FILTER:10:- normal - filter_11 - :FILTER:11:- normal - filter_12 - :FILTER:12:- normal - filter_13 - :FILTER:13:- normal - filter_14 - :FILTER:14:- normal - filter_15 - :FILTER:15:- normal - filter_16 - :FILTER:16:- normal - filter_17 - :FILTER:17:- normal - filter_18 - :FILTER:18:- normal - filter_19 - :FILTER:19:- normal - Methods - calculate(transmission, *, energy=None, use_floor=True)
- Calculate a blade configuration given a desired transmission value. - If - energyis not specified, this method defaults to using the current L-line photon energy, as reported by the Photon Machine Protection System:- PMPS:LFE:PE:UND:CurrentPhotonEnergy_RBV.
 - 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_active_config(**kwargs)
- Get the active filter configuration. 
 - get_best_config(**kwargs)
- Get the calculated (best) filter configuration. 
 - get_moving_status(**kwargs)
- Get the filter motion status. 
 - 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.
 
 - 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
 - first_filter = 2
 - hints
 - kind
 - num_filters = 18