Package xal.smf.impl

Class WireScanner.ScanConfig

All Implemented Interfaces:
Cloneable, ProfileDevice.IProfileDomain, DataListener
Enclosing class:
WireScanner

public static class WireScanner.ScanConfig extends ParameterSet implements ProfileDevice.IProfileDomain
This class is a data structure for managing scan configuration parameters.
Since:
Nov 9, 2009
Author:
Christopher K. Allen
  • Field Details

    • DBL_INV_SQRT_2

      public static final double DBL_INV_SQRT_2
      the numeric value 1/2-1/2
    • FLD_MAP

      public static final ScadaFieldMap FLD_MAP
      The map between structure field names and there corresponding descriptors
    • posInit

      @Field(type=double.class, ctrl=true, hndRb="ScanCfgInitPosRb", hndSet="ScanCfgInitPosSet") public double posInit
      The initial (actuator) position of the scan in mm. This is the actuator location where the data acquisition begins. The actuator initially moves to this location then begins the data scan at the specified scan rate. The data is taken between this value and that returned by compFinalPosition().
    • stepCount

      @Field(type=int.class, ctrl=true, hndRb="ScanCfgStepCntRb", hndSet="ScanCfgStepCntSet") public int stepCount
      The total number of profile data samples in the scan data set. That is, the number of actuator steps during data acquisition.
    • stepLength

      @Field(type=double.class, ctrl=true, hndRb="ScanCfgStepLngRb", hndSet="ScanCfgStepLngSet") public double stepLength
      The size of each scan step in mm. That is, the distance between actuator positions for each profile data sample.
    • pulseCount

      @Field(type=int.class, ctrl=true, hndRb="ScanCfgStepPulsesRb", hndSet="ScanCfgStepPulsesSet") public int pulseCount
      The number of beam pulses (traces) used to compute a profile sample value. Note that a value greater than 1 indicates averaging. Attempting to set the value less than 1 does nothing.
    • lngScan

      @Field(type=double.class, ctrl=false, hndRb="ScanCfgScanLngRb") public double lngScan
      The maximum position of the scan considering the current values of posInit, stepLength, and stepCount
    • lngStroke

      @Field(type=double.class, ctrl=false, hndRb="ScanCfgStrokeLngRb") public double lngStroke
      The stroke length of the device actuator. Thus, this is the maximum possible distance the wire can travel while taking data. It is a mechanical limitation.

      The product of stepLength × stepCount must be less than this value. This is a read-only quantity.
    • errScanRng

      @Field(type=int.class, ctrl=false, hndRb="ScanCfgScanOutOfRngRb") public int errScanRng
      Error flag indicating that the scan parameters are inconsistent, that is, they do not describe a viable scan.
  • Constructor Details

    • ScanConfig

      public ScanConfig()
      Create a new, uninitialized ScanConfig object.
      Since:
      Nov 13, 2009
    • ScanConfig

      public ScanConfig(DataAdaptor daptSrc)
      Create a new ScanConfig object initialized from the given data source.
      Parameters:
      daptSrc - data source containing data structure fields
      Since:
      Mar 17, 2010
    • ScanConfig

      public ScanConfig(ProfileDevice ws) throws ConnectionException, GetException
      Create a new ScanConfig object initialize with values fetched from the given device.
      Parameters:
      ws - data acquisition device
      Throws:
      ConnectionException - unable to connect to a parameter read back channel
      GetException - general field initialization exception
      Since:
      Dec 16, 2009
  • Method Details