\(\renewcommand\AA{\unicode{x212B}}\)
SaveSESANS v1¶
Summary¶
Save a file using the SESANS format
See Also¶
Properties¶
Name  | 
Direction  | 
Type  | 
Default  | 
Description  | 
|---|---|---|---|---|
InputWorkspace  | 
Input  | 
Mandatory  | 
The name of the workspace to save  | 
|
Filename  | 
Input  | 
string  | 
Mandatory  | 
The name to use when saving the file. Allowed extensions: [‘.ses’, ‘.sesans’]  | 
ThetaZMax  | 
Input  | 
number  | 
Optional  | 
The angular acceptance in the encoding direction  | 
ThetaZMaxUnit  | 
Input  | 
string  | 
radians  | 
|
ThetaYMax  | 
Input  | 
number  | 
Optional  | 
The angular acceptance in the non-encoding direction  | 
ThetaYMaxUnit  | 
Input  | 
string  | 
radians  | 
|
EchoConstant  | 
Input  | 
number  | 
Optional  | 
The spin echo length, in nanometers, probed by a 1A neutron  | 
Sample  | 
Input  | 
string  | 
Sample name  | 
|
Orientation  | 
Input  | 
string  | 
Z  | 
Orientation of the instrument. Allowed values: [‘X’, ‘Y’, ‘Z’]  | 
OverrideSampleThickness  | 
Input  | 
number  | 
Optional  | 
The sample thickness in mm. If set, this value will be used instead of the thickness from the input workspace sample  | 
Description¶
Saves the given workspace to a file which will be formatted in the SESANS data format. A workspace with a single spectrum is expected, where the X values are wavelength and the Y values are polarisation.
The sample thickness from the run metadata is used to normalise the polarisation data.
The OverrideSampleThickness parameter can be used to specify a different value for this if needed.
Usage¶
Example - Loading a file
import os
# Create dummy workspace with sample thickness metadata
dataX = [1,2,3,4,5]
dataY = [6,1,9,14]
dataE = [1,1,4,5]
out_ws = CreateWorkspace(dataX, dataY, dataE)
out_ws.setTitle("Dummy workspace")
out_ws.sample().setThickness(10)
file_path = os.path.join(config["defaultsave.directory"], "example.ses")
# Do a 'roundtrip' of the data
SaveSESANS(InputWorkspace=out_ws, Filename=file_path, ThetaZMax=1,ThetaYMax=1, EchoConstant=1, Sample="Sample")
LoadSESANS(Filename=file_path, OutputWorkspace="in_ws")
# Retrieve loaded workspace from ADS
in_ws = mtd["in_ws"]
print("Y values of loaded workspace = " + str(in_ws.readY(0)))
Output:
Y values of loaded workspace = [0.796338 0.       0.179365 0.130324]
Categories: AlgorithmIndex | DataHandling\Text
Source¶
C++ header: SaveSESANS.h
C++ source: SaveSESANS.cpp