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

Framework Changes

Concepts

  • mantid.kernel.IntArrayProperty now supports specifying step sizes
  • Support has been added for negative indexing of WorkspaceGroups. Try ws_group[-1] to get the last workspace in the WorkspaceGroup ws_group.
  • Updated the clone method of IFunction to copy parameter errors across as well as parameter values.

Algorithms

New

  • RemoveSpectra is a new general purpose algorithm that enables you to optionally remove spectra from a workspace given one of 3 criteria, if it’s masked, if it doesn’t have a detector, and if presented in a user defined list.

Improvements

  • All the ILL nexus file loaders were speeded up due to parallelization of the loading.
  • LoadEventNexus has an additional option LoadNexusInstrumentXML = {Default, True}, which controls whether or not the embedded instrument definition is read from the NeXus file.
  • The numerical integration absorption algorithms (AbsorptionCorrection, CuboidGaugeVolumeAbsorption, CylinderAbsorption, FlatPlateAbsorption) have been modified to use a more numerically stable method for performing the integration, pairwise summation.
  • Improved support for thin-walled hollow cylinder shapes in MonteCarloAbsorption v1
  • LoadSampleEnvironment and LoadSampleShape now support setting the scale of the stl to millimetres, centimetres, or metres. It also takes rotation as angles applied in order X then Y then Z, as opposed to a matrix.
  • LoadSampleShape now rotates the sample based off of the setting of the goniometer.
  • GenerateEventsFilter is able to accept any MatrixWorkspace, as long as it has run objects loaded from LoadNexusLogs, other than EventWorkspace.
  • AbsorptionCorrection has a new property ScatterFrom which allows for calculating the correction for the other components (i.e. container and environment)
  • SetSample can calculate the density from the sample mass
  • We have prevented an error due to locale settings which may appear when reading, for instance, the incident energy Ei value from the logs in ConvertUnits and many other algorithms.
  • Pseudo-Voigt has been modified to be more in line with FULLPROF and GSAS. One of its basic parameter, Height, is changed to Intensity.
  • CalculatePolynomialBackground has an option to select the the minimizer used during fitting.
  • CalculatePolynomialBackground has been modified to pass parameters with double precision to make it more correct.
  • 10x performance improvement in calls to Mantid::PhysicalConstants::getAtom.
  • SetSample will now look for facility wide sample environments. instrument specific ones will be loaded first.
  • SolidAngle is extended to accommodate new options for fast analytical calculation for SANS-type detectors.
  • FilterEvents has a property InformativeOutputNames which changes the name of output workspace to include the start and end time of the slice.
  • SumOverlappingTubes v1 was speeded up due to parallelization of the actual histogramming step.
  • CylinderAbsorption now has a CylinderAxis property to set the direction of the cylinder axis.
  • SaveNexusProcessed now throws a clearer error on saving of nested groups of groups.

Instrument Definition Files

  • A new attribute, name-count-increment, has been introduced to the <locations> tag which allows the auto-generated location names to be incremented by a user-defined amount.
  • ARCS, CNCS, HYSPEC, NOMAD, POWGEN, SEQUOIA, SNAP, and VULCAN have had the axis that signed two-theta is calculated against changed from +y to +x

Bug fixes

  • SetSample now correctly handles the Sample number density being passed as a string, before the algorithm would execute, but silently ignored the provided number density, the number density is now properly used.
  • Mantid no longer crashed when invalid period logs encountered in LoadEventNexus <algm-LoadEventNexus>. A clear error message is displayed which explains the problem.
  • ISIS sample logs are now correctly filtered by status and period on loading.
  • A bug has been fixed in status log filtering where if a log contained times before the first running log entry then they would be included rather than excluded.

Removed

  • The deprecated version 1 of the FindEPP algorithm has been removed. Use FindEPP-v2 instead.

Data Objects

  • Added method isCommonLogBins to check if the MatrixWorkspace contains common X bins with logarithmic spacing.

Python

New

Bugfixes

  • The TypeError raised when calibrating tubes has been fixed.

Release 4.1.0