Class CommonBeamlineDevicesConfiguration

java.lang.Object
gda.factory.FindableBase
org.eclipse.scanning.device.CommonBeamlineDevicesConfiguration
All Implemented Interfaces:
Findable

public class CommonBeamlineDevicesConfiguration extends FindableBase
A bean specifying the names of common device types present on most beamlines. This is used to add metadata for these devices to the nexus tree for all scans on the beamline when using NexusScanDataWriter or new scanning. Typically, each device will be an instance of some class implementing INexusDevice and be registered with the INexusDeviceService.
  • Constructor Details

    • CommonBeamlineDevicesConfiguration

      public CommonBeamlineDevicesConfiguration()
      Do not call this constructor directly except in test code. It should declared in spring and accessed via getInstance(). For use in test code only!
  • Method Details

    • getInstance

      public static CommonBeamlineDevicesConfiguration getInstance()
      Returns the configured CommonBeamlineDevicesConfiguration instance if one has been configured. In GDA this will normally be configured via spring. Test code should call setInstance(CommonBeamlineDevicesConfiguration). Not thread-safe.
      Returns:
      the instance of this bean class
    • setInstance

      public static void setInstance(CommonBeamlineDevicesConfiguration newInstance)
      Sets the CommonBeamlineDevicesConfiguration. Note: For use in test code only! Not thread-safe
    • isEnforceMandatoryDeviceNames

      public boolean isEnforceMandatoryDeviceNames()
    • setEnforceMandatoryDeviceNames

      public void setEnforceMandatoryDeviceNames(boolean enforceMandatoryDeviceNames)
    • getSourceName

      public String getSourceName()
      Returns the name of the INexusDevice that will contribute the NXsource group to the nexus file. The class SourceNexusDevice is provided for this purpose.
      Returns:
      name of source nexus device
    • setSourceName

      public void setSourceName(String sourceName)
    • getInsertionDeviceName

      public String getInsertionDeviceName()
      Returns the name of the INexusDevice that will contribute the NXinsertion_device group to the nexus file. The class InsertionDeviceNexusDevice is provided for this purpose. Note that only this field or getBendingMagnetName() should be set.
      Returns:
      name of insertion device nexus device
    • setInsertionDeviceName

      public void setInsertionDeviceName(String insertionDeviceName)
    • getBendingMagnetName

      public String getBendingMagnetName()
      Returns the name of the INexusDevice that will contribute the NXbending_magnet group to the nexus file. Note that only this field or getInsertionDeviceName() should be set.
      Returns:
      name of the bending magnet nexus device
    • setBendingMagnetName

      public void setBendingMagnetName(String bendingMagnetName)
    • getMonochromatorName

      public String getMonochromatorName()
      Returns the name of the INexusDevice that will contribute the NXbending_magnet group to the nexus file. The class MonochromatorNexusDevice is provided for this purpose.
      Returns:
      name of monochromator nexus device
    • setMonochromatorName

      public void setMonochromatorName(String monochromatorName)
    • getBeamName

      public String getBeamName()
      Returns the name of the INexusDevice that will contribute the NXbeam group to the nexus file. The class BeamNexusDevice is provided for this purpose.
      Returns:
      name of beam nexus device
    • setBeamName

      public void setBeamName(String beamName)
    • getUserDeviceName

      public String getUserDeviceName()
    • setUserDeviceName

      public void setUserDeviceName(String userDeviceName)
    • setAdditionalDeviceNames

      public void setAdditionalDeviceNames(Set<String> additionalDeviceNames)
    • getAdditionalDeviceNames

      public Set<String> getAdditionalDeviceNames()
      Returns the set of additional metadata device names (i.e. additional to those with specific fields in this class) to be added to all scans.
      Returns:
      additional device names
    • addAdditionalDeviceName

      public void addAdditionalDeviceName(String deviceName)
    • addAdditionalDeviceNames

      public void addAdditionalDeviceNames(Collection<String> deviceNames)
    • removeAdditionalDeviceName

      public void removeAdditionalDeviceName(String deviceName)
    • setDisabledDeviceNames

      public void setDisabledDeviceNames(Set<String> disabledDeviceNames)
    • getMandatoryDeviceNames

      public Set<String> getMandatoryDeviceNames()
    • setMandatoryDeviceNames

      public void setMandatoryDeviceNames(Set<String> mandatoryDeviceNames)
    • isMandatoryDeviceName

      public boolean isMandatoryDeviceName(String deviceName)
    • getDisabledDeviceNames

      public Set<String> getDisabledDeviceNames()
    • enableDevice

      public void enableDevice(String deviceName)
    • enableDevices

      public void enableDevices(String... deviceNames)
    • disableDevice

      public void disableDevice(String deviceName)
    • disableDevices

      public void disableDevices(String... deviceNames)
    • getCommonDeviceNames

      public Set<String> getCommonDeviceNames()
    • isEnabled

      public boolean isEnabled()
    • setEnabled

      public void setEnabled(boolean enabled)
    • isLaboratoryConfig

      public boolean isLaboratoryConfig()
    • setLaboratoryConfig

      public void setLaboratoryConfig(boolean laboratoryConfig)