Table of Contents
Converts the axis of a Workspace2D which normally holds spectrum numbers to one of Q, Q^2 or theta. ‘Note’: After running this algorithm, some features will be unavailable on the workspace as it will have lost all connection to the instrument. This includes things like the 3D Instrument Display.
| Name | Direction | Type | Default | Description |
|---|---|---|---|---|
| InputWorkspace | Input | MatrixWorkspace | Mandatory | The name of the input workspace. |
| OutputWorkspace | Output | MatrixWorkspace | Mandatory | The name to use for the output workspace. |
| Target | Input | string | Mandatory | The unit to which spectrum axis is converted to - “theta” (for the angle in degrees), Q or Q^2, where elastic Q is evaluated at EFixed. Note that ‘theta’ and ‘signed_theta’ are there for compatibility purposes; they are the same as ‘Theta’ and ‘SignedTheta’ respectively. Allowed values: [‘Theta’, ‘SignedTheta’, ‘ElasticQ’, ‘ElasticQSquared’, ‘theta’, ‘signed_theta’] |
| EMode | Input | string | Direct | Some unit conversions require this value to be set (“Direct” or “Indirect”). Allowed values: [‘Direct’, ‘Indirect’] |
| EFixed | Input | number | Optional | Value of fixed energy in meV : EI (EMode=Direct) or EF (EMode=Indirect)) |
Converts the representation of the vertical axis (the one up the side of a matrix in MantidPlot) of a Workspace2D from its default of holding the spectrum number to the target unit given - theta, elastic Q and elastic Q^2.
The spectra will be reordered in increasing order by the new unit and duplicates will not be aggregated. Any spectrum for which a detector is not found (i.e. if the instrument definition is incomplete) will not appear in the output workspace.
Example: Convert vertical axis to theta
# Creates a workspace with some detectors attached
dataws = CreateSampleWorkspace(NumBanks=1,BankPixelWidth=2) # 2x2 detector
theta = ConvertSpectrumAxis(dataws, Target="Theta")
vertical_axis = theta.getAxis(1)
print "There are %d axis values" % vertical_axis.length()
print "Final theta value: %f (degrees)" % vertical_axis.getValue(vertical_axis.length() - 1)
There are 4 axis values
Final theta value: 0.129645 (degrees)
Example: Convert vertical axis to elastic Q for direct geometry
# Creates a workspace with some detectors attached
dataws = CreateSampleWorkspace(NumBanks=1,BankPixelWidth=2) # 2x2 detector
qws = ConvertSpectrumAxis(dataws, Target="ElasticQ", EFixed=15., EMode="Direct")
vertical_axis = qws.getAxis(1)
print "There are %d axis values" % vertical_axis.length()
print "Final Q value: %f (A^-1)" % vertical_axis.getValue(vertical_axis.length() - 1)
There are 4 axis values
Final Q value: 0.006088 (A^-1)
Categories: Algorithms | Transforms\Units | Transforms\Axes