\(\renewcommand\AA{\unicode{x212B}}\)
PDLoadCharacterizations v1¶
Summary¶
Load a characterization file used in Powder Diffraction Reduction.
Properties¶
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 |
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. |
Description¶
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 intended to be used by PDDetermineCharacterizations v1
This algorithm is one of the workflow algorithms that helps SNSPowderReduction v1.
Characterization File¶
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
, Azimuthal
and
PrimaryFlightPath
properties. The Azimuthal
values are
optional and will be set to zero if not specified. No example for
specifying azimuthal angles for the focus positions is being supplied
as it uncommon except for preferred orientation studies.
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. It will update the vanadium, container, and empty
instrument value in all rows of the table. 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
Characterization TableWorkspace¶
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.
Usage¶
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: AlgorithmIndex | Workflow\DataHandling
Source¶
C++ header: PDLoadCharacterizations.h
C++ source: PDLoadCharacterizations.cpp