Package gda.px.flux
Class DoseCalculator
- All Implemented Interfaces:
INeXusInfoWriteable,ControllerRecord,Device,Scannable,ScannableMotion,Configurable,Findable,gda.observable.IObservable,DoseEstimateProvider
@ServiceInterface(DoseEstimateProvider.class)
public class DoseCalculator
extends DummyScannable
implements DoseEstimateProvider
-
Field Summary
FieldsFields inherited from class gda.device.scannable.DummyScannable
currentPosition, incrementFields 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
FIRSTINPUTLIMITS -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic doublecalculateAngleLimit(double radLimit, double dosePerFrame, double degPerFrame) static doublecalculateDosePerFrame(double flux, double muAbs, double beamWidthInMicrons, double beamHeightInMicrons, double energyInEv, double exposureTime) static doublecalculateDosePerSecond(double flux, double muAbs, double beamWidthInMicrons, double beamHeightInMicrons, double energyInEv) Returns the dose (MGy) per second.static EstimateDatacalculateEstimate(double dosePerFrame, double degreesPerFrame, double radLimit) static doublecalculateFrameLimit(double radLimit, double dosePerFrame) static double[][]calculateLimits(double dosePerFrame, double degreesPerFrame, double[] radLimit) doublegetAngleLimit(double radLimit, double exposure, double degPerFrame) doublegetDosePerFrame(double exposure) doubledoublegetFlux()doublegetFrameLimit(double radLimit, double exposure) doublegetMuAbs()static doublemuAbsForAverageSample(double energyInEv) static doublepredictFlux(double energy, double transmission, double scale_factor) static doublepredictFlux(double energy, double transmission, String aperture) voidsetDoseRate(double doseRate) voidsetEnergy(double energy) voidsetFlux(double flux) voidsetMuAbs(double muAbs) Methods inherited from class gda.device.scannable.DummyScannable
getControllerRecordName, getPosition, isBusy, rawAsynchronousMoveTo, rawGetPosition, setControllerRecordName, setIncrement, setNameMethods inherited from class gda.device.scannable.ScannableMotionBase
a, addPositionValidator, ar, asynchronousMoveTo, checkPositionValid, checkPositionWithinGdaLimits, checkPositionWithinGdaLimits, completeInstantiation, externalToInternal, generateScannableLimitsReport, getAdditionalPositionValidators, getAttribute, getFirstInputLimits, getInputLimits, getInputLimits, getLimitsComponent, getLowerGdaLimits, getNumberTries, getOffset, getScalingFactor, getTolerances, getUpperGdaLimits, internalToExternal, isAt, moveTo, r, rawIsBusy, removePositionValidator, setAdditionalPositionValidators, setLimitsComponent, setLowerGdaLimits, setLowerGdaLimits, setNumberTries, setOffset, setOffsetAndScalingComponent, setScalingFactor, setTolerance, setTolerances, setUpperGdaLimits, setUpperGdaLimits, toFormattedString, 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, getScanMetadataAttribute, getScanMetadataAttributeNames, getScanMetadataAttributes, setExtraNames, setInputNames, setLevel, setOutputFormat, setScanMetadataAttribute, setScanMetadataAttributes, stop, throwExceptionIfInvalidTarget, toString, validateScannable, valueUnavailableString, waitWhileBusy, waitWhileBusyMethods inherited from class gda.device.DeviceBase
addIObserver, close, deleteIObserver, deleteIObservers, getName, getProtectionLevel, isBeingObserved, isConfigureAtStartup, notifyIObservers, setAttribute, setConfigureAtStartup, setProtectionLevelMethods inherited from class gda.factory.ConfigurableBase
configure, 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
configure, isConfigureAtStartup, isConfigured, reconfigureMethods inherited from interface gda.device.Device
close, getProtectionLevel, setAttribute, setProtectionLevelMethods inherited from interface gda.observable.IObservable
addIObserver, deleteIObserver, deleteIObserversMethods inherited from interface gda.device.Scannable
atCommandFailure, atLevelEnd, atLevelMoveStart, atLevelStart, atPointEnd, atPointStart, atScanEnd, atScanLineEnd, atScanLineStart, atScanStart, getExtraNames, getInputNames, getLevel, getOutputFormat, getScanMetadataAttribute, getScanMetadataAttributeNames, getScanMetadataAttributes, setExtraNames, setInputNames, setLevel, setOutputFormat, setScanMetadataAttribute, setScanMetadataAttributes, stop, waitWhileBusy
-
Field Details
-
DEFAULT_ENERGY
public static final double DEFAULT_ENERGY- See Also:
-
-
Constructor Details
-
DoseCalculator
public DoseCalculator()
-
-
Method Details
-
calculateAngleLimit
public static double calculateAngleLimit(double radLimit, double dosePerFrame, double degPerFrame) -
calculateDosePerFrame
public static double calculateDosePerFrame(double flux, double muAbs, double beamWidthInMicrons, double beamHeightInMicrons, double energyInEv, double exposureTime) -
calculateDosePerSecond
public static double calculateDosePerSecond(double flux, double muAbs, double beamWidthInMicrons, double beamHeightInMicrons, double energyInEv) Returns the dose (MGy) per second. -
calculateEstimate
public static EstimateData calculateEstimate(double dosePerFrame, double degreesPerFrame, double radLimit) -
calculateFrameLimit
public static double calculateFrameLimit(double radLimit, double dosePerFrame) -
calculateLimits
public static double[][] calculateLimits(double dosePerFrame, double degreesPerFrame, double[] radLimit) -
muAbsForAverageSample
public static double muAbsForAverageSample(double energyInEv) -
predictFlux
-
predictFlux
public static double predictFlux(double energy, double transmission, double scale_factor) -
getAngleLimit
public double getAngleLimit(double radLimit, double exposure, double degPerFrame) - Specified by:
getAngleLimitin interfaceDoseEstimateProvider
-
getDosePerFrame
public double getDosePerFrame(double exposure) - Specified by:
getDosePerFramein interfaceDoseEstimateProvider
-
getEnergy
public double getEnergy() -
getFlux
public double getFlux() -
getFrameLimit
public double getFrameLimit(double radLimit, double exposure) - Specified by:
getFrameLimitin interfaceDoseEstimateProvider
-
getMuAbs
public double getMuAbs() -
setDoseRate
public void setDoseRate(double doseRate) -
setEnergy
public void setEnergy(double energy) -
setFlux
public void setFlux(double flux) -
setMuAbs
public void setMuAbs(double muAbs)
-