### Syntax

`spectra = sw_instrument(spectra,Name,Value)`

### Description

`spectra = sw_instrument(spectra,Name,Value)`

can convolute an energy
binned spectrum with different energy resolution functions and add other
effects that introduced by measurement (such as the kinematic limit for
neutron scattering, finite momentum resolution or finite detector
coverage).

### Name-Value Pair Arguments

`'dE'`

- Convolutes the spectrum with a Gaussian in energy, where the width is
defined by the FWHM value. The accepted values are:
*string*File name, that contains the FWHM energy resolution values as a function of energy transfer. The file has to contain two columns, first is the energy values, the second is the FWHM resolution at the given energy transfer value, see sw_res function for details.*number*Constant FWHM energy resolution given by the number.*matrix*Dimensions of , where the first column contains the energy transfer values, second column contains the FWHM resolution values. These discrete values will be fitted using a polynomial with a fixed degree, see sw_res for details.*function*Function handle of a resolution function with the following header:`E_FWHM = res_fun(E)`

where

`E_FWHM`

is the FWHM energy resolution and`E`

is the energy transfer value.

`'func'`

- Shape of the energy resolution function if different from Gaussian. For details see sw_resconv.
`'polDeg'`

- Degree of the polynomial that is fitted to the discrete energy
resolution data. Only used if
`dE`

is a matrix of string. Default value is 5. `'dQ'`

- Momentum transfer resolution of the instrument, FWHM is given in Å units by default, unless different units are defined in spinw.unit. Default value is 0 for no convolution.
`'thetaMin'`

- Minimum scattering angle in °, default value is 0. Can be only
applied if one of the
`ki`

,`Ei`

,`kf`

or`Ef`

parameters is defined. `'plot'`

- If the resolution is read from file and plot option is
true, the energy dependent resolution values together with the
polynomial fit will be plotted in a new figure. Default value is
`true`

. `'norm'`

- If true, the data is normalized to mbarn units. Default is false. If no g-tensor is included in the spin wave calculation, will be assumed for the conversion.
`'useRaw'`

- If
`false`

, the already modified`spectra.swConv`

field is modified further instead of the original powder spectrum stored in`spectra.swRaw`

. Default value is`true`

.

For simulating the effect of the neutron kinematic limit or the finite detector coverage of a neutron spectrometer one of the following parameter has to be given. The unit of these quantities is defined in spinw.unit with default momentum unit of Å and energy unit of meV.

`'ki'`

- Fixed momentum of the incident neutrons.
`'Ei'`

- Fixed energy of the incident neutrons.
`'kf'`

- Fixed final momentum of the neutrons.
`'Ef'`

- Fixed final energy of the neutrons.
`'fid'`

- Defines whether to provide text output. The default value is determined
by the
`fid`

preference stored in swpref. The possible values are:`0`

No text output is generated.`1`

Text output in the MATLAB Command Window.`fid`

File ID provided by the`fopen`

command, the output is written into the opened file stream.

### Output Arguments

`spectra`

- Struct variable, same as input with following additional fields:
`norm`

`true`

, if the spectrum is normalised to mbarn units.`ki`

Fixed incident neutron wave vector if defined in the input.`kf`

Fixed final neutron wave vector if defined in the input.`dE`

Energy resolution polynomial as given in the input.`dQ`

FWHM of the momentum resolution.`swRaw`

Original simulated data before the application of`sw_instrument`

.

### See Also

[polyfit] | [polyval] | sw_res | sw_resconv