Package gda.px.camera
Interface Camera
- All Superinterfaces:
Configurable,Device,Findable,gda.observable.IObservable
- All Known Subinterfaces:
MXCameraInterface
- All Known Implementing Classes:
DummyCamera,MXCamera,VmxmMXCamera
A Camera must implement the methods explicitly listed here plus those contained in Device, Exposure, Shutter and
RotationAxis. Camera observes shutter and rotation axis and is observed by the StatusPanel.
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionbooleancheckDetectorDistance(double distance) Returns whether or not the requested detector distance is within the available range.voidexpose()Perform a protein crystallography exposure according to the set parameters.doubleAcceleration of rotation axis in degrees/sec/sec used for ramp up and ramp down.doubleGet the current camera crystal to detector distance.doubledoubleGet the maximum allowed camera crystal to detector distance.doubleGet the minimum allowed camera crystal to detector distance.doubleReturns the rotation axis's omega position.booleanGet the current shutter state of the camera as a string.booleanisSpeedAchievable(double time, double oscillation) Based on passed parameters checks whether requested speed is achivable.voidmakeDetectorSafe(boolean wait) Returns the detector to a safe distance from the crystal position.voidmoveDetectorTo(double distance) Moves the detector to achieve a required crystal to detector distance.voidmoveOmegaBy(double distance) Move the rotation axis's omega axis by an increment.voidmoveOmegaTo(double position) Move the rotation axis's omega axis to a position.voidopen()Open the shutter.voidThis must be called after setting the exposure parameters (by calling setImageAngle, setImageTime and setImageStart) and before expose.voidsetAcceleration(double acceleration) Set the acceleration used for ramp up and ramp down in degrees/sec/secvoidThis should be called after an exposure to reset the omega motor parameters back to normal.voidsetImageAngularSize(double angle) Set the omega rotation during an exposure (in degrees).voidsetImageStartAngle(double position) Set the starting angle of the exposure.voidsetImageTime(double time) Set the total shutter open time during an exposure (in seconds).voidsetNumberPasses(int numPasses) Set the number of repeated passes across the oscillation range during an exposure.voidMove any motion of the rotation axis's omega axis.voidWait until the camera is no longer performing an exposure.voidWait until all elements of the camera are no longer moving.Methods inherited from interface gda.factory.Configurable
configure, 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
-
DISTANCE
Distance- See Also:
-
INVALID
static final int INVALIDerror status for the exposure- See Also:
-
WAITING
static final int WAITINGwaiting status- See Also:
-
EXPOSING
static final int EXPOSINGexposure in progress- See Also:
-
COMPLETE
static final int COMPLETEexposure completed.- See Also:
-
-
Method Details
-
checkDetectorDistance
Returns whether or not the requested detector distance is within the available range.- Parameters:
distance-- Returns:
- true if it is, false if not
- Throws:
DeviceException
-
getMaxDistance
Get the maximum allowed camera crystal to detector distance.- Returns:
- Maximum camera crystal to detector distance.
- Throws:
DeviceException
-
getMinDistance
Get the minimum allowed camera crystal to detector distance.- Returns:
- Minimum camera crystal to detector distance.
- Throws:
DeviceException
-
getDetectorDistance
Get the current camera crystal to detector distance.- Returns:
- Current camera crystal to detector distance.
- Throws:
DeviceException
-
getDetectorMotionTolerance
- Throws:
DeviceException
-
isShutterOpen
Get the current shutter state of the camera as a string.- Returns:
- Current shutter state.
- Throws:
DeviceException
-
waitWhileExposing
Wait until the camera is no longer performing an exposure.- Throws:
DeviceException
-
waitWhileMoving
Wait until all elements of the camera are no longer moving.- Throws:
DeviceException
-
makeDetectorSafe
Returns the detector to a safe distance from the crystal position. At the end of data collection this may well be done to allow easy access to the crystal mounting area, for manual or automatic crystal mounting.- Parameters:
wait- Whether to wait until the move is complete, true to wait.- Throws:
DeviceException
-
open
Open the shutter.- Throws:
DeviceException
-
isSpeedAchievable
Based on passed parameters checks whether requested speed is achivable.- Parameters:
time- The exposure duration in seconds.oscillation- The rotation of the crystal during an exposure in degrees.- Returns:
- true for achievable.
- Throws:
DeviceException
-
getOmegaPosition
Returns the rotation axis's omega position.- Returns:
- Omega
- Throws:
DeviceException
-
moveOmegaBy
Move the rotation axis's omega axis by an increment.- Parameters:
distance- The required increment in degrees.- Throws:
DeviceException
-
moveOmegaTo
Move the rotation axis's omega axis to a position.- Parameters:
position- The required position in degrees.- Throws:
DeviceException
-
stopOmega
Move any motion of the rotation axis's omega axis.- Throws:
DeviceException
-
expose
Perform a protein crystallography exposure according to the set parameters.This should be called after prepareForExposure. Then setDefaultSpeeds should be called afterwards.
- Throws:
DeviceException
-
moveDetectorTo
Moves the detector to achieve a required crystal to detector distance.- Parameters:
distance- Required crystal to detector distance.- Throws:
DeviceException
-
setImageAngularSize
Set the omega rotation during an exposure (in degrees).- Parameters:
angle- Omega rotation during an exposure (in degrees).- Throws:
DeviceException
-
setImageTime
Set the total shutter open time during an exposure (in seconds).- Parameters:
time- Shutter open time during an exposure (in seconds).- Throws:
DeviceException
-
setImageStartAngle
Set the starting angle of the exposure.- Parameters:
position- angle of the exposure (in degrees).- Throws:
DeviceException
-
setNumberPasses
Set the number of repeated passes across the oscillation range during an exposure. This is assumed to be 1 by default. If this number is greater than 1 then the exposure time for each pass is adjusted so that the total exposure time is that set by setImageTime.- Parameters:
numPasses-- Throws:
DeviceException
-
prepareForExposure
This must be called after setting the exposure parameters (by calling setImageAngle, setImageTime and setImageStart) and before expose. This move the omega axis to the correct position for its run-up before opening the shutter during the exposure.- Throws:
DeviceException
-
setDefaultSpeeds
This should be called after an exposure to reset the omega motor parameters back to normal. This can also be called during a experiment emergency stop to ensure the beamline is returned to a known status.- Throws:
DeviceException
-
setAcceleration
Set the acceleration used for ramp up and ramp down in degrees/sec/sec- Parameters:
acceleration-- Throws:
DeviceException
-
getAcceleration
Acceleration of rotation axis in degrees/sec/sec used for ramp up and ramp down.- Returns:
- acceleration in degrees/sec/sec
- Throws:
DeviceException
-