Table of Contents
Name | Direction | Type | Default | Description |
---|---|---|---|---|
Filename | Input | list of str lists | Mandatory | Characterizations file. Allowed extensions: [‘.txt’] |
ExpIniFilename | Input | string | (Optional) exp.ini file used at NOMAD. Allowed values: [‘ini’] | |
OutputWorkspace | Output | TableWorkspace | Mandatory | Output for the information of characterizations and runs |
IParmFilename | Output | string | Name of the gsas instrument parameter file. | |
PrimaryFlightPath | Output | number | Primary flight path L1 of the powder diffractomer. | |
SpectrumIDs | Output | int list | Spectrum Nos (note that it is not detector ID or workspace indices). The list must be either empty or have a size equal to input workspace’s histogram number. | |
L2 | Output | dbl list | Secondary flight (L2) paths for each detector. Number of L2 given must be same as number of histogram. | |
Polar | Output | dbl list | Polar angles (two thetas) for detectors. Number of 2theta given must be same as number of histogram. | |
Azimuthal | Output | dbl list | Azimuthal angles (out-of-plane) for detectors. Number of azimuthal angles given must be same as number of histogram. |
This algorithm loads information into a TableWorkspace for the characterization information and a collection of output parameters for the focus positions to be used in EditInstrumentGeometry v1. If a section is missing then those parameters will be empty. This includes an empty table (zero rows) if that information is missing. The resulting TableWorkspace is intented to be used by PDDetermineCharacterizations v1
This algorithm is one of the workflow algorithms that helps SNSPowderReduction v1.
An example from POWGEN shows both of the available portions of a characterization file:
Instrument parameter file:
1 3.18 90.0000
L1 60.0
#S 1 characterization runs
#L frequency(Hz) center_wavelength(angstrom) bank_num vanadium_run empty_run vanadium_back d_min(angstrom) d_max(angstrom)
60 0.533 1 17533 0 0 0.05 2.20 0000.00 16666.67
60 1.066 2 17534 0 0 0.30 4.60 8333.33 25000.00
60 1.333 3 17535 19770 0 0.43 5.40 12500.00 29166.67
60 2.665 4 17536 0 0 1.15 9.20 33333.33 50000.00
60 4.797 5 17537 0 0 2.25 15.35 66666.67 83333.67
60 3.731 6 18280 0 0 1.70 12.50 50000.00 66666.67
10 3.198 1 17538 0 0 0.05 15.40 00000.00 100000.00
The first line Instrument parameter file: must be present to mark the beginning of the first section. Whatever string appears after the semicolon is copied into the IParmFilename output property. The following lines are of the form “bank l2 polar” with the last line being the keyword L1 followed by the effective primary flight path. This information is saved in the IParmFilename, SpectrumIDs, L2, Polar, and PrimaryFlightPath properties. The Azimuthal properties is filled with zeros and is the same length as SpectrumIDs, L2, Polar, and PrimaryFlightPath.
The second section of the characterizations file is read into the output TableWorkspace as described below.
A second example from NOMAD demonstrates how to specify different ranges for each focused spectrum as well as the optional wavelength ranges:
Instrument parameter file: NOMAD_11_22_11.prm
1 2 15
2 2 31
3 2 67
4 2 122
5 2 154
6 2 7
L1 19.5
#S 1 characterization runs
#L frequency(Hz) center_wavelength(angstrom) bank_num vanadium_run empty_run vanadium_back d_min(angstrom) d_max(angstrom) wl_min wl_max
60 1.4 1 0 0 0 .31,.25,.13,.13,.13,.42 13.66,5.83,3.93,2.09,1.57,31.42 300.00 16666.67 .1 2.9
The exp.ini file is specific to the NOMAD instrument at SNS and is optional. This file is generally discouraged. An example version of this file is:
required *******************
Dia 49262
DiaBg 49257
Vana 49258
VanaBg 49086
MTc 49257
optional ******************
recali yes
renorm yes
autotemp yes
scan1 49464
scanl 80000
Hz 60
# IPTS 14821
After realizing that the much of the information in the characterizations file is independent of sample environment, a second characterization file was designed to add to the information of the first. The first line is to indicate the format of the file, and the rest is whitespace delimited. There are 6 required columns, everything past that is a SampleContainer identifier which will be used to override the value that is in the original characterization file. The frequency and wavelength columns are still used as keys to determine which row contains the run identifiers:
version=1
freq wl van van_back mt_env mt_instr PAC06 PAC08 PAC10
60 0.533 27056 27050 0 0 27044 27032 27038
60 1.066 27057 27051 0 0 27045 27033 27039
60 1.333 27058 27052 0 0 27046 27034 27040
60 2.665 27059 27053 0 0 27047 27035 27041
60 3.731 27060 27054 0 0 27048 27036 27042
60 4.797 27061 27055 0 0 27049 27037 27043
10 3.198 27062 0 0 0 0 0 0
The columns names and types are described in the following table. Any missing values are replaced with a zero which will generally skip that bit of information.
Name | Type |
---|---|
frequency | double |
wavelength | double |
bank | int |
vanadium | str |
container | str |
empty | str |
d_min | str |
d_max | str |
tof_min | double |
tof_max | double |
wavelength_min | double |
wavelength_max | double |
There can be any number of additional columns with the SampleContainer (with spaces removed) for the column name, and type of string.
While there are many options for how to use this algorithm, the suggestion is to supply the classic and version 1 characterizations in a comma separated list as the Filename property.
filenames = ','.join(['PG3_char_2016_08_01-HR.txt','PG3_char_2016_02_15-PAC-single.txt'])
PDLoadCharacterizations(Filename=filenames, OutputWorkspace='char')
Categories: Algorithms | Workflow\DataHandling