\(\renewcommand\AA{\unicode{x212B}}\)
LoadLiveData v1¶
Summary¶
Load a chunk of live data. You should call StartLiveData, and not this algorithm directly.
Properties¶
Name |
Direction |
Type |
Default |
Description |
---|---|---|---|---|
Instrument |
Input |
string |
Mandatory |
Name of the instrument to monitor. Allowed values: [‘ALF’, ‘ARGUS’, ‘CHRONUS’, ‘CRISP’, ‘EMU’, ‘ENGIN-X’, ‘ENGIN-X_EVENT’, ‘GEM’, ‘HET’, ‘HIFI’, ‘HRPD’, ‘IMAT’, ‘INES’, ‘INTER’, ‘IRIS’, ‘LARMOR’, ‘LET’, ‘LET_EVENT’, ‘LOQ’, ‘MAPS’, ‘MARI’, ‘MERLIN’, ‘MERLIN_EVENT’, ‘MUSR’, ‘NGEM’, ‘NIMROD’, ‘OFFSPEC’, ‘OFFSPEC_EVENT’, ‘OSIRIS’, ‘PEARL’, ‘POLARIS’, ‘POLREF’, ‘SANDALS’, ‘SANS2D’, ‘SANS2D_EVENT’, ‘SURF’, ‘SXD’, ‘TOSCA’, ‘VESUVIO’, ‘WISH’, ‘ZOOM’] |
Connection |
Input |
string |
Selects the listener connection entry to use. Default connection will be used if not specified |
|
Listener |
Input |
string |
Name of the listener class to use. If specified, overrides class specified by Connection. Allowed values: [‘FakeEventDataListener’, ‘FileEventDataListener’, ‘ISISHistoDataListener’, ‘ISISLiveEventDataListener’, ‘KafkaEventListener’, ‘KafkaHistoListener’, ‘SINQHMListener’, ‘SNSLiveEventDataListener’, ‘’] |
|
Address |
Input |
string |
Address for the listener to connect to. If specified, overrides address specified by Connection. |
|
StartTime |
Input |
string |
Absolute start time, if you selected FromTime. Specify the date/time in UTC time, in ISO8601 format, e.g. 2010-09-14T04:20:12.95 |
|
ProcessingAlgorithm |
Input |
string |
Name of the algorithm that will be run to process each chunk of data. Optional. If blank, no processing will occur. |
|
ProcessingProperties |
Input |
string |
The properties to pass to the ProcessingAlgorithm, as a single string. The format is propName=value;propName=value |
|
ProcessingScript |
Input |
string |
A Python script that will be run to process each chunk of data. Only for command line usage, does not appear on the user interface. |
|
ProcessingScriptFilename |
Input |
string |
A Python script that will be run to process each chunk of data. Only for command line usage, does not appear on the user interface. Allowed values: [‘py’] |
|
AccumulationMethod |
Input |
string |
Add |
Method to use for accumulating each chunk of live data. - Add: the processed chunk will be summed to the previous outpu (default). - Replace: the processed chunk will replace the previous output. - Append: the spectra of the chunk will be appended to the output workspace, increasing its size. Allowed values: [‘Add’, ‘Replace’, ‘Append’] |
PreserveEvents |
Input |
boolean |
False |
Preserve events after performing the Processing step. Default False. This only applies if the ProcessingAlgorithm produces an EventWorkspace. It is strongly recommended to keep this unchecked, because preserving events may cause significant slowdowns when the run becomes large! |
PostProcessingAlgorithm |
Input |
string |
Name of the algorithm that will be run to process the accumulated data. Optional. If blank, no post-processing will occur. |
|
PostProcessingProperties |
Input |
string |
The properties to pass to the PostProcessingAlgorithm, as a single string. The format is propName=value;propName=value |
|
PostProcessingScript |
Input |
string |
A Python script that will be run to process the accumulated data. |
|
PostProcessingScriptFilename |
Input |
string |
Python script that will be run to process the accumulated data. Allowed values: [‘py’] |
|
RunTransitionBehavior |
Input |
string |
Restart |
What to do at run start/end boundaries? - Restart: the previously accumulated data is discarded. - Stop: live data monitoring ends. - Rename: the previous workspaces are renamed, and monitoring continues with cleared ones. Allowed values: [‘Restart’, ‘Stop’, ‘Rename’] |
AccumulationWorkspace |
Output |
Optional, unless performing PostProcessing: Give the name of the intermediate, accumulation workspace. This is the workspace after accumulation but before post-processing steps. |
||
OutputWorkspace |
Output |
Mandatory |
Name of the processed output workspace. |
|
LastTimeStamp |
Output |
string |
The time stamp of the last event, frame or pulse recorded. Date/time is in UTC time, in ISO8601 format, e.g. 2010-09-14T04:20:12.95 |
Description¶
This algorithm is called on a regular interval by the MonitorLiveData v1 algorithm. and the whole process is started by the StartLiveData v1 algorithm. It should not be necessary to call LoadLiveData directly.
Data Processing¶
Each time LoadLiveData is called, a chunk of data is loaded from the live listener.
This consists of all the data collected since the previous call.
The data is saved in a temporary workspace.
You have two options on how to process this workspace:
Processing with an Algorithm¶
Specify the name of the algorithm in the
ProcessingAlgorithm
property.This could be a python algorithm written for this purpose
The algorithm must have at least 2 properties:
InputWorkspace
andOutputWorkspace
.Any other properties are set from the string in
ProcessingProperties
.The algorithm is then run, and its
OutputWorkspace
is saved
Processing with a Python Script¶
The python script is run using RunPythonScript v1. Please see its documentation for details of how the script is run.
Specify a python script in the
ProcessingScript
property.This can have several lines.
Two variables have special meaning:
input
is a reference to the input workspace.output
is the name of the processed, output workspace.
Otherwise, your script can contain any legal python code including calls to other Mantid algorithms.
If you create temporary workspaces, you should delete them in the script.
Specify a python script in the
ProcessingScriptFilename
property.Contents of the file have the exact same rules as specifying the
ProcessingScript
Note
When PreserveEvents
is enabled and the data has not been binned
during the process step (with ProcessingAlgorithm
,
ProcessingScript
, or ProcessingScriptFilename
), the data
will be rebinned at the end of the step to include all events. Use
the Post-Process step instead for EventWorkspaces.
Data Accumulation¶
The
AccumulationMethod
property specifies what to do with each chunk.
Warning
Beware! If you select PreserveEvents=True
and your processing
keeps the data as EventWorkspaces, you may end
up creating very large EventWorkspaces in long runs. Most plots
require re-sorting the events, which is an operation that gets much
slower as the list gets bigger (Order of \(N * log(N)\)). This
could cause Mantid to run very slowly or to crash due to lack of
memory.
It is highly recommended that early in the PostProcessing step one uses CompressEvents if the data is going to remain in events.
Post-Processing Step¶
Optionally, you can specify some processing to perform after accumulation.
You then need to specify the
AccumulationWorkspace
property.
Using either the
PostProcessingAlgorithm
,PostProcessingScript
, orPostProcessingScriptFilename
(same way as above), theAccumulationWorkspace
is processed into theOutputWorkspace
Usage¶
LoadLiveData is not intended for usage directly, it is part of he process that is started using StartLiveData v1.
Categories: AlgorithmIndex | DataHandling\LiveData\Support
Source¶
C++ header: LoadLiveData.h
C++ source: LoadLiveData.cpp