Package uk.ac.diamond.daq.pes.api
Interface IElectronAnalyser
- All Superinterfaces:
Configurable,Device,Findable,gda.observable.IObservable
- All Known Subinterfaces:
IDitherScanningElectronAnalyser,IDitherScanningElectronAnalyserWithDeflector,IMbsAnalyser,IVGScientaAnalyserRMI
- All Known Implementing Classes:
MbsAnalyser,VGScientaAnalyser,VGScientaAnalyserCamOnly
-
Method Summary
Modifier and TypeMethodDescriptionvoidchangeRequestedIterations(int newScheduledIterations) This can be called to change the number of iterations scheduled during a scan.double[]Gets the Y axis (usually angle) for the current acquisitionGets the current centre energydoubleGets the collection time per pointintGets the completed number of iterations from the most recent scanintGets the current iteration number in the scanshortGets the current state of the analyserdouble[]Get the energy axis for the current acquisitiondoubleGets the step sizedoubleThis is the energy covered by one pixel in pass energy = 1 in meVdoubleDeprecated.This was deprecated on the old VG Scienta RMI interface so it's deprecated here toodouble[]getExtIO(int length) Gets data from an external I/O deviceintThis gets the number of energy channels in the fixed mode region, to allow the fixed mode energy width to be calculated.intGets the value of the frames parameterdouble[]getImage()Gets the image acquired during the most recent acquisitionintGets the currently set number of iterationsGets the current lens mode.Gets the list of available lens modesintReturns the maximum number of steps the analyser can perform in a swept scan.doublegetMaxKE()This is the fall-back maximum kinetic energy (KE) if the energyRange object can't provide a correct energy rangeGets the available pass energiesGet the current pass energyGets the current PSU mode.Gets the available PSU modes (also known as element set)default intReturns region size along X direction.default intReturns region size along Y direction.default intReturns sensor size along X direction.default intReturns sensor size along Y direction.intGets the value of the slices parameterdouble[]Gets the spectrum data acquired from the most recent acquisitionGets the list of supported acquisition mode, using AcquisitionMode enum.intThis gets the number of energy channels in the swept mode region, to allow the swept mode energy steps including pre-scan to be calculatedvoidsetAcquisitionMode(String acquisitionMode) Sets the acquisition modevoidsetCentreEnergy(Double centreEnergy) Sets the centre energyvoidsetCollectionTime(double collectionTime) Sets the collection time per pointvoidsetEnergyStep(double stepSize) Sets the step sizevoidsetIterations(int iterations) Sets the number of iterations requested, not for use while in a scanvoidsetLensMode(String lensMode) Sets the lens modevoidsetPassEnergy(Integer passEnergy) Sets the pass energyvoidsetPsuMode(String psuMode) Sets the PSU mode (aka element set)voidSets the analyser to single image modevoidsetupAcquisitionMode(AcquisitionMode acquisitionMode) Sets the acquisition mode to the one specified and performs any configuration necessary for the chosen mode, such as setting up ROIsvoidStarts the analyser acquiring data with the current parametersvoidStarts the analyser acquiring in continuous mode, this is intended for use in alignment.voidstop()Stops the analyser acquiring Does NOT zero suppliesvoidStops the analyser after the current iteration and saves the data.voidStops the analyser and zeros the HV supplies.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
-
Method Details
-
getEnergyRange
AnalyserEnergyRangeConfiguration getEnergyRange() -
getEnergyStepPerPixel
double getEnergyStepPerPixel()This is the energy covered by one pixel in pass energy = 1 in meVTo find the energy step per pixel this value should be multiplied by the pass energy. To find the fixed mode energy width this value should be multiplied by the pass energy and the number of energy channels.
This value should not be used to calculate energy scales.
-
getMaxKE
double getMaxKE()This is the fall-back maximum kinetic energy (KE) if the energyRange object can't provide a correct energy range -
getFixedModeEnergyChannels
int getFixedModeEnergyChannels()This gets the number of energy channels in the fixed mode region, to allow the fixed mode energy width to be calculated.- Returns:
- The number of energy channels in fixed mode
-
getSweptModeEnergyChannels
int getSweptModeEnergyChannels()This gets the number of energy channels in the swept mode region, to allow the swept mode energy steps including pre-scan to be calculated- Returns:
- The number of energy channels in swept mode
-
getPsuMode
Gets the current PSU mode. (Also known as element set)- Returns:
- The current power supply mode
- Throws:
Exception- If there is a problem with the EPICS communication
-
getPsuModes
Gets the available PSU modes (also known as element set)- Returns:
- The list of available PSU modes
-
setPsuMode
Sets the PSU mode (aka element set)- Throws:
Exception- If there is a problem with the EPICS communication
-
getLensMode
Gets the current lens mode.- Returns:
- The current lens mode
- Throws:
Exception- If there is a problem with the EPICS communication
-
setLensMode
Sets the lens mode- Parameters:
lensMode- The lens mode to set- Throws:
Exception- If there is a problem with the EPICS communication
-
getLensModes
Gets the list of available lens modes -
changeRequestedIterations
void changeRequestedIterations(int newScheduledIterations) This can be called to change the number of iterations scheduled during a scan.- Parameters:
newScheduledIterations-
-
getEnergyAxis
Get the energy axis for the current acquisition- Returns:
- The energy axis
- Throws:
Exception- If there is a problem with the EPICS communication
-
getAngleAxis
Gets the Y axis (usually angle) for the current acquisition- Returns:
- The angle axis
- Throws:
Exception- If there is a problem with the EPICS communication
-
getPassEnergy
Get the current pass energy- Returns:
- The current pass energy
- Throws:
Exception- If there is a problem with the EPICS communication
-
setPassEnergy
Sets the pass energy- Parameters:
passEnergy- The requested pass energy- Throws:
Exception- If the pass energy is invalid or if there is a problem with the EPICS communication
-
getPassEnergies
Gets the available pass energies -
getCentreEnergy
Gets the current centre energy- Returns:
- The current centre energy
- Throws:
Exception- If there is a problem with the EPICS communication
-
setCentreEnergy
Sets the centre energy- Parameters:
centreEnergy- The requested centre energy- Throws:
Exception- If there is a problem with the EPICS communication
-
getCollectionTime
Gets the collection time per point- Returns:
- The collection time
- Throws:
DeviceException- If there is a problem with the EPICS communication
-
setCollectionTime
Sets the collection time per point- Throws:
DeviceException- If there is a problem with the EPICS communication
-
startContinuous
Starts the analyser acquiring in continuous mode, this is intended for use in alignment. This is non blocking- Throws:
Exception- If there is a problem with the EPICS communication
-
stop
Stops the analyser acquiring Does NOT zero supplies- Throws:
Exception- If there is a problem with the EPICS communication- See Also:
-
zeroSupplies
Stops the analyser and zeros the HV supplies. This puts the analyser into a safe state.- Throws:
Exception- If there is a problem with the EPICS communication- See Also:
-
stopAfterCurrentIteration
Stops the analyser after the current iteration and saves the data.- Throws:
Exception- If there is a problem with the EPICS communication- See Also:
-
getIterations
Gets the currently set number of iterations- Returns:
- The current number of iterations
- Throws:
Exception- If there is a problem with the EPICS communication
-
getCompletedIterations
Gets the completed number of iterations from the most recent scan- Returns:
- The number of complete iterations from previous scan
- Throws:
Exception- If there is a problem with the EPICS communication
-
getCurrentIteration
Gets the current iteration number in the scan- Returns:
- The current iteration number in the scan
- Throws:
Exception- If there is a problem with the EPICS communication
-
setIterations
Sets the number of iterations requested, not for use while in a scan- Parameters:
iterations- The requested number of iterations- Throws:
Exception- If there is a problem with the EPICS communicationIllegalStateException- If the analyser is performing a scan- See Also:
-
getEnergyStep
Gets the step size- Returns:
- step size
- Throws:
DeviceException- If there is a problem with EPICS communicationException
-
setEnergyStep
Sets the step size- Parameters:
stepSize- The step size- Throws:
DeviceException- If there is a problem with EPICS communicationException
-
getSupportedAcquisitionModes
List<AcquisitionMode> getSupportedAcquisitionModes()Gets the list of supported acquisition mode, using AcquisitionMode enum. Allows UIs to support different models of electron analyser which may name their modes differently- Returns:
- The list of supported acquisition modes
-
getSpectrum
Gets the spectrum data acquired from the most recent acquisition- Returns:
- The spectrum data
- Throws:
Exception- If there is a problem getting the spectrum
-
getImage
Gets the image acquired during the most recent acquisition- Returns:
- The image data
- Throws:
Exception- If there is a problem getting the image
-
getSlices
Gets the value of the slices parameter- Returns:
- The number of slices
- Throws:
Exception- If there is a problem getting the slices
-
getFrames
Gets the value of the frames parameter- Returns:
- The number of slices
- Throws:
Exception- If there is a problem getting the frames
-
getExtIO
Gets data from an external I/O device- Parameters:
length- The number of data elements to return- Returns:
- The data
- Throws:
Exception- If there is a problem getting the data
-
setAcquisitionMode
Sets the acquisition mode- Parameters:
acquisitionMode- The name of the acquisition mode- Throws:
Exception- If there is a problem setting acquisition mode
-
setupAcquisitionMode
Sets the acquisition mode to the one specified and performs any configuration necessary for the chosen mode, such as setting up ROIs- Parameters:
acquisitionMode- The requested acquisition mode- Throws:
Exception- If there is a problem setting up the acquisition mode
-
startAcquiring
Starts the analyser acquiring data with the current parameters- Throws:
Exception
-
getDetectorState
Gets the current state of the analyser- Returns:
- The current analyser state
- Throws:
Exception- If there is a problem getting the current state
-
setSingleImageMode
Sets the analyser to single image mode- Throws:
Exception- If there is a problem setting single image mode
-
getExcitationEnergy
Deprecated.This was deprecated on the old VG Scienta RMI interface so it's deprecated here tooGets the excitation energy- Returns:
- The excitation energy
- Throws:
Exception- If there is a problem getting the value
-
getMaximumNumberOfSteps
int getMaximumNumberOfSteps()Returns the maximum number of steps the analyser can perform in a swept scan. Suggest returning Integer.MAX_VALUE if your analyser doesn't have a limit.- Returns:
- The maximum number of steps
-
getSensorSizeX
Returns sensor size along X direction. Declared as default to not change all implementations.- Returns:
- Sensor size along X direction
- Throws:
DeviceException
-
getSensorSizeY
Returns sensor size along Y direction. Declared as default to not change all implementations.- Returns:
- Sensor size along Y direction
- Throws:
DeviceException
-
getRegionSizeX
Returns region size along X direction. Declared as default to not change all implementations.- Returns:
- Region size along X direction
- Throws:
DeviceException
-
getRegionSizeY
Returns region size along Y direction. Declared as default to not change all implementations.- Returns:
- Region size along Y direction
- Throws:
DeviceException
-