Class EpicsProcessVariableCollection

java.lang.Object
gda.factory.FindableBase
gda.device.detector.EpicsProcessVariableCollection
All Implemented Interfaces:
Findable

public class EpicsProcessVariableCollection extends FindableBase
specify extra data items to be collected in a scan. These data items can be set in maps defined in Spring beans using following methods:

  • setName2PVNestedMap(Map) - this supports nested map in which data from PVs are further grouped into children nodes under this group before adding into containing node.
  • setName2PVSimpleMap(Map) - this supports simple map in which data from all PVs are grouped together in this group before adding into containing node.
  • setFieldsToAppend(Map) - this supports a multiple valued map in which data from different type items are added directly to the containing node.
  • setName2PairMap(Map) - this supports a simple map in which data from different type items are grouped together before adding into containing node.
All of these maps are optional, that is if it is not empty, data from PVs within the map will be collected, otherwise nothing will be collected in data file.

For the last 2 methods, there are 4 different EpicsProcessVariableCollection.InputType of items can be specified in Spring beans - (EpicsProcessVariableCollection.InputType.CONSTANT, EpicsProcessVariableCollection.InputType.PV, EpicsProcessVariableCollection.InputType.LINK, EpicsProcessVariableCollection.InputType.EXPRESSION).

Important to know:

Objects of this class tolerant with any PV access failure so it will not block data collection from others. Instead of throwing exception when PV access fails, it returns the error message of the PV access problem as well as makes ERROR log entry in the log file.

Usage:

Instance of this class can be injected into file writer MultipleImagesPerHDF5FileWriter or MultipleHDF5PluginsPerDetectorFileWriter to contribute to the data collection. The original requirements are to capture active detector setting parameters during data collection with the detector.

Since:
23 March 2021