Package uk.ac.gda.arpes.scannable
Class I05Apple
java.lang.Object
gda.factory.ConfigurableBase
gda.factory.FindableConfigurableBase
gda.device.DeviceBase
gda.device.scannable.ScannableBase
uk.ac.gda.arpes.scannable.I05Apple
- All Implemented Interfaces:
Device,Scannable,Configurable,Findable,gda.observable.IObservable
Class for controlling the ID on I05 the unique feature is calculating a move path through gap and phase space which avoids the exclusion zone. in anti
Circular polarisation we have the top phase positive for right circular
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic final Stringstatic final StringFields 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, VALUE_UNAVAILABLE -
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.org.apache.commons.math3.analysis.polynomials.PolynomialFunctionorg.apache.commons.math3.analysis.polynomials.PolynomialFunctiondoubleorg.apache.commons.math3.analysis.polynomials.PolynomialFunctionprotected doublegetPhaseForGap(double gap, String polarisation) doubleReturns the current position of the Scannable.org.apache.commons.math3.analysis.polynomials.PolynomialFunctionbooleanisBusy()Check if the Scannable is moving/operating.voidrawAsynchronousMoveTo(Object position) [Consider abstract] Trigger a move/operation to an internal/hardware position and return immediately.voidsetCircularGapPolynomial(org.apache.commons.math3.analysis.polynomials.PolynomialFunction circularGapPolynomial) voidsetCircularPhasePolynomial(org.apache.commons.math3.analysis.polynomials.PolynomialFunction circularPhasePolynomial) voidsetExclusionZone(Rectangle2D[] zone) voidsetGapScannable(ScannableMotion gapScannable) voidsetHorizontalGapPolynomial(org.apache.commons.math3.analysis.polynomials.PolynomialFunction horizontalGapPolynomial) voidsetLowerPhaseDemandPV(String lowerPhaseDemand) voidsetLowerPhaseScannable(ScannableMotion lowerPhaseScannable) voidsetPhaseTolerance(double phaseTolerance) voidsetUpperPhaseDemandPV(String upperPhaseDemand) voidsetUpperPhaseScannable(ScannableMotion upperPhaseScannable) voidsetVerticalGapPolynomial(org.apache.commons.math3.analysis.polynomials.PolynomialFunction verticalGapPolynomial) Methods inherited from class gda.device.scannable.ScannableBase
__call__, __call__, __doc__, __getitem__, __len__, __repr__, __str__, asynchronousMoveTo, atCommandFailure, atLevelEnd, atLevelMoveStart, atLevelStart, atPointEnd, atPointStart, atScanEnd, atScanLineEnd, atScanLineStart, atScanStart, checkPositionValid, externalToInternal, getExtraNames, getInputNames, getLevel, getOutputFormat, getScanMetadataAttribute, getScanMetadataAttributeNames, getScanMetadataAttributes, internalToExternal, isAt, moveTo, rawGetPosition, setExtraNames, setInputNames, setLevel, setOutputFormat, setScanMetadataAttribute, setScanMetadataAttributes, stop, throwExceptionIfInvalidTarget, toFormattedString, toString, validateScannable, valueUnavailableString, waitWhileBusy, waitWhileBusyMethods inherited from class gda.device.DeviceBase
addIObserver, close, deleteIObserver, deleteIObservers, getAttribute, 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, deleteIObservers
-
Field Details
-
VERTICAL
- See Also:
-
HORIZONTAL
- See Also:
-
CIRCULAR_LEFT
- See Also:
-
CIRCULAR_RIGHT
- See Also:
-
-
Constructor Details
-
I05Apple
public I05Apple()
-
-
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
-
getPhaseForGap
- Throws:
DeviceException
-
getGapFor
- Throws:
DeviceException
-
getCurrentPolarisation
- Throws:
DeviceException
-
getPosition
Description copied from class:ScannableBaseReturns the current position of the Scannable. Called by ConcurentScan at the end of the point. Reads an internal (hardware) position from rawGetPosition, converts this to an external (user) position and returns it.- Specified by:
getPositionin interfaceScannable- Overrides:
getPositionin classScannableBase- Returns:
- Current position with an element for each input and extra field. null if their are no fields.
- Throws:
DeviceException
-
isBusy
Description copied from interface:ScannableCheck if the Scannable is moving/operating.- Returns:
- true - if operation carried out by moveTo has not completed yet
- Throws:
DeviceException
-
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:
-
setExclusionZone
-
getExclusionZone
-
getHorizontalGapPolynomial
public org.apache.commons.math3.analysis.polynomials.PolynomialFunction getHorizontalGapPolynomial() -
setHorizontalGapPolynomial
public void setHorizontalGapPolynomial(org.apache.commons.math3.analysis.polynomials.PolynomialFunction horizontalGapPolynomial) -
getVerticalGapPolynomial
public org.apache.commons.math3.analysis.polynomials.PolynomialFunction getVerticalGapPolynomial() -
setVerticalGapPolynomial
public void setVerticalGapPolynomial(org.apache.commons.math3.analysis.polynomials.PolynomialFunction verticalGapPolynomial) -
getLowerPhaseDemandPV
-
setLowerPhaseDemandPV
-
getUpperPhaseDemandPV
-
setUpperPhaseDemandPV
-
getCircularGapPolynomial
public org.apache.commons.math3.analysis.polynomials.PolynomialFunction getCircularGapPolynomial() -
setCircularGapPolynomial
public void setCircularGapPolynomial(org.apache.commons.math3.analysis.polynomials.PolynomialFunction circularGapPolynomial) -
getCircularPhasePolynomial
public org.apache.commons.math3.analysis.polynomials.PolynomialFunction getCircularPhasePolynomial() -
setCircularPhasePolynomial
public void setCircularPhasePolynomial(org.apache.commons.math3.analysis.polynomials.PolynomialFunction circularPhasePolynomial) -
getGapScannable
-
setGapScannable
-
getUpperPhaseScannable
-
setUpperPhaseScannable
-
getLowerPhaseScannable
-
setLowerPhaseScannable
-
getPhaseTolerance
public double getPhaseTolerance() -
setPhaseTolerance
public void setPhaseTolerance(double phaseTolerance)
-