SofQWNormalisedPolygon v1¶
Summary¶
Calculate the intensity as a function of momentum transfer and energy.
See Also¶
This algorithm is also known as: SofQW3
Properties¶
Name |
Direction |
Type |
Default |
Description |
---|---|---|---|---|
InputWorkspace |
Input |
Mandatory |
Reduced data in units of energy transfer DeltaE. The workspace must contain histogram data and have common bins across all spectra. |
|
OutputWorkspace |
Output |
Mandatory |
The name to use for the q-omega workspace. |
|
QAxisBinning |
Input |
dbl list |
Mandatory |
The bin parameters to use for the q axis (in the format used by the Rebin v1 algorithm). |
EMode |
Input |
string |
Mandatory |
The energy transfer analysis mode (Direct/Indirect). Allowed values: [‘Direct’, ‘Indirect’] |
EFixed |
Input |
number |
0 |
The value of fixed energy: |
ReplaceNaNs |
Input |
boolean |
False |
If true, all NaN values in the output workspace are replaced using the ReplaceSpecialValues algorithm. |
EAxisBinning |
Input |
dbl list |
The bin parameters to use for the E axis (optional, in the format used by the Rebin v1 algorithm). |
|
DetectorTwoThetaRanges |
Input |
A table workspace use by SofQWNormalisedPolygon containing a ‘Detector ID’ column as well as ‘Min two theta’ and ‘Max two theta’ columns listing the detector’s min and max scattering angles in radians. |
Description¶
Converts a 2D workspace from units
of spectrum number/energy transfer
to the intensity as a function of momentum transfer
The details of the Normalised Polygon technique for rebinning are given in FractionalRebinning.
The algorithm operates in non-PSD mode by default. This means that the
scattering angle DetectorTwoThetaRanges
input
property.
PSD mode will determine the detector
See SofQWCentre v1 for centre-point binning or SofQWPolygon v1 for simpler and less precise but faster binning strategies. The speed-up is from ignoring the azimuthal positions of the detectors (as for the non-PSD mode in this algorithm) but in addition, SofQWPolygon v1 treats all detectors as being the same, and characterised by a single width in scattering angle. Thereafter, it weights the signal and error by the fractional overlap, similarly to that shown in the first figure above, but then discards the summed weights, producing a Workspace2D rather than a RebinnedOutput workspace.
Usage¶
Example - simple transformation of inelastic workspace:
# create sample inelastic workspace for MARI instrument containing 1 at all spectra
ws=CreateSimulationWorkspace(Instrument='MAR',BinParams='-10,1,10')
# convert workspace into Matrix workspace with Q-dE coordinates
ws=SofQWNormalisedPolygon(InputWorkspace=ws,QAxisBinning='-3,0.1,3',Emode='Direct',EFixed=12)
print("The converted X-Y values are:")
Xrow=ws.readX(59);
Yrow=ws.readY(59);
line1= " ".join('! {0:>6.2f} {1:>6.2f} '.format(Xrow[i],Yrow[i]) for i in range(0,10))
print(line1 + " !")
line2= " ".join('! {0:>6.2f} {1:>6.2f} '.format(Xrow[i],Yrow[i]) for i in range(10,20))
print(line2 + " !")
print('! {0:>6.2f} ------- !'.format(Xrow[20]))
Output:
The converted X-Y values are:
! -10.00 1.00 ! -9.00 1.00 ! -8.00 1.00 ! -7.00 1.00 ! -6.00 1.00 ! -5.00 1.00 ! -4.00 1.00 ! -3.00 1.00 ! -2.00 1.00 ! -1.00 1.00 !
! 0.00 1.00 ! 1.00 1.00 ! 2.00 1.00 ! 3.00 1.00 ! 4.00 1.00 ! 5.00 1.00 ! 6.00 1.00 ! 7.00 1.00 ! 8.00 1.00 ! 9.00 1.00 !
! 10.00 ------- !
Categories: AlgorithmIndex | Inelastic\SofQW
Source¶
C++ header: SofQWNormalisedPolygon.h
C++ source: SofQWNormalisedPolygon.cpp