Table of Contents
Name | Direction | Type | Default | Description |
---|---|---|---|---|
Filename | Input | string | The name of the event nexus file to read, including its full or relative path. Allowed extensions: [‘_event.nxs’, ‘.nxs.h5’, ‘.nxs’] | |
InputWorkspace | Input | MatrixWorkspace | Optional: An input workspace with the instrument we want to use. | |
InstrumentName | Input | string | Optional: Name of the instrument to base the ChunkingWorkpace on which to base the GroupingWorkspace. | |
InstrumentFilename | Input | string | Optional: Path to the instrument definition file on which to base the ChunkingWorkpace. Allowed extensions: [‘.xml’] | |
ChunkNames | Input | string | Optional: A string of the instrument component names to use as separate groups. Use / or , to separate multiple groups. If empty, then an empty GroupingWorkspace will be created. | |
ChunkBy | Input | string | Only used if GroupNames is empty: All detectors as one group, Groups (East,West for SNAP), Columns for SNAP, detector banks. Allowed values: [‘’, ‘All’, ‘Group’, ‘Column’, ‘bank’] | |
MaxRecursionDepth | Input | number | 5 | Number of levels to search into the instrument (default=5) |
MaxBankNumber | Input | number | 300 | Maximum bank number to search for in the instrument |
OutputWorkspace | Output | TableWorkspace | Mandatory | An output workspace describing the cunking. |
Workflow algorithm to determine chunking strategy for event nexus file. This will break up the instrument into logical components according to the instrument hierarchy.
This algorithm does assume that there are components in the geometry named “bank#” and returns a table workspace of those names. Trying this on an instrument without components named that will generate an exception. Also, requesting “ChunkBy=All” will return an empty table workspace.
Example: Powgen
pg3 = LoadEmptyInstrument(Filename="POWGEN_Definition_2015-08-01.xml")
ws = CreateChunkingFromInstrument(InputWorkspace=pg3, ChunkBy="Group")
print("Created {} Chunks".format(ws.rowCount()))
Output:
Created 4 Chunks
Example: Snap
ws = CreateChunkingFromInstrument(InstrumentName="snap", ChunkNames="East,West", MaxBankNumber=20)
print("Created {} Chunks".format(ws.rowCount()))
Output:
Created 2 Chunks
Categories: Algorithms | Workflow\DataHandling
C++ source: CreateChunkingFromInstrument.cpp (last modified: 2017-09-28)
C++ header: CreateChunkingFromInstrument.h (last modified: 2016-06-17)