Class BeamSpotApplication

java.lang.Object
org.scictrl.csshell.epics.server.application.AbstractApplication
org.scictrl.csshell.epics.server.application.BeamSpotApplication
All Implemented Interfaces:
org.scictrl.csshell.epics.server.Application, org.scictrl.csshell.epics.server.processor.OnDemandValueProcessor.ValueProvider

public class BeamSpotApplication extends org.scictrl.csshell.epics.server.application.AbstractApplication

BeamSpotApplication connects server with direct beam parameters, then filters and averages them and provides summary data. Measurements with Q below threshold are discarded as unreliable.

Supported XML parameters

  • count - number of measurements to be taken into averaging. Default 1.
  • time_window - only calculate averages, if timestamps of received values are within this time window.
  • inputPvs.size_h - input PV for size in H
  • inputPvs.size_v - input PV for size in V
  • inputPvs.pos_h - input PV for position in H
  • inputPvs.pos_v - input PV for position in V
  • inputPvs.chi2_h - input PV for chi square in H
  • inputPvs.chi2_v - input PV for chi square in V
  • inputPvs.fwhm_h - input PV for FWHM in H
  • inputPvs.fwhm_v - input PV for FWHM in V
  • range.h_min - lower limit for acceptable position range in H, default -8.0
  • range.h_max - upper limit for acceptable position range in H, default 8.0
  • range.v_min - lower limit for acceptable position range in V, default -8.0
  • range.v_max - upper limit for acceptable position range in V, default 8.0
  • range.center - limit for acceptable position range center, default 0.1
  • range.deviation - limit for acceptable averaging deviation, default 0.1
  • range.area - limit for acceptable beam spot area size, default 0.1
  • range.chi2_min - lower limit for acceptable Chi square, default 0.0
  • range.chi2_max - upper limit for acceptable Chi square, default 1.0
  • laserSwitchPv - PV for switching on/off the laser, default F:LAS:Timing:01:PulsePicker:Enabled
  • findBeamPv - PV for automatic beam recognition by frame grabber, default F:GL:Python:01:DiagCam:Do_ROI
  • takeBackgroundPv - PV for taking fresh screen background fro background substractions, default F:GL:Python:01:DiagCam:Take_New_BG
  • takeBackgroundBusyPv - PV for signal notifying frame grabber is bussy with backgroudn measurement, default F:GL:Python:01:DiagCam:BG_proc

Application provides PVs with following suffixes:

  • Pos:H - Averaged position in horizontal, in mm as float.
  • Pos:H:Std - STD for horizontal position, in mm as float.
  • Pos:V - Averaged position vertical, in mm as float.
  • Pos:V:Std - STD for vertical position, in mm as float.
  • Size:H - Averaged size in horizontal, in mm as float.
  • Size:H:Std - STD for horizontal size, in mm as float.
  • Size:V - Averaged size in vertical, in mm as float.
  • Size:V:Std - STD for vertical size, in mm as float.
  • Chi2:H - Maximal Chi square in horizontal, float.
  • Chi2:V - Maximal Chi square in vertical, float.
  • Fwhm:H - Averaged FWHM square in horizontal, float.
  • Fwhm:V - Averaged FWHM square in vertical, float.
  • Area - Averaged beam spot area, mm^2 as float.
  • Area:Std - STD for beam spot area, mm^2 as float.
  • Area:Min - minimal beam spot area out of averaged, mm^2 as float.
  • Deviation - Deviation of averages, float.
  • Count - Averaging count, float.
  • Data - Array with combined essential data, see BeamSpotApplication.BeamSpotData for field descriptions.
  • Status:InRange - Beam position within range window, status bit as byte.
  • Status:Stable - Beam position reading stable, status bit as byte.
  • Status:FitGood - Beam gauss fit chi square below threshold, status bit as byte.
  • Status:Centred - Beam position centred on 0, status bit as byte.
  • Status:Small - Beam area below threshold, status bit as byte.
  • Status:Valid - Beam position valid, status bit as byte.
  • Range:Area - limit for acceptable beam spot area size, mm^2 as float.
  • Range:Center - limit for acceptable position range center, mm as float.
  • Range:Deviation - limit for acceptable averaging deviation, float.
  • Range:Hor:Min - lower limit for acceptable position range in H, mm as float.
  • Range:Hor:Max - upper limit for acceptable position range in H, mm as float.
  • Range:Ver:Min - lower limit for acceptable position range in V, mm as float.
  • Range:Ver:Max - upper limit for acceptable position range in V, mm as float.
  • Range:Chi2:Min - lower limit for acceptable Chi square, float.
  • Range:Chi2:Max - upper limit for acceptable Chi square, float.
  • Status:BgBusy - Busy taking background measurement, status bit as byte.
  • Cmd:BgTake - Command to take beam background measurement, 1 triggers command.
Author:
igor@scictrl.com
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static enum 
    Enumeration defining name and position of parameters in data array with combined measurements returned trough DATA PV.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    Suffix for PV name which provides array with combined data.

    Fields inherited from class org.scictrl.csshell.epics.server.application.AbstractApplication

    database, DEFAULT_NAME_DELIMITER, dynamicRecordCreator, ERROR_SUM, LINK_ERROR, LINK_ERROR_STRING, links, log, name, NAME_DELIMITER, nameDelimiter, records
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructor for BeamSpotApplication.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    configure(String name, org.apache.commons.configuration.HierarchicalConfiguration config)
    protected void
    protected void
    notifyRecordChange(String name, boolean alarmOnly)
    protected void

    Methods inherited from class org.scictrl.csshell.epics.server.application.AbstractApplication

    activate, addRecord, addRecordOfCommandProcessor, addRecordOfMemoryValueProcessor, addRecordOfMemoryValueProcessor, addRecordOfMemoryValueProcessor, addRecordOfMemoryValueProcessor, addRecordOfMemoryValueProcessor, addRecordOfMemoryValueProcessor, addRecordOfMemoryValueProcessor, addRecordOfMemoryValueProcessor, addRecordOfMemoryValueProcessor, addRecordOfOnDemandProcessor, addRecordOfOnLinkValueProcessor, configure, connectLinks, createNewStore, fullRecordName, getLinks, getName, getNameDelimiter, getNotNull, getRecord, getRecordErrorSum, getRecordLinkError, getRecordNames, getRecords, getStore, getStore, getValue, initialize, isActivated, isDynamicRecordCreator, log4debug, log4error, log4error, log4info, processLinkChange, pushDoneCommandProcessor, reconnectLinks, resetOnDemandProcessor, restore, store, toString, updateErrorSum, updateErrorSum, updateLinkError, updateLinkError

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

  • Constructor Details

    • BeamSpotApplication

      public BeamSpotApplication()

      Constructor for BeamSpotApplication.

  • Method Details

    • configure

      public void configure(String name, org.apache.commons.configuration.HierarchicalConfiguration config)
      Specified by:
      configure in interface org.scictrl.csshell.epics.server.Application
      Overrides:
      configure in class org.scictrl.csshell.epics.server.application.AbstractApplication
    • notifyRecordWrite

      protected void notifyRecordWrite(String name)
      Overrides:
      notifyRecordWrite in class org.scictrl.csshell.epics.server.application.AbstractApplication
    • notifyRecordChange

      protected void notifyRecordChange(String name, boolean alarmOnly)
      Overrides:
      notifyRecordChange in class org.scictrl.csshell.epics.server.application.AbstractApplication
    • notifyLinkChange

      protected void notifyLinkChange(String name)
      Overrides:
      notifyLinkChange in class org.scictrl.csshell.epics.server.application.AbstractApplication