Package gda.device.scannable
Class JohannSpectrometer
- All Implemented Interfaces:
INeXusInfoWriteable,Device,Scannable,ScannableMotion,ScannableMotionUnits,IXesSpectrometerScannable,Configurable,Findable,gda.observable.IObservable,gda.observable.IObserver
@ServiceInterface(IXesSpectrometerScannable.class)
public class JohannSpectrometer
extends XesSpectrometerScannableBase
-
Field Summary
Fields inherited from class gda.device.scannable.XesSpectrometerScannableBase
crystalList, crystalsAllowedToMove, crystalsGroup, detectorGroup, maxTheta, minTheta, radius, radiusScannableFields inherited from class gda.device.scannable.ScannableMotionUnitsBase
unitsComponentFields inherited from class gda.device.scannable.ScannableMotionBase
numberTries, toleranceFields inherited from class gda.device.scannable.ScannableBase
__doc__, DEFAULT_INPUT_NAME, DEFAULT_OUTPUT_FORMAT, extraNames, inputNames, level, outputFormatFields inherited from class gda.device.DeviceBase
DEFAULT_PROTECTION_LEVEL_PROPERTYFields inherited from interface gda.device.Scannable
ATTR_NEXUS_CATEGORY, ATTR_NX_CLASS, DEFAULT_INPUT_NAME, VALUE_UNAVAILABLEFields inherited from interface gda.device.ScannableMotion
FIRSTINPUTLIMITSFields inherited from interface gda.device.ScannableMotionUnits
HARDWAREUNITS, USERUNITS -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidDefault 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.doubledoubledouble[]getDetectorAxisPosition(double axisLength, double braggAngle) Position of detector rotation axis relative to the detector position.doublegetSpectrometerPositions(double targetBragg) booleanvoidrawAsynchronousMoveTo(Object position) [Consider abstract] Trigger a move/operation to an internal/hardware position and return immediately.Determine Bragg angle from height of central analyser.voidsetAnalyserSeparationAngle(double analyserSeparationAngle) voidsetDetectorAxisLength(double detectorAxisLength) voidsetIncludeYawCorrection(boolean includeYawCorrection) voidsetSourceDisplacement(double sourceDisplacement) Methods inherited from class gda.device.scannable.XesSpectrometerScannableBase
checkPositionValid, checkPositionValid, extractDouble, getCrystalsAllowedToMove, getCrystalsGroup, getCrystalsList, getDetectorGroup, getDetRotScannable, getDetXScannable, getDetYScannable, getGroupedScannables, getMaxTheta, getMinTheta, getRadius, getRadiusScannable, getScannables, getScannablesOfTypeFromGroup, isBusy, setCrystalsAllowedToMove, setCrystalsGroup, setDetectorGroup, setMaxTheta, setMinTheta, setRadius, setRadiusScannable, stop, tryToUpdateRadiusFromScannable, update, updateActiveGroups, updateRadiusFromScannable, validateAndSetup, validatePositionMethods inherited from class gda.device.scannable.ScannableMotionUnitsBase
addAcceptableUnit, externalToInternal, getAcceptableUnits, getAttribute, getHardwareUnitString, getInitialUserUnits, getOffset, getUserUnits, internalToExternal, isAt, setHardwareUnitString, setInitialUserUnits, setOffset, setOffset, setUserUnits, toFormattedStringMethods inherited from class gda.device.scannable.ScannableMotionBase
a, addPositionValidator, ar, asynchronousMoveTo, checkPositionValid, checkPositionWithinGdaLimits, checkPositionWithinGdaLimits, completeInstantiation, generateScannableLimitsReport, getAdditionalPositionValidators, getFirstInputLimits, getInputLimits, getInputLimits, getLimitsComponent, getLowerGdaLimits, getNumberTries, getScalingFactor, getTolerances, getUpperGdaLimits, moveTo, r, rawIsBusy, removePositionValidator, setAdditionalPositionValidators, setLimitsComponent, setLowerGdaLimits, setLowerGdaLimits, setNumberTries, setOffsetAndScalingComponent, setScalingFactor, setTolerance, setTolerances, setUpperGdaLimits, setUpperGdaLimits, writeNeXusInformation, writeNeXusInformationLimitsMethods inherited from class gda.device.scannable.ScannableBase
__call__, __call__, __doc__, __getitem__, __len__, __repr__, __str__, atCommandFailure, atLevelEnd, atLevelMoveStart, atLevelStart, atPointEnd, atPointStart, atScanEnd, atScanLineEnd, atScanLineStart, atScanStart, getExtraNames, getInputNames, getLevel, getOutputFormat, getPosition, getScanMetadataAttribute, getScanMetadataAttributeNames, getScanMetadataAttributes, setExtraNames, setInputNames, setLevel, setOutputFormat, setScanMetadataAttribute, setScanMetadataAttributes, throwExceptionIfInvalidTarget, toString, validateScannable, valueUnavailableString, waitWhileBusy, waitWhileBusyMethods inherited from class gda.device.DeviceBase
addIObserver, close, deleteIObserver, deleteIObservers, getName, getProtectionLevel, isBeingObserved, isConfigureAtStartup, notifyIObservers, setAttribute, setConfigureAtStartup, setName, setProtectionLevelMethods inherited from class gda.factory.ConfigurableBase
isConfigured, reconfigure, setConfiguredMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface gda.factory.Configurable
isConfigureAtStartup, isConfigured, reconfigureMethods inherited from interface gda.device.Device
close, getAttribute, getProtectionLevel, setAttribute, setProtectionLevelMethods inherited from interface gda.observable.IObservable
addIObserver, deleteIObserver, deleteIObserversMethods inherited from interface gda.device.Scannable
asynchronousMoveTo, atCommandFailure, atLevelEnd, atLevelMoveStart, atLevelStart, atPointEnd, atPointStart, atScanEnd, atScanLineEnd, atScanLineStart, atScanStart, checkPositionValid, getExtraNames, getInputNames, getLevel, getOutputFormat, getPosition, getScanMetadataAttribute, getScanMetadataAttributeNames, getScanMetadataAttributes, isAt, moveTo, setExtraNames, setInputNames, setLevel, setOutputFormat, setScanMetadataAttribute, setScanMetadataAttributes, toFormattedString, waitWhileBusyMethods inherited from interface gda.device.ScannableMotion
a, ar, checkPositionWithinGdaLimits, checkPositionWithinGdaLimits, getLowerGdaLimits, getNumberTries, getOffset, getScalingFactor, getTolerances, getUpperGdaLimits, r, setLowerGdaLimits, setLowerGdaLimits, setNumberTries, setOffset, setScalingFactor, setTolerance, setTolerances, setUpperGdaLimits, setUpperGdaLimitsMethods inherited from interface gda.device.ScannableMotionUnits
addAcceptableUnit, getAcceptableUnits, getHardwareUnitString, getUserUnits, setHardwareUnitString, setOffset, setUserUnits
-
Constructor Details
-
JohannSpectrometer
public JohannSpectrometer()
-
-
Method Details
-
configure
Description copied from class:ConfigurableBaseDefault 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:
configurein interfaceConfigurable- Overrides:
configurein classConfigurableBase- Throws:
FactoryException- if there is an error in configuration e.g. required variable not set or cannot connect to device
-
rawAsynchronousMoveTo
Description copied from class:ScannableBase[Consider abstract] Trigger a move/operation to an internal/hardware position and return immediately.- Overrides:
rawAsynchronousMoveToin classScannableBase- Parameters:
position- Position in its internal/hardware representation. e.g. with units and offsets removed- Throws:
DeviceException- See Also:
-
getSpectrometerPositions
- Parameters:
targetBragg-- Returns:
- Map containing position of each scannable in the spectrometer for the given energy.
-
rawGetPosition
Determine Bragg angle from height of central analyser.- Overrides:
rawGetPositionin classScannableBase- Returns:
- the value represented by this Scannable
- Throws:
DeviceException- See Also:
-
getDetectorAxisPosition
public double[] getDetectorAxisPosition(double axisLength, double braggAngle) Position of detector rotation axis relative to the detector position. +ve direction of position is away from analyser (i.e. 'behind' the sample position)- Parameters:
axisLength-braggAngle-- Returns:
- rotation axis position relative to detector position - x, y
-
getDetectorAxisLength
public double getDetectorAxisLength() -
setDetectorAxisLength
public void setDetectorAxisLength(double detectorAxisLength) -
getAnalyserSeparationAngle
public double getAnalyserSeparationAngle() -
setAnalyserSeparationAngle
public void setAnalyserSeparationAngle(double analyserSeparationAngle) -
getSourceDisplacement
public double getSourceDisplacement() -
setSourceDisplacement
public void setSourceDisplacement(double sourceDisplacement) -
isIncludeYawCorrection
public boolean isIncludeYawCorrection() -
setIncludeYawCorrection
public void setIncludeYawCorrection(boolean includeYawCorrection)
-