\(\renewcommand\AA{\unicode{x212B}}\)

MDNormSCDPreprocessIncoherent v1

../_images/ImageNotFound.png

Enable screenshots using DOCS_SCREENSHOTS in CMake

Summary

Creates the Solid Angle and Flux workspace from an incoherent scatterer for MDNormSCD

See Also

MDNormSCD, MDNormDirectSC

Properties

Name

Direction

Type

Default

Description

Filename

Input

list of str lists

Mandatory

Files to combine in reduction. Allowed extensions: [‘_event.nxs’, ‘.nxs.h5’, ‘.nxs’]

Background

Input

string

Background run. Allowed extensions: [‘_event.nxs’, ‘.nxs.h5’, ‘.nxs’]

BackgroundScale

Input

number

1

The background will be scaled by this number before being subtracted.

FilterByTofMin

Input

number

Optional

Optional: To exclude events that do not fall within a range of times-of-flight. This is the minimum accepted value in microseconds. Keep blank to load all events.

FilterByTofMax

Input

number

Optional

Optional: To exclude events that do not fall within a range of times-of-flight. This is the maximum accepted value in microseconds. Keep blank to load all events.

MomentumMin

Input

number

Mandatory

Minimum value in momentum.

MomentumMax

Input

number

Mandatory

Maximum value in momentum.

GroupingFile

Input

string

A file that consists of lists of spectra numbers to group. See GroupDetectors. Allowed extensions: [‘.xml’, ‘.map’]

NormaliseByCurrent

Input

boolean

True

Normalise the Solid Angle workspace by the proton charge.

LoadInstrument

Input

string

Load a different instrument IDF onto the data from a file. See LoadInstrument. Allowed extensions: [‘.xml’]

DetCal

Input

string

Load an ISAW DetCal calibration onto the data from a file. See LoadIsawDetCal. Allowed extensions: [‘.detcal’]

MaskFile

Input

string

Masking file for masking. Supported file format is XML and ISIS ASCII. See LoadMask. Allowed extensions: [‘.xml’, ‘.msk’]

SphericalAbsorptionCorrection

Input

boolean

False

Apply Spherical Absorption correction using AnvredCorrection

LinearScatteringCoef

Input

number

Optional

Linear scattering coefficient in 1/cm. If not provided this will be calculated from the material cross-section if present (set with SetSampleMaterial)

LinearAbsorptionCoef

Input

number

Optional

Linear absorption coefficient at 1.8 Angstroms in 1/cm. If not provided this will be calculated from the material cross-section if present (set with SetSampleMaterial)

Radius

Input

number

Optional

Radius of the sample in centimeters. f not provided the radius will be taken from the sample shape if it is a sphere (set with SetSample).

SolidAngleOutputWorkspace

Output

Workspace

Mandatory

Output Workspace for Solid Angle

FluxOutputWorkspace

Output

Workspace

Mandatory

Output Workspace for Flux

Description

This algorithm preprocesses an incoherent scattering sample (usually Vanadium) for use with MDNormSCD. The input filename follows the syntax from MultipleFileProperty. The resulting workspaces can be saved with SaveNexus.

Usage

Corelli example using multiple files with masking

# Create a simple mask file
MaskFilename=mantid.config.getString("defaultsave.directory")+"MDNormSCDPreprocessIncoherent_mask.xml"
LoadEmptyInstrument(InstrumentName='CORELLI', OutputWorkspace='CORELLI')
# Missing banks
MaskBTP('CORELLI', Bank='1-6,29,30,62,63-68,91')
# End of tubes
MaskBTP('CORELLI', Pixel='1-15,242-256')
SaveMask('CORELLI', MaskFilename)

SA, Flux = MDNormSCDPreprocessIncoherent(Filename='CORELLI_28119-28123',
                                         MomentumMin=2.5,
                                         MomentumMax=10,
                                         MaskFile=MaskFilename)

Solid Angle instrument view:

../_images/MDNormSCDPreprocessIncoherent_SA.png

Flux spectrum plot:

../_images/MDNormSCDPreprocessIncoherent_Flux.png

TOPAZ example with backgound subtraction, grouping, masking and Spherical Absorption Correction

SA, Flux = MDNormSCDPreprocessIncoherent(Filename='TOPAZ_15670',
                                         Background='TOPAZ_15671',
                                         FilterByTofMin=500,
                                         FilterByTofMax=16000,
                                         MomentumMin=1.8,
                                         MomentumMax=12.5,
                                         GroupingFile='/SNS/TOPAZ/IPTS-15376/shared/calibration/TOPAZ_grouping_2016A.xml',
                                         DetCal='/SNS/TOPAZ/IPTS-15376/shared/calibration/TOPAZ_2016A.DetCal',
                                         MaskFile='/SNS/TOPAZ/IPTS-15376/shared/calibration/TOPAZ_masking_2016A.xml',
                                         SphericalAbsorptionCorrection=True,
                                         LinearScatteringCoef=0.367,
                                         LinearAbsorptionCoef=0.366,
                                         Radius=0.2)
print(SA.getNumberHistograms())
print(SA.blocksize())
print(Flux.getNumberHistograms())
print(Flux.blocksize())

Output:

1507328
1
23
10000

Source

Python: MDNormSCDPreprocessIncoherent.py