Package gda.scan

Class TurboXasParameters

java.lang.Object
gda.scan.TurboXasParameters

public class TurboXasParameters extends Object
Collection of parameters used to define Turbo Xas scan. Also has methods to serialize/deserialize to/from XML. and load object from a file.
Since:
13/7/2016
  • Constructor Details

    • TurboXasParameters

      public TurboXasParameters()
    • TurboXasParameters

      public TurboXasParameters(ContinuousParameters contparams)
  • Method Details

    • setDefaults

      public void setDefaults()
    • getSampleName

      public String getSampleName()
    • setSampleName

      public void setSampleName(String sampleName)
    • getStartEnergy

      public double getStartEnergy()
    • setStartEnergy

      public void setStartEnergy(double startEnergy)
    • getEndEnergy

      public double getEndEnergy()
    • setEndEnergy

      public void setEndEnergy(double endEnergy)
    • getEnergyStep

      public double getEnergyStep()
    • setEnergyStep

      public void setEnergyStep(double energyStepSize)
    • getStartPosition

      public double getStartPosition()
    • setStartPosition

      public void setStartPosition(double startPosition)
    • setEndPosition

      public void setEndPosition(double endPosition)
    • getEndPosition

      public double getEndPosition()
    • getPositionStepSize

      public double getPositionStepSize()
    • setPositionStepSize

      public void setPositionStepSize(double positionStepSize)
    • isUsePositionsForScan

      public boolean isUsePositionsForScan()
    • setUsePositionsForScan

      public void setUsePositionsForScan(boolean usePositionsForScan)
    • addTimingGroup

      public void addTimingGroup(TurboSlitTimingGroup group)
    • setTimingGroups

      public void setTimingGroups(List<TurboSlitTimingGroup> groupList)
    • getTimingGroups

      public List<TurboSlitTimingGroup> getTimingGroups()
    • getNumTimingGroups

      public int getNumTimingGroups()
    • getTotalNumSpectra

      public int getTotalNumSpectra()
    • getGroupSpectrumIndices

      public org.apache.commons.math3.util.Pair<Integer,Integer> getGroupSpectrumIndices(int absIndex)
      Return group and spectrum index for given absolute spectrum index in whole collection. (this cycles around to first group again if specNumber > invalid input: '{@'#getTotalNumSpectra()})
      Parameters:
      specNumber - absolute spectrum index.
      Returns:
      Group and spectrum indices.
    • getEnergyCalibrationPolynomial

      public String getEnergyCalibrationPolynomial()
    • setEnergyCalibrationPolynomial

      public void setEnergyCalibrationPolynomial(String energyCalibrationPolynomial)
    • getEnergyCalibrationMinPosition

      public double getEnergyCalibrationMinPosition()
    • setEnergyCalibrationMinPosition

      public void setEnergyCalibrationMinPosition(double energyCalibrationMinPosition)
    • getEnergyCalibrationMaxPosition

      public double getEnergyCalibrationMaxPosition()
    • setEnergyCalibrationMaxPosition

      public void setEnergyCalibrationMaxPosition(double energyCalibrationMaxPosition)
    • getMotorToMove

      public String getMotorToMove()
    • setMotorToMove

      public void setMotorToMove(String motorToMove)
      Set name of motor to be moved during scan. This should implement the ContinuouslyScannable interface.
      Parameters:
      motorToMove -
    • getDetectors

      public List<String> getDetectors()
    • setDetectors

      public void setDetectors(List<String> detectors)
    • setDetectors

      public void setDetectors(String[] detectors)
      Set names of detectors to be used during scan - these should be BufferedDetectors.
      Parameters:
      detectors -
    • setExtraScannables

      public void setExtraScannables(List<String> extraScannables)
    • getExtraScannables

      public List<String> getExtraScannables()
    • getUseTrajectoryScan

      public boolean getUseTrajectoryScan()
    • setUseTrajectoryScan

      public void setUseTrajectoryScan(boolean useTrajectoryScan)
    • isTwoWayScan

      public boolean isTwoWayScan()
    • setTwoWayScan

      public void setTwoWayScan(boolean twoWayScan)
    • getEnergyCalibrationReferenceFile

      public String getEnergyCalibrationReferenceFile()
      Returns:
      Name of calibration file used as reference data during energy calibration.
    • setEnergyCalibrationReferenceFile

      public void setEnergyCalibrationReferenceFile(String energyCalibrationReferenceFile)
    • getEnergyCalibrationFile

      public String getEnergyCalibrationFile()
      Returns:
      Name of scan file used during energy calibration.
    • setEnergyCalibrationFile

      public void setEnergyCalibrationFile(String energyCalibrationFile)
    • getMotorParameters

      public TurboXasMotorParameters getMotorParameters()
    • getScannablesToMonitorDuringScan

      public Map<String,String> getScannablesToMonitorDuringScan()
    • setScannablesToMonitorDuringScan

      public void setScannablesToMonitorDuringScan(Map<String,String> scannablesToMonitorDuringScan)
    • getWriteAsciiData

      public boolean getWriteAsciiData()
    • setWriteAsciiData

      public void setWriteAsciiData(boolean writeAsciiData)
    • getFastShutterName

      public String getFastShutterName()
    • setFastShutterName

      public void setFastShutterName(String fastShutterName)
    • isRunMappingScan

      public boolean isRunMappingScan()
    • setRunMappingScan

      public void setRunMappingScan(boolean runMappingScan)
    • getScannableToMove

      public String getScannableToMove()
    • setScannableToMove

      public void setScannableToMove(String scannableToMove)
    • getScannablePositions

      public List<List<Double>> getScannablePositions()
    • setScannablePositions

      public void setScannablePositions(List<List<Double>> scannablePositions)
    • toXML

      public static String toXML(TurboXasParameters params) throws IOException
      Serialize supplied TurboXasParameters object to XML.
      Parameters:
      params -
      Returns:
      String with XML serialized object
      Throws:
      com.fasterxml.jackson.core.JsonProcessingException
      IOException
    • toXML

      public String toXML() throws IOException
      Throws:
      IOException
    • fromXML

      public static TurboXasParameters fromXML(String xmlString) throws IOException
      Create new TurboXasParameters object deserialized from supplied XML string.
      Parameters:
      xmlString -
      Returns:
      TurboXasScanParameters object
      Throws:
      com.fasterxml.jackson.core.JsonProcessingException
      com.fasterxml.jackson.databind.JsonMappingException
      IOException
    • loadFromFile

      public static TurboXasParameters loadFromFile(String filePath) throws IOException
      Throws:
      IOException
    • saveToFile

      public void saveToFile(String filePath) throws IOException
      Serialize current object to xml file
      Parameters:
      filePath -
      Throws:
      IOException
    • createScan

      public TurboXasScan createScan() throws Exception
      Create a TurboXasScan object from the current set of scan parameters. It attempts to get scannables to be used from motorToMove and detectors strings using the Finder. It also attempts to validate the positions and speeds to be used for the scan against the motor limits, sending warnings to logpanel if necessary.
      Returns:
      TurboXasScan object
      Throws:
      InterruptedException - If motor to move cannot be found, or if no detectors could be found.
      Exception
    • getNamesOfDatasetsToAverage

      public List<String> getNamesOfDatasetsToAverage()
    • setNamesOfDatasetsToAverage

      public void setNamesOfDatasetsToAverage(List<String> namesOfDatasetsToAverage)
    • getSpectrumEvents

      public List<SpectrumEvent> getSpectrumEvents()
    • setSpectrumEvents

      public void setSpectrumEvents(List<SpectrumEvent> spectrumEvents)
    • getEnergyPositionCalculator

      public EnergyPositionCalculator getEnergyPositionCalculator()
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object