Class BeamMonitor

All Implemented Interfaces:
Device, Scannable, InitializationListener, Configurable, Findable, gda.observable.IObservable
Direct Known Subclasses:
LineRepeatingBeamMonitor

public class BeamMonitor extends BeamlineConditionMonitorBase implements InitializationListener
This will pause scans if the ring current goes below 1mA or if the front-end shutter is closed.

When the beam comes back it moves the energy scannable to its current position so that the ID gap is definitely at the right place.

To use, make sure that the shutterPV is correct for your beamline before configuring or using.

  • Constructor Details

    • BeamMonitor

      public BeamMonitor()
  • Method Details

    • configure

      public void configure() throws FactoryException
      Description copied from class: ConfigurableBase
      Default implementation for classes that do not have to do any specific configuration.
      Classes that do their own configuration should *not* call this superclass function, as it may cause the object to appear configured before it really is.
      Specified by:
      configure in interface Configurable
      Overrides:
      configure in class ConfigurableBase
      Throws:
      FactoryException - if there is an error in configuration e.g. required variable not set or cannot connect to device
    • atScanStart

      public void atScanStart() throws DeviceException
      Description copied from class: ScannableBase
      Called for every Scannable at the start of a group of nested scans (or a single scan if that is the case) Default behaviour is to do nothing. Inheriting classes have the option to implement this if their specific behaviour requires it.
      Specified by:
      atScanStart in interface Scannable
      Overrides:
      atScanStart in class BeamlineConditionMonitorBase
      Throws:
      DeviceException
      See Also:
    • isConnected

      protected boolean isConnected()
    • getNotConnectedMessage

      protected String getNotConnectedMessage()
    • testShouldPause

      protected void testShouldPause() throws DeviceException
      Description copied from class: BeamlineConditionMonitorBase
      The test is performed inside this method. An inheriting class could either wait inside this method until the condition has passed, or throw an Exception to end the scan, or throw a RedoScanLineThrowable to repeat the current scan.
      Specified by:
      testShouldPause in class BeamlineConditionMonitorBase
      Throws:
      DeviceException
      See Also:
    • portShuttersAllOpen

      protected boolean portShuttersAllOpen()
    • machineHasCurrent

      protected boolean machineHasCurrent()
    • initializationCompleted

      public void initializationCompleted()
      Description copied from interface: InitializationListener
      Called when all critical channels are connected.
      Specified by:
      initializationCompleted in interface InitializationListener
    • getShutterPVs

      public String[] getShutterPVs()
    • setShutterPVs

      public void setShutterPVs(String[] shutterPVs)
    • getModesToIgnore

      public String[] getModesToIgnore()
    • setModesToIgnore

      public void setModesToIgnore(String[] modesToIgnore)
    • setRingCurrentPV

      public void setRingCurrentPV(String ringCurrentPV)
    • getRingCurrentPV

      public String getRingCurrentPV()
    • getBeamlineEnergyWithGapScannable

      public Scannable getBeamlineEnergyWithGapScannable()
    • setBeamlineEnergyWithGapScannable

      public void setBeamlineEnergyWithGapScannable(Scannable beamlineEnergyWithGapScannable)