diff --git a/.githooks/pre-commit b/.githooks/pre-commit deleted file mode 100755 index 3ae5c2a03a40..000000000000 --- a/.githooks/pre-commit +++ /dev/null @@ -1,334 +0,0 @@ -#!/usr/bin/env bash -#============================================================================= -# Copyright 2010-2011 Kitware, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -#============================================================================= - -die() { - echo 'pre-commit hook failure' 1>&2 - echo '-----------------------' 1>&2 - echo '' 1>&2 - echo "$@" 1>&2 - exit 1 -} - -zero='0000000000000000000000000000000000000000' - -#----------------------------------------------------------------------------- -# Check for committer identity. -advice=' -Use the commands - - git config --global user.name '\''Your Name'\'' - git config --global user.email '\''you@yourdomain.com'\'' - -to introduce yourself to Git before committing.' - -# Ensure name and email are available. -git config --get user.name > /dev/null && -git config --get user.email > /dev/null || -die 'Identity not configured!' "$advice" - -# Validate the name and email. -git config --get user.name | grep ' ' > /dev/null || -die 'Set user.name to your Real Name (with a space), not a userid.' "$advice" -git config --get user.email | grep '^[^@]*@[^@]*$' > /dev/null || -die 'Set user.email to an email address (userid@validdomain.com).' "$advice" - -#----------------------------------------------------------------------------- -# Check content that will be added by this commit. - -if git rev-parse --verify -q HEAD > /dev/null; then - against=HEAD -else - # Initial commit: diff against an empty tree object - against=4b825dc642cb6eb9a060e54bf8d69288fbee4904 -fi - -# Merge ("git commit" after "git merge" with conflicts or --no-commit) -merge_head=$(git rev-parse -q --verify MERGE_HEAD) || merge_head='' - -# Disallow non-ascii file names. The printable range starts at the -# space character and ends with tilde. -if test "$(git diff --cached --name-only --diff-filter=A -z $against | - LC_ALL=C tr -d '[ -~]\0')"; then - die 'Non-ascii file names may not be added: -'"$(git diff --cached --name-only --diff-filter=A $against)" -fi - -#----------------------------------------------------------------------------- -# Builtin whitespace checks. -bad=$(git diff-index --check --cached $against -- --ignore-space-at-eol) || die "$bad" - -# Approximate whitespace=tab-in-indent check with Git < 1.7.2. -git --version | grep -q " \(1\.[0-6]\|1\.7\.[01]\)" && -approx_tab_in_indent=true || approx_tab_in_indent=false -check_tab() { - lines=$(git diff-index -p --cached $against -- "$1" | - grep '^+ ') && - echo "$lines" | - while read line; do - echo "$1: tab in indent." && - echo "$line" - done -} - -# Reject addition of a line without a newline at end-of-file. -check_no_lf_at_eof() { - lines=$(git diff-index -p --cached $against -- "$1" | tail -2) - if echo "$lines" | head -1 | grep -q '^+' && - echo "$lines" | tail -1 | grep -q '^\\ No newline'; then - echo "$1: No newline at end of file" - fi -} - -# Custom whitespace checks. -check_whitespace() { - ws=$(git check-attr whitespace -- "$file" | - sed 's/^[^:]*: whitespace: //') - if $approx_tab_in_indent; then - case ",$ws," in - *,tab-in-indent,*) check_tab "$1" ;; - esac - fi - case ",$ws," in - *,no-lf-at-eof,*) check_no_lf_at_eof "$1" ;; - esac -} -bad=$(git diff-index --name-only --cached $against -- | -while read file; do - check_whitespace "$file" -done) -test -z "$bad" || die "$bad" - -#----------------------------------------------------------------------------- -# Check file modes and sizes. -mode_looks_exe() { - case "$1" in - *.bat) return 0 ;; - *.cmd) return 0 ;; - *.exe) return 0 ;; - *.com) return 0 ;; - esac - git cat-file blob "$2" | head -1 | grep "^#\!/" > /dev/null -} -mode_not_exe () { - echo "The file '$file' has looks executable but does not have an executable mode." -} -mode_bad_exe () { - echo "The file '$file' has executable mode but does not look executable." -} -mode_non_file () { - echo "The path '$file' has a non-file mode." -} -check_mode() { - case "$dst_mode" in - 100755) mode_looks_exe "$file" "$dst_obj" || mode_bad_exe ;; - 100644) mode_looks_exe "$file" "$dst_obj" && mode_not_exe ;; - 160000) ;; - *) mode_non_file ;; - esac -} - -size_max_KiB=$(git config hooks.MaxObjectKiB) -test -n "$size_max_KiB" || size_max_KiB=1024 -size_too_large_once="" -size_too_large_once() { - test -z "$size_too_large_once" || return ; size_too_large_once=done - echo 'At least one file is staged for commit with size larger than the limit. -We prefer to keep large files out of the main source tree, especially -binary files that do not compress well. This hook disallows large files. - -If it is vital that this file enters the repository, speak to a dev lead. -Remember that unit tests should typically not require loading files (see -http://www.mantidproject.org/Unit_Test_Good_Practice#Using_files_in_Unit_tests). -' -# Instructions for allowing ESSENTIAL files only: -# A limit for specific files or patterns may be set in ".gitattributes" with -# the "hooks.MaxObjectKiBYYMMDD" attribute (where YYMMDD is the current date). -# For example, the line -# -# *.c hooks.MaxObjectKiB121207=2048 -# -# sets a limit of 2048 KiB for C source files, but WILL ONLY WORK on the date -# matching the entry. This avoids the previous behaviour that once set the -# hook was forever disabled if the entry was not removed afterwards. -# See "git help attributes" for details on the .gitattributes format. -} -size_too_large() { - size_too_large_once - echo "The path '$file' has size $file_KiB KiB, greater than allowed $max_KiB KiB." -} -size_validate_max_KiB() { - test "$max_KiB" -ge "0" 2>/dev/null && return 0 - echo "The path '$file' has invalid attribute \"hooks-MaxObjectKiB=$max_KiB\"." - return 1 -} -check_size() { - test "$dst_obj" != "$zero" || return - datesuffix=`date +%y%m%d` - hookname='hooks.MaxObjectKiB'$datesuffix - max_KiB=$(git check-attr $hookname -- "$file" | - sed "s/^[^:]*: ${hookname}: //") - case "$max_KiB" in - 'unset') return ;; # No maximum for this object. - 'set') max_KiB="$size_max_KiB" ;; # Use local default. - 'unspecified') max_KiB="$size_max_KiB" ;; # Use local default. - *) size_validate_max_KiB || return ;; - esac - if test "$max_KiB" -gt "0"; then - file_KiB=$(expr '(' $(git cat-file -s "$dst_obj") + 1023 ')' / 1024) - test "$file_KiB" -le "$max_KiB" || size_too_large - fi -} - -short_commit() { - git rev-parse --short "$1" 2>/dev/null || echo "$1" -} - -lookup_config_module_update() { - update=$(git config "hooks.$1.update") - - # Special-case "true" to accept any update. - test "{$update}" = "{true}" && echo '.' && return - - # Format is "aaaaaa..bbbbbb" for update aaaaaa => bbbbbb. - # Convert to regex "^aaaaaa[a-z0-9]* bbbbbb[a-z0-9]*$". - sha1ex='[a-z0-9][a-z0-9][a-z0-9][a-z0-9][a-z0-9][a-z0-9][a-z0-9]*' - regex='^\('"$sha1ex"'\)\.\.\('"$sha1ex"'\)$' - echo "$update" | - sed -n "/$regex/ {s/$regex/"'^\1[a-z0-9]* \2[a-z0-9]*$/;p;}' | - grep '.' # Return false if result is empty. -} - -check_module() { - enabled=$(git config --get --bool hooks.submodule) || enabled=true - test "$enabled" = "false" && return - - # Allow merged submodule updates. - test -n "$merge_head" && - merge_obj=$(git rev-parse -q --verify "$merge_head:$file") && - test "$merge_obj" = "$dst_obj" && return - - # Allow module-only commits without extra work. - test -z "$diffs_normal" && return - - # Check if module update is allowed with other changes. - allow=$(lookup_config_module_update "$file") || allow='none' - if echo "$src_obj $dst_obj" | grep "$allow" > /dev/null; then - return - fi - src_short=$(short_commit "$src_obj") - dst_short=$(short_commit "$dst_obj") - echo 'A submodule link is staged for commit (among other changes): - - "'"$file"'" '"$src_short => $dst_short"' - -This may occur by accident so we require an extra step to commit. -If you intend to include this change in your commit, run - - git config "hooks.'"$file"'.update" '"$src_short..$dst_short"' - -to explicitly allow the change and try the commit again. Otherwise run - - git reset HEAD -- "'"$file"'" - -to unstage the change. Furthermore, if you did not intend to modify -the submodule at all, also run - - git submodule update -- "'"$file"'" - -to checkout the current version of the submodule in your work tree. -Test your changes again to see if they still work with the module. -Finally, try the commit again. -' - return 1 -} - -check_module_rewind() { - parent_name="$1" - parent_commit="$2" - base=$(GIT_DIR="$file/.git" \ - git merge-base $src_obj $dst_obj 2>/dev/null) || base='' - test "$base" != "$dst_obj" && return - parent_short=$(short_commit "$parent_commit") - src_short=$(GIT_DIR="$file/.git" short_commit "$src_obj") - dst_short=$(GIT_DIR="$file/.git" short_commit "$dst_obj") - echo 'This commit would rewind a submodule link: - - "'"$file"'" '"$src_short => $dst_short"' - -from the newer version in '"$parent_name"' ('"$parent_short"'). Run - - git reset '"$parent_name"' -- "'"$file"'" - git submodule update -- "'"$file"'" - -to checkout the newer version of the submodule in your work tree. -Then try the commit again. -' - return 1 -} - -diffs=$(git diff-index --cached $against -- | - sed -n '/^:[^:]/ {s/^://;p;}') -diffs_normal=$(echo "$diffs" | grep -v '^...... 160000') -diffs_module=$(echo "$diffs" | grep '^...... 160000') -bad=$( -test -n "$diffs_normal" && echo "$diffs_normal" | -while read src_mode dst_mode src_obj dst_obj status file; do - if test "$src_mode" != "$dst_mode" -a "$dst_mode" != "000000"; then - check_mode - fi - if test "$dst_mode" != "160000" -a "$dst_mode" != '000000'; then - check_size - fi -done -test -n "$diffs_module" && echo "$diffs_module" | -while read src_mode dst_mode src_obj dst_obj status file; do - check_module_rewind HEAD "$against" && - check_module || - break -done -) -test -z "$bad" || die "$bad" - -#----------------------------------------------------------------------------- -# Merge checks. -if test -n "$merge_head"; then - merge_diffs=$(git diff-index --cached $merge_head -- | - sed -n '/^:[^:]/ {s/^://;p;}') -else - merge_diffs='' -fi -merge_diffs_normal=$(echo "$merge_diffs" | grep -v '^...... 160000') -merge_diffs_module=$(echo "$merge_diffs" | grep '^...... 160000') -bad=$( -test -n "$merge_diffs_module" && echo "$merge_diffs_module" | -while read src_mode dst_mode src_obj dst_obj status file; do - check_module_rewind MERGE_HEAD "$merge_head" || - break -done -) -test -z "$bad" || die "$bad" - -#----------------------------------------------------------------------------- -# Style hooks. -#. "$GIT_DIR/hooks/pre-commit-style" - -#----------------------------------------------------------------------------- -# Chain to project-specific hook. -#. "$GIT_DIR/hooks/hooks-chain.bash" -#hooks_chain pre-commit "$@" - -# vim: set filetype=sh tabstop=8 softtabstop=8 shiftwidth=8 noexpandtab : diff --git a/Code/Mantid/Build/Jenkins/buildscript b/Code/Mantid/Build/Jenkins/buildscript index 48eae4106aef..39b746cee5c8 100755 --- a/Code/Mantid/Build/Jenkins/buildscript +++ b/Code/Mantid/Build/Jenkins/buildscript @@ -35,7 +35,7 @@ if [[ ${JOB_NAME} == *clean* ]]; then # Set some variables relating to the linux packages created from clean builds if [[ $(uname) != 'Darwin' ]]; then if [[ ${JOB_NAME} == *master* ]]; then - PACKAGINGVARS="-DENVVARS_ON_INSTALL=False -DCMAKE_INSTALL_PREFIX=/opt/mantidnightly -DCPACK_PACKAGE_SUFFIX=nightly -DCPACK_SET_DESTDIR=OFF -DQT_ASSISTANT_FETCH_IMAGES=ON" + PACKAGINGVARS="-DENVVARS_ON_INSTALL=False -DCMAKE_INSTALL_PREFIX=/opt/mantidnightly -DCPACK_PACKAGE_SUFFIX=nightly -DCPACK_SET_DESTDIR=OFF" elif [[ ${JOB_NAME} == *develop* ]]; then PACKAGINGVARS="-DENVVARS_ON_INSTALL=False -DCMAKE_INSTALL_PREFIX=/opt/mantidunstable -DCPACK_PACKAGE_SUFFIX=unstable -DCPACK_SET_DESTDIR=OFF" fi @@ -84,7 +84,6 @@ $SCL_ON_RHEL6 "ctest --output-on-failure -R MantidPlot" rm -f *.dmg *.rpm *.deb *.tar.gz # Always build a package on linux if [[ $(uname) != 'Darwin' ]]; then - $SCL_ON_RHEL6 "make -j$BUILD_THREADS qtassistant" $SCL_ON_RHEL6 "cpack" fi diff --git a/Code/Mantid/Build/Jenkins/buildscript.bat b/Code/Mantid/Build/Jenkins/buildscript.bat index d3407080b94a..40f6b1f8462d 100755 --- a/Code/Mantid/Build/Jenkins/buildscript.bat +++ b/Code/Mantid/Build/Jenkins/buildscript.bat @@ -25,9 +25,6 @@ if "%JOB_NAME%"=="%JOB_NAME:clean=%" ( ) else ( set CLEANBUILD=yes rmdir /S /Q build - if NOT "%JOB_NAME%"=="%JOB_NAME:master=%" ( - set DOC_IMAGES=-DQT_ASSISTANT_FETCH_IMAGES=ON - ) ) ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: @@ -39,7 +36,7 @@ cd %WORKSPACE%\build ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: CMake configuration ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -"C:\Program Files (x86)\CMake 2.8\bin\cmake.exe" -G "Visual Studio 11 Win64" -DCONSOLE=OFF -DENABLE_CPACK=ON -DMAKE_VATES=ON -DParaView_DIR=%PARAVIEW_DIR% -DUSE_PRECOMPILED_HEADERS=ON %DOC_IMAGES% ..\Code\Mantid +"C:\Program Files (x86)\CMake 2.8\bin\cmake.exe" -G "Visual Studio 11 Win64" -DCONSOLE=OFF -DENABLE_CPACK=ON -DMAKE_VATES=ON -DParaView_DIR=%PARAVIEW_DIR% -DUSE_PRECOMPILED_HEADERS=ON ..\Code\Mantid if ERRORLEVEL 1 exit /B %ERRORLEVEL% ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: @@ -61,7 +58,6 @@ if ERRORLEVEL 1 exit /B %ERRORLEVEL% :: Create the install kit if this is a clean build ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: if "%CLEANBUILD%" EQU "yes" ( - msbuild /nologo /m:%BUILD_THREADS% /nr:false /p:Configuration=Release docs/qtassistant/qtassistant.vcxproj if ERRORLEVEL 1 exit /B %ERRORLEVEL% cpack -C Release --config CPackConfig.cmake ) diff --git a/Code/Mantid/Framework/API/src/CompositeFunction.cpp b/Code/Mantid/Framework/API/src/CompositeFunction.cpp index bc10f9f67d34..7ef010f4ea9a 100644 --- a/Code/Mantid/Framework/API/src/CompositeFunction.cpp +++ b/Code/Mantid/Framework/API/src/CompositeFunction.cpp @@ -1,34 +1,3 @@ -/*WIKI* -A composite function is a function containing other functions. It combines the values calculated by the member functions by adding them. The members are indexed from 0 to the number of functions minus 1. The indices are defined by the order in which the functions were added. Composite functions do not have their own parameters, instead they use parameters of the member functions. Parameter names are formed from the member function's index and its parameter name: f[index].[name]. For example, name "f0.Sigma" would be given to the "Sigma" parameter of a Gaussian added first to the composite function. If a member function is a composite function itself the same principle applies: 'f[index].' is prepended to a name, e.g. "f0.f1.Sigma". - -The input string to the Fit algorithm for a CompositeFunction is constructed by joining the inputs of the member functions using the semicolon ';' as a separator. For example, the string for two [[Gaussian]]s with tied sigma parameters may look like the following: - - name=Gaussian,PeakCentre=0,Height=1,Sigma=0.1,constraints=(0 files; - TS_ASSERT_THROWS(files = FileFinder::Instance().findRuns("MUSR15189-n15199"), std::invalid_argument); - TS_ASSERT_THROWS(files = FileFinder::Instance().findRuns("MUSR15189n-15199"), std::invalid_argument); - TS_ASSERT_THROWS(files = FileFinder::Instance().findRuns("MUSR15189-15199n"), std::invalid_argument); - TS_ASSERT_THROWS(files = FileFinder::Instance().findRuns("MUSR15189-151n99"), std::invalid_argument); - TS_ASSERT_THROWS(files = FileFinder::Instance().findRuns("MUSR15n189-151n99"), Exception::NotFoundError); - TS_ASSERT_THROWS_NOTHING(files = FileFinder::Instance().findRuns("MUSR15189-15199")); - TS_ASSERT_EQUALS(files.size(), 11); + TS_ASSERT_THROWS(files = FileFinder::Instance().findRuns("MUSR15189-n15193"), std::invalid_argument); + TS_ASSERT_THROWS(files = FileFinder::Instance().findRuns("MUSR15189n-15193"), std::invalid_argument); + TS_ASSERT_THROWS(files = FileFinder::Instance().findRuns("MUSR15189-15193n"), std::invalid_argument); + TS_ASSERT_THROWS(files = FileFinder::Instance().findRuns("MUSR15189-151n93"), std::invalid_argument); + TS_ASSERT_THROWS(files = FileFinder::Instance().findRuns("MUSR15n189-151n93"), Exception::NotFoundError); + TS_ASSERT_THROWS_NOTHING(files = FileFinder::Instance().findRuns("MUSR15189-15193")); + TS_ASSERT_EQUALS(files.size(), 5); std::vector::iterator it = files.begin(); for (; it != files.end(); ++it) diff --git a/Code/Mantid/Framework/Algorithms/src/AbsorptionCorrection.cpp b/Code/Mantid/Framework/Algorithms/src/AbsorptionCorrection.cpp index 98bfbecea76f..02baf20f739c 100644 --- a/Code/Mantid/Framework/Algorithms/src/AbsorptionCorrection.cpp +++ b/Code/Mantid/Framework/Algorithms/src/AbsorptionCorrection.cpp @@ -1,24 +1,3 @@ -/*WIKI* -This algorithm uses a numerical integration method to calculate attenuation factors resulting from absorption and single scattering in a sample with the material properties given. Factors are calculated for each spectrum (i.e. detector position) and wavelength point, as defined by the input workspace. -The sample is first bounded by a cuboid, which is divided up into small cubes. The cubes whose centres lie within the sample make up the set of integration elements (so you have a kind of 'Lego' model of the sample) and path lengths through the sample are calculated for the centre-point of each element, and a numerical integration is carried out using these path lengths over the volume elements. - -Note that the duration of this algorithm is strongly dependent on the element size chosen, and that too small an element size can cause the algorithm to fail because of insufficient memory. - -Note that The number density of the sample is in \mathrm{\AA}^{-3} - -== Choosing an absorption correction algorithm == - -This flow chart is given as a way of selecting the most appropriate of the absorption correction algorithms. It also shows the algorithms that must be run first in each case. Note that this does not cover the following absorption correction algorithms: [[MonteCarloAbsorption]] (correction factors for a generic sample using a Monte Carlo instead of a numerical integration method), [[MultipleScatteringCylinderAbsorption]] & [[AnvredCorrection]] (corrections in a spherical sample, using a method imported from ISAW). Also, HRPD users can use the [[HRPDSlabCanAbsorption]] to add rudimentary calculations of the effects of the sample holder. -[[File:AbsorptionFlow.png]] - - -==== Assumptions ==== -This algorithm assumes that the (parallel) beam illuminates the entire sample '''unless''' a 'gauge volume' has been defined using the [[DefineGaugeVolume]] algorithm (or by otherwise adding a valid XML string [[HowToDefineGeometricShape | defining a shape]] to a [[Run]] property called "GaugeVolume"). In this latter case only scattering within this volume (and the sample) is integrated, because this is all the detector can 'see'. The full sample is still used for the neutron paths. ('''N.B.''' If your gauge volume is of axis-aligned cuboid shape and fully enclosed by the sample then you will get a more accurate result from the [[CuboidGaugeVolumeAbsorption]] algorithm.) - -==== Restrictions on the input workspace ==== -The input workspace must have units of wavelength. The [[instrument]] associated with the workspace must be fully defined because detector, source & sample position are needed. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/AddLogDerivative.cpp b/Code/Mantid/Framework/Algorithms/src/AddLogDerivative.cpp index f92f89231d4c..2ddc0436d32e 100644 --- a/Code/Mantid/Framework/Algorithms/src/AddLogDerivative.cpp +++ b/Code/Mantid/Framework/Algorithms/src/AddLogDerivative.cpp @@ -1,17 +1,3 @@ -/*WIKI* - -This algorithm performs a simple numerical derivative of the values in a sample log. - -The 1st order derivative is simply: dy = (y1-y0) / (t1-t0), which is placed in the log at t=(t0+t1)/2 - -Higher order derivatives are obtained by performing the equation above N times. -Since this is a simple numerical derivative, you can expect the result to quickly -get noisy at higher derivatives. - -If any of the times in the logs are repeated, then those repeated time values will be skipped, -and the output derivative log will have fewer points than the input. - -*WIKI*/ #include "MantidAlgorithms/AddLogDerivative.h" #include "MantidKernel/System.h" #include "MantidKernel/TimeSeriesProperty.h" @@ -163,4 +149,3 @@ namespace Algorithms } // namespace Mantid } // namespace Algorithms - diff --git a/Code/Mantid/Framework/Algorithms/src/AddPeak.cpp b/Code/Mantid/Framework/Algorithms/src/AddPeak.cpp index dc9d797c4901..4546738db930 100644 --- a/Code/Mantid/Framework/Algorithms/src/AddPeak.cpp +++ b/Code/Mantid/Framework/Algorithms/src/AddPeak.cpp @@ -1,9 +1,3 @@ -/*WIKI* - -Adds a [[IPeak]] to a [[PeaksWorkspace]]. - -*WIKI*/ - #include "MantidAlgorithms/AddPeak.h" #include "MantidKernel/System.h" #include "MantidAPI/IPeaksWorkspace.h" @@ -148,4 +142,3 @@ namespace Algorithms } // namespace Mantid } // namespace Algorithms - diff --git a/Code/Mantid/Framework/Algorithms/src/AddSampleLog.cpp b/Code/Mantid/Framework/Algorithms/src/AddSampleLog.cpp index 3848301de11d..7f0e0763d64f 100644 --- a/Code/Mantid/Framework/Algorithms/src/AddSampleLog.cpp +++ b/Code/Mantid/Framework/Algorithms/src/AddSampleLog.cpp @@ -1,10 +1,3 @@ -/*WIKI* -Workspaces contain information in logs. Often these detail what happened to the sample during the experiment. This algorithm allows one named log to be entered. - -The log can be either a String, a Number, or a Number Series. If you select Number Series, the workspace start time will be used as the time of the log entry, and the number in the text used as the (only) value. - -If the LogText contains a numeric value, the created log will be of integer type if an integer is passed and floating point (double) otherwise. This applies to both the Number & Number Series options. -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/AddTimeSeriesLog.cpp b/Code/Mantid/Framework/Algorithms/src/AddTimeSeriesLog.cpp index 47dc3d09fdde..6049f918eaea 100644 --- a/Code/Mantid/Framework/Algorithms/src/AddTimeSeriesLog.cpp +++ b/Code/Mantid/Framework/Algorithms/src/AddTimeSeriesLog.cpp @@ -1,23 +1,3 @@ -/*WIKI* -Creates/updates a time-series log entry on a chosen workspace. The given timestamp & value are appended to the -named log entry. If the named entry does not exist then a new log is created. A time stamp must be given in -ISO8601 format, e.g. 2010-09-14T04:20:12. - -By default, the given value is interpreted as a double and a double series is either created or expected. However, -if the "Type" is set to "int" then the value is interpreted as an integer and an integer is either created -or expected. -*WIKI*/ -/*WIKI_USAGE* -'''Python''' - import datetime as dt - - # Add an entry for the current time - log_name = "temperature" - log_value = 21.5 - AddTimeSeriesLog(inOutWS, Name=log_name, Time=dt.datetime.utcnow().isoformat(), Value=log_value) - -*WIKI_USAGE*/ - #include "MantidAlgorithms/AddTimeSeriesLog.h" #include "MantidKernel/DateTimeValidator.h" #include "MantidKernel/MandatoryValidator.h" diff --git a/Code/Mantid/Framework/Algorithms/src/AlignDetectors.cpp b/Code/Mantid/Framework/Algorithms/src/AlignDetectors.cpp index cccf45562de6..7e6ffed84822 100644 --- a/Code/Mantid/Framework/Algorithms/src/AlignDetectors.cpp +++ b/Code/Mantid/Framework/Algorithms/src/AlignDetectors.cpp @@ -1,19 +1,3 @@ -/*WIKI* - - -The offsets are a correction to the dSpacing values and are applied during the conversion from time-of-flight to dSpacing as follows: - -: d = \frac{h}{2m_N} \frac{t.o.f.}{L_{tot} sin \theta} (1+ \rm{offset}) - -The detector offsets can be obtained from either: an [[OffsetsWorkspace]] where each pixel has one value, the offset; or a .cal file (in the form created by the ARIEL software). - -'''Note:''' the workspace that this algorithms outputs is a [[Ragged Workspace]]. - -==== Restrictions on the input workspace ==== -The input workspace must contain histogram or event data where the X unit is time-of-flight and the Y data is raw counts. The [[instrument]] associated with the workspace must be fully defined because detector, source & sample position are needed. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/AlphaCalc.cpp b/Code/Mantid/Framework/Algorithms/src/AlphaCalc.cpp index 708c304f8ecf..9942166592a8 100644 --- a/Code/Mantid/Framework/Algorithms/src/AlphaCalc.cpp +++ b/Code/Mantid/Framework/Algorithms/src/AlphaCalc.cpp @@ -1,12 +1,3 @@ -/*WIKI* - - -Returns the relative efficiency of the forward detector group compared to the backward detector group. If Alpha is larger than 1 more counts has been collected in the forward group. - -This algorithm leave the input workspace unchanged. To group detectors in a workspace use [[GroupDetectors]]. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -156,5 +147,3 @@ void AlphaCalc::exec() } // namespace Algorithm } // namespace Mantid - - diff --git a/Code/Mantid/Framework/Algorithms/src/AppendSpectra.cpp b/Code/Mantid/Framework/Algorithms/src/AppendSpectra.cpp index d9e8a8addfac..b2626551d426 100644 --- a/Code/Mantid/Framework/Algorithms/src/AppendSpectra.cpp +++ b/Code/Mantid/Framework/Algorithms/src/AppendSpectra.cpp @@ -1,38 +1,3 @@ -/*WIKI* - -This algorithm appends the spectra of two workspaces together. - -The output workspace from this algorithm will be a copy of the first -input workspace, to which the data from the second input workspace -will be appended. - -Workspace data members other than the data (e.g. instrument etc.) will be copied -from the first input workspace (but if they're not identical anyway, -then you probably shouldn't be using this algorithm!). - -==== Restrictions on the input workspace ==== - -For [[EventWorkspace]]s, there are no restrictions on the input workspaces if ValidateInputs=false. - -For [[Workspace2D]]s, the number of bins must be the same in both inputs. - -If ValidateInputs is selected, then the input workspaces must also: -* Come from the same instrument -* Have common units -* Have common bin boundaries - -==== Spectrum Numbers ==== - -If there is an overlap in the spectrum numbers of both inputs, then the output -workspace will have its spectrum numbers reset starting at 0 and increasing by -1 for each spectrum. - -==== See Also ==== - -* [[ConjoinWorkspaces]] for joining parts of the same workspace. - -*WIKI*/ - #include "MantidAlgorithms/AppendSpectra.h" #include "MantidKernel/System.h" #include "MantidAPI/WorkspaceValidators.h" diff --git a/Code/Mantid/Framework/Algorithms/src/ApplyCalibration.cpp b/Code/Mantid/Framework/Algorithms/src/ApplyCalibration.cpp index 2aa9bd552b73..a0e439168d0b 100644 --- a/Code/Mantid/Framework/Algorithms/src/ApplyCalibration.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ApplyCalibration.cpp @@ -1,8 +1,3 @@ -/*WIKI* -Update detector positions from input table workspace. The positions are updated as absolute positions and so this update can be repeated. - -The PositionTable must have columns ''Detector ID'' and ''Detector Position''. The entries of the ''Detector ID'' column are integer referring to the Detector ID and the enties of the ''Detector Position'' are [[V3D]]s referring to the position of the detector whose ID is in same row. -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/ApplyDeadTimeCorr.cpp b/Code/Mantid/Framework/Algorithms/src/ApplyDeadTimeCorr.cpp index b194e159ce62..2110830f3bac 100644 --- a/Code/Mantid/Framework/Algorithms/src/ApplyDeadTimeCorr.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ApplyDeadTimeCorr.cpp @@ -1,19 +1,3 @@ -/*WIKI* -Apply deadtime correction to each spectra of a workspace. Define: - - {\displaystyle{N}} = true count - {\displaystyle{M}} = measured count - {\displaystyle{t_{dead}}} = dead-time - {\displaystyle{t_{bin}}} = time bin width - {\displaystyle{F}} = Number of good frames - -Then this algorithm assumes that the InputWorkspace contains measured counts as a -function of TOF and returns a workspace containing true counts as a function of the -same TOF binning according to - -: N = \frac{M}{(1-M*(\frac{t_{dead}}{t_{bin}*F}))} -*WIKI*/ - //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/ApplyDetailedBalance.cpp b/Code/Mantid/Framework/Algorithms/src/ApplyDetailedBalance.cpp index 93dd39550350..0e5a1dd9d1e1 100644 --- a/Code/Mantid/Framework/Algorithms/src/ApplyDetailedBalance.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ApplyDetailedBalance.cpp @@ -1,19 +1,3 @@ -/*WIKI* -The fluctuation dissipation theorem [1,2] relates the dynamic susceptibility to the scattering function - -\left(1-e^{-\frac{E}{k_B T}}\right) S(\mathbf{q}, E) = \frac{1}{\pi} \chi'' (\mathbf{q}, E) - -where E is the energy transfer to the system. The algorithm assumes that the y axis of the -input workspace contains the scattering function S. The y axis of the output workspace will -contain the dynamic susceptibility. The temperature is extracted from a log attached to the workspace, as the mean -value. Alternatively, the temperature can be directly specified. The algorithm will fail if neither option is -valid. - -[1] S. W. Lovesey - Theory of Neutron Scattering from Condensed Matter, vol 1 - -[2] I. A. Zaliznyak and S. H. Lee - Magnetic Neutron Scattering in "Modern techniques for characterizing magnetic materials" - -*WIKI*/ #include "MantidAlgorithms/ApplyDetailedBalance.h" #include "MantidKernel/System.h" #include "MantidKernel/TimeSeriesProperty.h" @@ -114,4 +98,3 @@ namespace Algorithms } // namespace Mantid } // namespace Algorithms - diff --git a/Code/Mantid/Framework/Algorithms/src/ApplyTransmissionCorrection.cpp b/Code/Mantid/Framework/Algorithms/src/ApplyTransmissionCorrection.cpp index f4fb3ff6d574..3ef7aee596d5 100644 --- a/Code/Mantid/Framework/Algorithms/src/ApplyTransmissionCorrection.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ApplyTransmissionCorrection.cpp @@ -1,12 +1,3 @@ -/*WIKI* - -The transmission can be given as a MatrixWorkspace or given directly as numbers. One or the other method must be used. - -See [http://www.mantidproject.org/Reduction_for_HFIR_SANS SANS Reduction] documentation for details. - - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -145,4 +136,3 @@ void ApplyTransmissionCorrection::exec() } // namespace Algorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/Algorithms/src/AsymmetryCalc.cpp b/Code/Mantid/Framework/Algorithms/src/AsymmetryCalc.cpp index 8963b6590660..322d6a3bb44c 100644 --- a/Code/Mantid/Framework/Algorithms/src/AsymmetryCalc.cpp +++ b/Code/Mantid/Framework/Algorithms/src/AsymmetryCalc.cpp @@ -1,33 +1,3 @@ -/*WIKI* -This algorithm is used to calculate the asymmetry for a muon workspace. The asymmetry is given by: - -: Asymmetry = \frac{F-\alpha B}{F+\alpha B} - -where F is the front spectra, B is the back spectra and a is alpha. - -The errors in F-aB and F+aB are calculated by adding the errors in F and B in quadrature; any errors in alpha are ignored. The errors for the asymmetry are then calculated using the fractional error method with the values for the errors in F-aB and F+aB. - -The output workspace contains one set of data for the time of flight, the asymmetry and the asymmetry errors. - -Note: this algorithm does not perform any grouping; the grouping must be done via the GroupDetectors algorithm or when the NeXus file is loaded auto_group must be set to true. - -*WIKI*/ -/*WIKI_USAGE* -'''Python''' - OutWS = AsymmetryCalc("EmuData","1.0","0,1,2,3,4","16,17,18,19,20") - -'''C++''' - IAlgorithm* alg = FrameworkManager::Instance().createAlgorithm("AsymmetryCalc"); - alg->setPropertyValue("InputWorkspace", "EmuData"); - alg->setPropertyValue("OutputWorkspace", "OutWS"); - alg->setPropertyValue("Alpha", "1.0"); - alg->setPropertyValue("ForwardSpectra", "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15"); - alg->setPropertyValue("BackwardSpectra", "16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31"); - alg->execute(); - Workspace* ws = FrameworkManager::Instance().getWorkspace("OutWS"); - -*WIKI_USAGE*/ - //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -170,5 +140,3 @@ void AsymmetryCalc::exec() } // namespace Algorithm } // namespace Mantid - - diff --git a/Code/Mantid/Framework/Algorithms/src/AverageLogData.cpp b/Code/Mantid/Framework/Algorithms/src/AverageLogData.cpp index 4354c72ee79d..d4a55c25a4c1 100644 --- a/Code/Mantid/Framework/Algorithms/src/AverageLogData.cpp +++ b/Code/Mantid/Framework/Algorithms/src/AverageLogData.cpp @@ -1,11 +1,3 @@ -/*WIKI* -The algorithm will calculate a proton_charge weighted average and standard deviation of any log value of numeric series type. -All proton charges earlier than the first data are ignored. Any proton pulse is counted for the log value on the right. This -means that if all proton pulses happen before the first value, and FixZero is false, the average and standard deviations are NANs. -If all the proton pulses occur after the last value, and FixZero is false, the average is equal to the last value, and the -standard deviation is zero. -*WIKI*/ - #include "MantidAlgorithms/AverageLogData.h" #include "MantidKernel/TimeSeriesProperty.h" using namespace Mantid::Kernel; diff --git a/Code/Mantid/Framework/Algorithms/src/BinaryOperateMasks.cpp b/Code/Mantid/Framework/Algorithms/src/BinaryOperateMasks.cpp index 652892c55b21..4b251417e688 100644 --- a/Code/Mantid/Framework/Algorithms/src/BinaryOperateMasks.cpp +++ b/Code/Mantid/Framework/Algorithms/src/BinaryOperateMasks.cpp @@ -1,14 +1,3 @@ -/*WIKI* -A binary operation will be conducted on two SpecialWorkspace2D (i.e., masking workspace). The binary operations supported include AND, OR and XOR (exclusive or). The operation is done between the corresponding spectra of these two input workspaces, i.e., -: spec_i^{output} = spec_i^{in 1} \times spec_i^{in 2} -: spec_i^{output} = spec_i^{in 1} + spec_i^{in 2} -: spec_i^{output} = spec_i^{in 1} \oplus spec_i^{in 2} - - -==Output== -A SpecialWorkspace2D with the same dimension and geometry as the input two SpecialWorkspace2D. - -*WIKI*/ #include "MantidAlgorithms/BinaryOperateMasks.h" #include "MantidKernel/System.h" #include "MantidDataObjects/MaskWorkspace.h" @@ -114,4 +103,3 @@ namespace Algorithms } // namespace Mantid } // namespace Algorithms - diff --git a/Code/Mantid/Framework/Algorithms/src/CalMuonDeadTime.cpp b/Code/Mantid/Framework/Algorithms/src/CalMuonDeadTime.cpp index 7b61c947dce8..f3cbed91c424 100644 --- a/Code/Mantid/Framework/Algorithms/src/CalMuonDeadTime.cpp +++ b/Code/Mantid/Framework/Algorithms/src/CalMuonDeadTime.cpp @@ -1,23 +1,3 @@ -/*WIKI* -Calculate Muon deadtime for each spectra in a workspace. - -Define: - - {\displaystyle{N}} = true count - {\displaystyle{N_0}} = true count at time zero - {\displaystyle{M}} = measured count - {\displaystyle{t_{dead}}} = dead-time - {\displaystyle{t_{bin}}} = time bin width - {\displaystyle{t_{\mu}}} = Muon decay constant - {\displaystyle{F}} = Number of good frames - -The formula used to calculate the deadtime for each spectra: - -:M\exp \left( \frac{t}{t_{\mu}} \right)=N_0 - M*N_0*(\frac{t_{dead}}{t_{bin}*F}) - -where \displaystyle{M\exp ( t/t_{\mu})} as a function of {\displaystyle{M}} is a straight line with an intercept of {\displaystyle{N_0}} and a slope of {\displaystyle{N_0*(\frac{t_{dead}}{t_{bin}*F})}}. -*WIKI*/ - //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -258,5 +238,3 @@ void CalMuonDeadTime::exec() } // namespace Algorithm } // namespace Mantid - - diff --git a/Code/Mantid/Framework/Algorithms/src/CalculateEfficiency.cpp b/Code/Mantid/Framework/Algorithms/src/CalculateEfficiency.cpp index f4e245a947cc..640694de23ba 100644 --- a/Code/Mantid/Framework/Algorithms/src/CalculateEfficiency.cpp +++ b/Code/Mantid/Framework/Algorithms/src/CalculateEfficiency.cpp @@ -1,9 +1,3 @@ -/*WIKI* - -See [http://www.mantidproject.org/Reduction_for_HFIR_SANS SANS Reduction] documentation for calculation details. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/CalculateFlatBackground.cpp b/Code/Mantid/Framework/Algorithms/src/CalculateFlatBackground.cpp index 404c74ff4968..b6c55263b437 100644 --- a/Code/Mantid/Framework/Algorithms/src/CalculateFlatBackground.cpp +++ b/Code/Mantid/Framework/Algorithms/src/CalculateFlatBackground.cpp @@ -1,16 +1,3 @@ -/*WIKI* - -This algorithm takes a list of spectra and for each spectrum calculates an average count rate in the given region, usually a region when there are only background neutrons. This count rate is then subtracted from the counts in all the spectrum's bins. However, no bin will take a negative value as bins with count rates less than the background are set to zero (and their error is set to the backgound value). - -The average background count rate is estimated in one of two ways. When Mode is set to 'Mean' it is the sum of the values in the bins in the background region divided by the width of the X range. Selecting 'Linear Fit' sets the background value to the height in the centre of the background region of a line of best fit through that region. - -The error on the background value is only calculated when 'Mean' is used. It is the errors in all the bins in the background region summed in quadrature divided by the number of bins. This background error value is added in quadrature to the errors in each bin. - -====ChildAlgorithms used==== -The [[Linear]] algorithm is used when the Mode = Linear Fit. From the resulting line of best fit a constant value taken as the value of the line at the centre of the fitted range. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/CalculateTransmission.cpp b/Code/Mantid/Framework/Algorithms/src/CalculateTransmission.cpp index 94607af21ef5..f3d3bb45201d 100644 --- a/Code/Mantid/Framework/Algorithms/src/CalculateTransmission.cpp +++ b/Code/Mantid/Framework/Algorithms/src/CalculateTransmission.cpp @@ -1,23 +1,3 @@ -/*WIKI* - -Calculates the probability of a neutron being transmitted through the sample using detected counts from two monitors, one in front and one behind the sample. A data workspace can be corrected for transmission by [[Divide|dividing]] by the output of this algorithm. - -Because the detection efficiency of the monitors can be different the transmission calculation is done using two runs, one run with the sample (represented by S below) and a direct run without it(D). The fraction transmitted through the sample f is calculated from this formula: -
-
- p = \frac{S_T}{D_T}\frac{D_I}{S_I} -
-
-where S_I is the number of counts from the monitor in front of the sample (the incident beam monitor), S_T is the transmission monitor after the sample, etc. - -The resulting fraction as a function of wavelength is created as the OutputUnfittedData workspace. However, because of statistical variations it is recommended to use the OutputWorkspace, which is the evaluation of a fit to those transmission fractions. The unfitted data is not affected by the RebinParams or Fitmethod properties but these can be used to refine the fitted data. The RebinParams method is useful when the range of wavelengths passed to CalculateTransmission is different from that of the data to be corrected. - -=== ChildAlgorithms used === - -Uses the algorithm [[linear]] to fit to the calculated transmission fraction. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/CalculateTransmissionBeamSpreader.cpp b/Code/Mantid/Framework/Algorithms/src/CalculateTransmissionBeamSpreader.cpp index f07da6116cac..148de248e829 100644 --- a/Code/Mantid/Framework/Algorithms/src/CalculateTransmissionBeamSpreader.cpp +++ b/Code/Mantid/Framework/Algorithms/src/CalculateTransmissionBeamSpreader.cpp @@ -1,9 +1,3 @@ -/*WIKI* - -See [http://www.mantidproject.org/Reduction_for_HFIR_SANS SANS Reduction] documentation for details. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/CalculateZscore.cpp b/Code/Mantid/Framework/Algorithms/src/CalculateZscore.cpp index 79c86b24b582..90d270646194 100644 --- a/Code/Mantid/Framework/Algorithms/src/CalculateZscore.cpp +++ b/Code/Mantid/Framework/Algorithms/src/CalculateZscore.cpp @@ -1,9 +1,3 @@ -/*WIKI* - -Calculate Z-score of a spectrum in a given workspace. - -*WIKI*/ - #include "MantidAlgorithms/CalculateZscore.h" #include "MantidAPI/WorkspaceProperty.h" diff --git a/Code/Mantid/Framework/Algorithms/src/ChangeBinOffset.cpp b/Code/Mantid/Framework/Algorithms/src/ChangeBinOffset.cpp index b1fc03f51237..9fcf82cddac0 100644 --- a/Code/Mantid/Framework/Algorithms/src/ChangeBinOffset.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ChangeBinOffset.cpp @@ -1,15 +1,3 @@ -/*WIKI* - - -This algorithm can be used to change the time-of-flight bins of a workspace by a specified amount (defined above as the Offset). A possible use of this algorithm is to correct time bins that have been recorded incorrectly. - -Optionally, the range of spectra can be selected to apply this offset selectively using the IndexMin and IndexMax properties. - -The output workspace will be an exact copy of the input workspace except for the changed time bins. - - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/ChangeLogTime.cpp b/Code/Mantid/Framework/Algorithms/src/ChangeLogTime.cpp index ca1dae338d5e..0731abf74adc 100644 --- a/Code/Mantid/Framework/Algorithms/src/ChangeLogTime.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ChangeLogTime.cpp @@ -1,7 +1,3 @@ -/*WIKI* - - -*WIKI*/ #include "MantidAlgorithms/ChangeLogTime.h" #include "MantidDataObjects/EventWorkspace.h" #include "MantidKernel/TimeSeriesProperty.h" diff --git a/Code/Mantid/Framework/Algorithms/src/ChangePulsetime.cpp b/Code/Mantid/Framework/Algorithms/src/ChangePulsetime.cpp index 938b3dfde664..b878238786f9 100644 --- a/Code/Mantid/Framework/Algorithms/src/ChangePulsetime.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ChangePulsetime.cpp @@ -1,10 +1,3 @@ -/*WIKI* - - -Modifies the pulse time (wall-clock time) of all the events in the specified spectra of an EventWorkspace, by adding the given number of seconds. - - -*WIKI*/ #include "MantidAlgorithms/ChangePulsetime.h" #include "MantidKernel/System.h" #include "MantidKernel/ArrayProperty.h" @@ -103,4 +96,3 @@ namespace Algorithms } // namespace Mantid } // namespace Algorithms - diff --git a/Code/Mantid/Framework/Algorithms/src/CheckWorkspacesMatch.cpp b/Code/Mantid/Framework/Algorithms/src/CheckWorkspacesMatch.cpp index c2662303a8b8..7a9f50f24910 100644 --- a/Code/Mantid/Framework/Algorithms/src/CheckWorkspacesMatch.cpp +++ b/Code/Mantid/Framework/Algorithms/src/CheckWorkspacesMatch.cpp @@ -1,14 +1,3 @@ -/*WIKI* - - -Compares two workspaces for equality. This algorithm is mainly intended for use by Mantid developers as part of the testing process. - -The data values (X,Y and error) are always checked. The algorithm can also optionally check the axes (this includes the units), the spectra-detector map, the instrument (the name and parameter map) and any bin masking. - -In the case of [[EventWorkspace]]s, they are checked to hold identical event lists. Comparisons between an EventList and a Workspace2D always fail. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -1166,4 +1155,3 @@ void CheckWorkspacesMatch::doMDComparison(Workspace_sptr w1, Workspace_sptr w2) } // namespace Algorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/Algorithms/src/ChopData.cpp b/Code/Mantid/Framework/Algorithms/src/ChopData.cpp index 7b06e87da219..fdce5a4d62ac 100644 --- a/Code/Mantid/Framework/Algorithms/src/ChopData.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ChopData.cpp @@ -1,20 +1,3 @@ -/*WIKI* - -This algorithm will chop the input workspace into equally sized workspaces, and adjust the X-values given so that they all begin from the same point. This is useful if your raw files contain multiple frames. - -=== Identifying Extended Frames === -[[File:ChopDataIntegrationExplanation.png|frame|Figure 1: Example Monitor Spectrum with Extended Frames]] - -If the parameters ''IntegrationRangeLower'', ''IntegrationRangeUpper'' and ''MonitorWorkspaceIndex'' are provided to the algorithm, then it will attempt to identify where in the workspace the frames have been extended. - -For example: looking at Figure 1 which shows an input workspace covering 100000 microseconds, we can see that the first frame covers forty thousand, and the other three cover twenty thousand each. - -In order for Mantid to determine this programatically, it integrates over a range (defined by IntegrationRangeLower and IntegrationRangeUpper) for each "chop" of the data. If the relative values for this integration fall within certain bounds, then the chop is deemed to be a continuation of the previous one rather than a separate frame. If this happens, then they will be placed in the same workspace within the result group. - -The algorithm will only look at the workspace given in ''MonitorWorkspaceIndex'' property to determine this. Though it is expected and recommended that you use a monitor spectrum for this purpose, it is not enforced so you may use a regular detector if you have cause to do so. - - -*WIKI*/ #include "MantidAlgorithms/ChopData.h" #include "MantidAPI/WorkspaceValidators.h" #include "MantidKernel/MultiThreaded.h" diff --git a/Code/Mantid/Framework/Algorithms/src/ClearMaskFlag.cpp b/Code/Mantid/Framework/Algorithms/src/ClearMaskFlag.cpp index fd50b04502be..e9c01171e81c 100644 --- a/Code/Mantid/Framework/Algorithms/src/ClearMaskFlag.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ClearMaskFlag.cpp @@ -1,7 +1,3 @@ -/*WIKI* -This algorithm clears the mask flag/bit on all spectra of a workspace. It does not restore masked data. -*WIKI*/ - #include "MantidAlgorithms/ClearMaskFlag.h" namespace Mantid diff --git a/Code/Mantid/Framework/Algorithms/src/CloneWorkspace.cpp b/Code/Mantid/Framework/Algorithms/src/CloneWorkspace.cpp index 83e4fb57eba5..b2c2e2aa2378 100644 --- a/Code/Mantid/Framework/Algorithms/src/CloneWorkspace.cpp +++ b/Code/Mantid/Framework/Algorithms/src/CloneWorkspace.cpp @@ -1,11 +1,3 @@ -/*WIKI* - -This algorithm performs a deep copy of all of the information in the workspace. It maintains events if the input is an [[EventWorkspace]]. -It will call CloneMDWorkspace for a [[MDEventWorkspace]] or a [[MDHistoWorkspace]]. -It can also clone a [[PeaksWorkspace]]. - -*WIKI*/ - #include "MantidAlgorithms/CloneWorkspace.h" #include "MantidAPI/IMDEventWorkspace.h" #include "MantidDataObjects/EventWorkspace.h" @@ -114,4 +106,3 @@ void CloneWorkspace::exec() } // namespace Algorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/Algorithms/src/ConjoinWorkspaces.cpp b/Code/Mantid/Framework/Algorithms/src/ConjoinWorkspaces.cpp index 61cc909183c4..e5414dc0c2e0 100644 --- a/Code/Mantid/Framework/Algorithms/src/ConjoinWorkspaces.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ConjoinWorkspaces.cpp @@ -1,20 +1,3 @@ -/*WIKI* - - -This algorithm can be useful when working with large datasets. It enables the raw file to be loaded in two parts (not necessarily of equal size), the data processed in turn and the results joined back together into a single dataset. This can help avoid memory problems either because intermediate workspaces will be smaller and/or because the data will be much reduced after processing. - -The output of the algorithm, in which the data from the second input workspace will be appended to the first, will be stored under the name of the first input workspace. Workspace data members other than the data (e.g. instrument etc.) will be copied from the first input workspace (but if they're not identical anyway, then you probably shouldn't be using this algorithm!). Both input workspaces will be deleted. - -==== Conflict Spectrum IDs ==== -The algorithm adds the spectra from the first workspace and then the second workspace. -* The original spectrum IDs will be respected if there is no conflict of spectrum IDs between the first workspace and the second. -* If there are conflict in spectrum IDs, such that some spectrum IDs appear in both workspace1 and workspace2, then it will be resolved such that the spectrum IDs of spectra coming from workspace2 will be reset to some integer numbers larger than the largest spectrum ID of the spectra from workspace1. Assuming that the largest spectrum ID of workspace1 is S, then for any spectrum of workspace wi in workspace2, its spectrum ID is equal to (S+1)+wi+offset, where offset is a non-negative integer. - -==== Restrictions on the input workspace ==== - -The input workspaces must come from the same instrument, have common units and bins and no detectors that contribute to spectra should overlap. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/ConvertAxisByFormula.cpp b/Code/Mantid/Framework/Algorithms/src/ConvertAxisByFormula.cpp index f16d9ed45646..5337cfdf546a 100644 --- a/Code/Mantid/Framework/Algorithms/src/ConvertAxisByFormula.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ConvertAxisByFormula.cpp @@ -1,32 +1,3 @@ -/*WIKI* -This algorithm allows users to adjust the axes of a workspace by a user defined math formula. -It will NOT adjust or rearrange the data values (other than in one case the X values) of a workspace. -Therefore alterations that will rearrange the order of the axes are not recommended. -This only works for MatrixWorkspaces, so will not work on Multi Dimensional Workspaces or Table Workspaces. -Like the [[ConvertSpectrumAxis]] algorithm the result of this algorithm will have custom units defined for the axis you have altered, and as such may not work in all other algorithms. - -The algorithm can operate on the X or Y axis, but cannot alter the values of a spectrum axis (the axis used as the Y axis on newly loaded Raw data). If you wish to alter this axis use he [[ConvertSpectrumAxis]] algorithm first. - -The formula is defined in a simple math syntax, please look at the usage examples to some ideas of what is possible, -a full list of the functions available can be found at the muparser website [http://muparser.beltoforion.de/mup_features.html#idDef2]. -*WIKI*/ -/*WIKI_USAGE* -Squaring the X axis (assuming it is in Q) -result = ConvertAxisByFormula(InputsWorkspace="input", Axis="X", Formula="x*x",AxisTitle="QSquared",AxisUnit="Q2") - -Other examples of the Math format are as follows: -* Squaring - x^2 -* Square root - sqrt(x) -* Cubing - x^3 -* Basic addition - y + 3 -* Brackets - (y+1)/20 -* Natural Log - ln(x) -* Log 10 - log(x) -* exponent - exp(y) -* round to nearest integer - rint(y/10) -* absolute value - abs(y-100) -Use can use x or y interchangeably to refer to the current axis value. -*WIKI_USAGE*/ #include "MantidAlgorithms/ConvertAxisByFormula.h" #include "MantidAPI/WorkspaceValidators.h" #include "MantidKernel/ListValidator.h" diff --git a/Code/Mantid/Framework/Algorithms/src/ConvertFromDistribution.cpp b/Code/Mantid/Framework/Algorithms/src/ConvertFromDistribution.cpp index bcaa0993fb6a..938b2750ee71 100644 --- a/Code/Mantid/Framework/Algorithms/src/ConvertFromDistribution.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ConvertFromDistribution.cpp @@ -1,12 +1,3 @@ -/*WIKI* - -Converts a histogram workspace from a distribution i.e. multiplies by the bin width to take out the bin width dependency. - -==== Restrictions on the input workspace ==== -The workspace to convert must contain histogram data which is flagged as being a distribution. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/ConvertMDHistoToMatrixWorkspace.cpp b/Code/Mantid/Framework/Algorithms/src/ConvertMDHistoToMatrixWorkspace.cpp index 466bca427d6e..83e311fc1beb 100644 --- a/Code/Mantid/Framework/Algorithms/src/ConvertMDHistoToMatrixWorkspace.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ConvertMDHistoToMatrixWorkspace.cpp @@ -1,8 +1,3 @@ -/*WIKI* - -Creates a single spectrum Workspace2D with X,Y, and E copied from an first non-integrated dimension of a IMDHistoWorkspace. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -159,4 +154,3 @@ void ConvertMDHistoToMatrixWorkspace::exec() } // namespace Algorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/Algorithms/src/ConvertSpectrumAxis.cpp b/Code/Mantid/Framework/Algorithms/src/ConvertSpectrumAxis.cpp index 8dcc64f8e7b6..15fe07ab9574 100644 --- a/Code/Mantid/Framework/Algorithms/src/ConvertSpectrumAxis.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ConvertSpectrumAxis.cpp @@ -1,14 +1,3 @@ -/*WIKI* - - -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. - -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. - -For units other than \theta, the value placed in the axis is generated by using the [[ConvertUnits]] methods to translate the values of the first and last bin for the current X-data unit into the target unit, then taking the mid-point of these. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -227,4 +216,3 @@ namespace Algorithms } } // namespace Algorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/Algorithms/src/ConvertSpectrumAxis2.cpp b/Code/Mantid/Framework/Algorithms/src/ConvertSpectrumAxis2.cpp index 6f0ad8c57ff8..19693393a1fd 100644 --- a/Code/Mantid/Framework/Algorithms/src/ConvertSpectrumAxis2.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ConvertSpectrumAxis2.cpp @@ -1,12 +1,3 @@ -/*WIKI* - - -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. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/ConvertTableToMatrixWorkspace.cpp b/Code/Mantid/Framework/Algorithms/src/ConvertTableToMatrixWorkspace.cpp index 4062bcb119ae..0726b1d5ab7b 100644 --- a/Code/Mantid/Framework/Algorithms/src/ConvertTableToMatrixWorkspace.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ConvertTableToMatrixWorkspace.cpp @@ -1,9 +1,3 @@ -/*WIKI* - -Creates a single spectrum Workspace2D with X,Y, and E copied from columns ColumnX, ColumnY, and ColumnE respectively. -If ColumnE is not set the E vector will be filled with 1s. The type of the columns must be convertible to C++ double. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -77,4 +71,3 @@ void ConvertTableToMatrixWorkspace::exec() } // namespace Algorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/Algorithms/src/ConvertToDistribution.cpp b/Code/Mantid/Framework/Algorithms/src/ConvertToDistribution.cpp index 358d46aa56d0..d630d22829cc 100644 --- a/Code/Mantid/Framework/Algorithms/src/ConvertToDistribution.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ConvertToDistribution.cpp @@ -1,12 +1,3 @@ -/*WIKI* - -Makes a histogram workspace a distribution i.e. divides by the bin width. - -==== Restrictions on the input workspace ==== -The workspace to convert must contain histogram data which is not already flagged as a distribution. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/ConvertToEventWorkspace.cpp b/Code/Mantid/Framework/Algorithms/src/ConvertToEventWorkspace.cpp index 5b6bd176d6a8..f10c3d8c4d0f 100644 --- a/Code/Mantid/Framework/Algorithms/src/ConvertToEventWorkspace.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ConvertToEventWorkspace.cpp @@ -1,20 +1,3 @@ -/*WIKI* - -This algorithm takes a Workspace2D with any binning or units as its input. -An event is created for each bin of each histogram, except if the bin count is 0.0 (unless ''GenerateZeros'' is true). -Infinity and NAN (not-a-number) values are always skipped. - -Each event is created with an X position (typically time-of-flight) equal to the **center** of the bin. -The weight and error of the event are taken from the histogram value. - -If the ''GenerateMultipleEvents'' option is set, then instead of a single event per bin, -a certain number of events evenly distributed along the X bin are generated. -The number of events generated in each bin is calculated by N = (Y/E)^2. -However, it is limited to a max of ''MaxEventsPerBin'' and a minimum of 1 event per bin. - -Note that using ''GenerateZeros'' or ''GenerateMultipleEvents'' may use a lot of memory! - -*WIKI*/ #include "MantidAlgorithms/ConvertToEventWorkspace.h" #include "MantidKernel/System.h" #include "MantidDataObjects/Workspace2D.h" @@ -121,4 +104,3 @@ namespace Algorithms } // namespace Mantid } // namespace Algorithms - diff --git a/Code/Mantid/Framework/Algorithms/src/ConvertToHistogram.cpp b/Code/Mantid/Framework/Algorithms/src/ConvertToHistogram.cpp index f41cb3afff89..22fbfcc4b53e 100644 --- a/Code/Mantid/Framework/Algorithms/src/ConvertToHistogram.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ConvertToHistogram.cpp @@ -1,11 +1,3 @@ -/*WIKI* - -The input workspace must contain point data. - -Once executed, the OutputWorkspace will contain histogram data where the bin width is guessed from the spacing between the input X points. - - -*WIKI*/ //------------------------------------------------------------------------------ // Includes //------------------------------------------------------------------------------ diff --git a/Code/Mantid/Framework/Algorithms/src/ConvertToMatrixWorkspace.cpp b/Code/Mantid/Framework/Algorithms/src/ConvertToMatrixWorkspace.cpp index 23763f470871..b2991053551d 100644 --- a/Code/Mantid/Framework/Algorithms/src/ConvertToMatrixWorkspace.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ConvertToMatrixWorkspace.cpp @@ -1,10 +1,3 @@ -/*WIKI* - - -This can also be performed using the [[Rebin]] algorithm and having the "PreserveEvents" parameter set to false. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -80,4 +73,3 @@ void ConvertToMatrixWorkspace::exec() } // namespace Algorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/Algorithms/src/ConvertToPointData.cpp b/Code/Mantid/Framework/Algorithms/src/ConvertToPointData.cpp index 484cef7f69a6..e70c250e1a4d 100644 --- a/Code/Mantid/Framework/Algorithms/src/ConvertToPointData.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ConvertToPointData.cpp @@ -1,9 +1,3 @@ -/*WIKI* - -The input workspace must contain histogram data. Once executed the OutputWorkspace will contain point data, where the X values are simply the centre points of the input bins. - - -*WIKI*/ //------------------------------------------------------------------------------ // Includes //------------------------------------------------------------------------------ diff --git a/Code/Mantid/Framework/Algorithms/src/ConvertUnits.cpp b/Code/Mantid/Framework/Algorithms/src/ConvertUnits.cpp index 861913b7004c..a961eae84596 100644 --- a/Code/Mantid/Framework/Algorithms/src/ConvertUnits.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ConvertUnits.cpp @@ -1,24 +1,3 @@ -/*WIKI* - - -Changes the units in which the X values of a [[workspace]] are represented. The available units are those registered with the [[Unit Factory]]. If the Y data is 'dimensioned' (i.e. has been divided by the bin width), then this will be correctly handled, but at present nothing else is done to the Y data. -If the sample-detector distance cannot be calculated then the affected spectrum will be zeroed, and a warning message will be output on the [[logging]] service. - -If AlignBins is false or left at the default the output workspace may be a [[Ragged Workspace]]. If it is set to true then the data is automatically [[Rebin|rebinned]] to a regular grid so that the maximum and minimum X values will be maintained. It uses the same number of bins as the input data, and divides them linearly equally between the minimum and maximum values. - -If converting to \Delta E any bins which correspond to a physically inaccessible will be removed, leading to an output workspace than is smaller than the input one. If the geometry is indirect then the value of EFixed will be taken, if available, from the instrument definition file. - -==== Restrictions on the input workspace ==== -* Naturally, the X values must have a unit set, and that unit must be known to the [[Unit Factory]]. -* Only histograms, not point data, can be handled at present. -* The algorithm will also fail if the source-sample distance cannot be calculated (i.e. the [[instrument]] has not been properly defined). - -== Available units == - -The units currently available to this algorithm are listed [[Unit Factory|here]], along with equations specifying exactly how the conversions are done. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/CopyInstrumentParameters.cpp b/Code/Mantid/Framework/Algorithms/src/CopyInstrumentParameters.cpp index 053621049629..f86455a204b2 100644 --- a/Code/Mantid/Framework/Algorithms/src/CopyInstrumentParameters.cpp +++ b/Code/Mantid/Framework/Algorithms/src/CopyInstrumentParameters.cpp @@ -1,14 +1,3 @@ -/*WIKI* - -Transfer an instrument parameters from a giving workspace to a receiving workspace. - -The instrument parameters in the receiving workspace are REPLACED (despite you can assume from the name of the algorithm) -by a copy of the instrument parameters in the giving workspace -so gaining any manipulations such as calibration done to the instrument in the giving workspace. - -Does not work on workspaces with grouped detectors if some of the detectors were calibrated. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/CopyLogs.cpp b/Code/Mantid/Framework/Algorithms/src/CopyLogs.cpp index 8d853f391596..a12958516fc0 100644 --- a/Code/Mantid/Framework/Algorithms/src/CopyLogs.cpp +++ b/Code/Mantid/Framework/Algorithms/src/CopyLogs.cpp @@ -1,13 +1,3 @@ -/*WIKI* -The algorithm will copy the sample logs in the input workspace to the the output workspace using one of three merge strategies. - -*MergeReplaceExisting: Default option. Copy logs from the input workspace to the output workspace and replace any existing logs with the same name. -*MergeKeepExisting: Keep the existing logs in the output workspace and don't modify them, but append any new ones from the input workspace. -Note that this will not concatenate values or ranges. The algorithm will choose to keep the value of any the log already present in the output workspace, leaving it untouched. -*WipeExisting: Dump any logs that are in the output workspace and replace them with the logs from the input workspace. - -*WIKI*/ - #include "MantidAlgorithms/CopyLogs.h" #include "MantidKernel/ListValidator.h" #include "MantidKernel/Property.h" diff --git a/Code/Mantid/Framework/Algorithms/src/CopySample.cpp b/Code/Mantid/Framework/Algorithms/src/CopySample.cpp index e139a31422d2..9a9c40a7d68e 100644 --- a/Code/Mantid/Framework/Algorithms/src/CopySample.cpp +++ b/Code/Mantid/Framework/Algorithms/src/CopySample.cpp @@ -1,17 +1,3 @@ -/*WIKI* - - -The algorithm copies some/all the sample information from one workspace to another.For MD workspaces, if no input sample number is specified, or not found, it will copy the first sample. For MD workspaces, if no output sample number is specified (or negative), it will copy to all samples. -The following information can be copied: -* Name -* Material -* Sample environment -* Shape -* Oriented lattice - -One can copy the orientation matrix only. To do this, select both CopyLattice and CopyOrientationOnly. If only CopyOrientationOnly is true, the algorithm will throw an error. - -*WIKI*/ #include "MantidAlgorithms/CopySample.h" #include "MantidKernel/System.h" #include "MantidAPI/IMDEventWorkspace.h" @@ -178,4 +164,3 @@ namespace Algorithms } // namespace Mantid } // namespace Algorithms - diff --git a/Code/Mantid/Framework/Algorithms/src/CorrectFlightPaths.cpp b/Code/Mantid/Framework/Algorithms/src/CorrectFlightPaths.cpp index 59d72ea68b3d..f21ed5e1eca4 100644 --- a/Code/Mantid/Framework/Algorithms/src/CorrectFlightPaths.cpp +++ b/Code/Mantid/Framework/Algorithms/src/CorrectFlightPaths.cpp @@ -1,12 +1,3 @@ -/*WIKI* -Corrects the flight paths of a flat detector. -Both TOF sample-detector and distance sample-detector are corrected to constant values, i.e., this algorithm make the detector spherical rather than flat. - -detector_distance must exist in the _Parameters.xml: - -So far this has only be tested on ILL IN5. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/CorrectKiKf.cpp b/Code/Mantid/Framework/Algorithms/src/CorrectKiKf.cpp index 81d06d2db6a9..4c7b9c61dbc7 100644 --- a/Code/Mantid/Framework/Algorithms/src/CorrectKiKf.cpp +++ b/Code/Mantid/Framework/Algorithms/src/CorrectKiKf.cpp @@ -1,12 +1,3 @@ -/*WIKI* -Performs ki / kf multiplication, in order to transform differential scattering cross section into dynamic -structure factor. Both Ei and Ef must be positive. However, if this requirement is not met, it will give an error -only if the data is not 0. This allows applying the algorithms to rebinned data, where one can rebin in -Direct EMode to energies higher than EFixed. If no value is defined for EFixed, the algorithm will try -to find Ei in the workspace properties for direct geometry spectrometry, or in the instrument definition, -for indirect geometry spectrometry. Algorithm is event aware. TOF events will be changed to weighted events. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/CorrectToFile.cpp b/Code/Mantid/Framework/Algorithms/src/CorrectToFile.cpp index ee68937dbaf0..b39a28c9f060 100644 --- a/Code/Mantid/Framework/Algorithms/src/CorrectToFile.cpp +++ b/Code/Mantid/Framework/Algorithms/src/CorrectToFile.cpp @@ -1,11 +1,3 @@ -/*WIKI* - -Use data from the supplied file, written in the RKH format, to correct the input data. The operations allowed for the correction are [[multiply]] and [[divide]]. - -Allowed correction files may contain one spectrum with many bins or many spectra each with one bin. If the are many bins then the FirstColumnValue must match the [[Unit_Factory|units]] of the (X-values on the) workspace on the InputWorkspace. When there are many spectra (e.g. flood correction files) FirstColumnValue must be set to "SpectrumNumber" and the number of spectra in the file and workspace must match. - - -*WIKI*/ //----------------------------- // Includes //---------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/CreateCalFileByNames.cpp b/Code/Mantid/Framework/Algorithms/src/CreateCalFileByNames.cpp index fe6920030761..568f90689643 100644 --- a/Code/Mantid/Framework/Algorithms/src/CreateCalFileByNames.cpp +++ b/Code/Mantid/Framework/Algorithms/src/CreateCalFileByNames.cpp @@ -1,36 +1,3 @@ -/*WIKI* - -[[Image:InstrumentTree.jpg|450px|right|Instrument Tree]] - -Create a [[CalFile|calibration file]] for diffraction focusing based on list of names of the instrument tree. - -If a new file name is specified then offsets in the file are all sets to zero and all detectors are selected. -If a valid calibration file already exists at the location specified by the [[CalFile|GroupingFileName]] -then any existing offsets and selection values will be maintained and only the grouping values changed. - -Detectors not assigned to any group will appear as group 0, i.e. not included when using AlignDetector or DiffractionFocussing algorithms. - -The group number is assigned based on a descent in the instrument tree assembly. -If two assemblies are parented, say Bank1 and module1, and both assembly names -are given in the GroupNames, they will get assigned different grouping numbers. -This allows to isolate a particular sub-assembly of a particular leaf of the tree. -*WIKI*/ -/*WIKI_USAGE* -'''Python''' - GEM = LoadEmptyInstrument(Filename="GEM_Definition.xml") # Create test workspace. Normally just use reduced one - CreateCalFileByNames("GEM","output.cal","Bank1,Bank2,Module1") - -'''C++''' - IAlgorithm* alg = FrameworkManager::Instance().createAlgorithm("LoadEmptyInstrument"); - alg.setPropertyValue("Filename", "GEM_Definition.xml") - alg.execute() - IAlgorithm* alg = FrameworkManager::Instance().createAlgorithm("CreateCalFileByNames"); - alg->setPropertyValue("InstrumentName", "GEM"); - alg->setPropertyValue("GroupingFileName", "output.cal"); - alg->setPropertyValue("GroupNames", "Bank1,Bank2,Module1"); - alg->execute(); -*WIKI_USAGE*/ - //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/CreateDummyCalFile.cpp b/Code/Mantid/Framework/Algorithms/src/CreateDummyCalFile.cpp index 7b36f2042182..fc259f007669 100644 --- a/Code/Mantid/Framework/Algorithms/src/CreateDummyCalFile.cpp +++ b/Code/Mantid/Framework/Algorithms/src/CreateDummyCalFile.cpp @@ -1,25 +1,3 @@ -/*WIKI* - -[[Image:InstrumentTree.jpg|450px|right|Instrument Tree]] - -Create a dummy [[CalFile|calibration file]] for diffraction focusing with one group. - -Offsets in the file are all sets to zero and all detectors are selected. Overwrites a calibration file that already exists at the location specified. - -Detectors will be assigned to group one when using AlignDetector or DiffractionFocussing algorithms. - - -*WIKI*/ -/*WIKI_USAGE* -'''Python''' - CreateDummyCalFile("SNAP_4111","output.cal") - -'''C++''' - IAlgorithm* alg = FrameworkManager::Instance().createAlgorithm("CreateCalFileByNames"); - alg->setPropertyValue("InputWorkspace", "SNAP_4111"); - alg->setPropertyValue("CalFilename", "output.cal"); - alg->execute(); -*WIKI_USAGE*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/CreateFlatEventWorkspace.cpp b/Code/Mantid/Framework/Algorithms/src/CreateFlatEventWorkspace.cpp index fe85dbd163d9..798ed189b95a 100644 --- a/Code/Mantid/Framework/Algorithms/src/CreateFlatEventWorkspace.cpp +++ b/Code/Mantid/Framework/Algorithms/src/CreateFlatEventWorkspace.cpp @@ -1,7 +1,3 @@ -/*WIKI* -TODO: Enter a full wiki-markup description of your algorithm here. You can then use the Build/wiki_maker.py script to generate your full wiki page. -*WIKI*/ - #include "MantidAlgorithms/CreateFlatEventWorkspace.h" diff --git a/Code/Mantid/Framework/Algorithms/src/CreateGroupingWorkspace.cpp b/Code/Mantid/Framework/Algorithms/src/CreateGroupingWorkspace.cpp index 18a2c0a05210..e3ff69f76350 100644 --- a/Code/Mantid/Framework/Algorithms/src/CreateGroupingWorkspace.cpp +++ b/Code/Mantid/Framework/Algorithms/src/CreateGroupingWorkspace.cpp @@ -1,18 +1,3 @@ -/*WIKI* - - - -A [[GroupingWorkspace]] is a simple workspace with one value per detector pixel; this value corresponds to the group number that will be used when focussing or summing another workspace. - -This algorithm creates a blank GroupingWorkspace. It uses the InputWorkspace, InstrumentName, OR InstrumentFilename parameterto determine which Instrument to create. - -If the OldCalFilename parameter is given, the .cal ASCII file will be loaded to fill the group data. - -If the GroupNames parameter is given, the names of banks matching the comma-separated strings in the parameter will be used to sequentially number the groups in the output. - - - -*WIKI*/ #include "MantidAlgorithms/CreateGroupingWorkspace.h" #include "MantidAPI/MatrixWorkspace.h" #include "MantidDataObjects/GroupingWorkspace.h" @@ -412,4 +397,3 @@ namespace Algorithms } // namespace Mantid } // namespace Algorithms - diff --git a/Code/Mantid/Framework/Algorithms/src/CreateLogPropertyTable.cpp b/Code/Mantid/Framework/Algorithms/src/CreateLogPropertyTable.cpp index 5cfc42ac819b..5f5053daaebf 100644 --- a/Code/Mantid/Framework/Algorithms/src/CreateLogPropertyTable.cpp +++ b/Code/Mantid/Framework/Algorithms/src/CreateLogPropertyTable.cpp @@ -1,29 +1,3 @@ -/*WIKI* - -Data is loaded into Mantid workspaces along with various log properties. This algorithm enables a user to easily compile a TableWorkspace of values for each of the specified properties, for each of the specified workspaces. - -=== LogPropertyNames === - -The list of log property names provided must consist of properties that actually appear in the workspace(s). You can check which properties are loaded with workspaces by right-clicking the workspace and navigating to the "Sample Logs..." dialog window. All acceptable properties have names that appear in the "Name" column of the dialog table. - -=== GroupPolicy === - -GroupWorkspaces can be handled in various ways, depending on the GroupPolicy input: - -==== "All" ==== - -All children of any GroupWorkspaces will be included in the table. This should be used when each child workspace contains different data. - -==== "First" ==== - -Only the first child of any GroupWorkspaces will be included in the table. This is useful for instruments that produce groups of workspaces for a single run, and specifying "All" would populate the table with duplicate data. - -==== "None" ==== - -Excludes GroupWorkspaces altogether. - -[[File:ConvertToEnergyInfoTable.png|350px|center|frame|Output workspace generated by loading TOSCA runs 12218-12229, and feeding the resuling workspace names into the algorithm, along with the property names "inst_abrv", "run_number", "user_name", "run_title" and "hd_dur".]] -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/CreateLogTimeCorrection.cpp b/Code/Mantid/Framework/Algorithms/src/CreateLogTimeCorrection.cpp index 508374c7ae13..522f9dd34c5e 100644 --- a/Code/Mantid/Framework/Algorithms/src/CreateLogTimeCorrection.cpp +++ b/Code/Mantid/Framework/Algorithms/src/CreateLogTimeCorrection.cpp @@ -1,9 +1,3 @@ -/*WIKI* - -For fast fequency sample logs, the time-of-flight of each neutron is recorded at detector. As the sample log time is recorded at sample, each neutron's flight time must be corrected to sample to be filtered correctly by log value. - -*WIKI*/ - #include "MantidAlgorithms/CreateLogTimeCorrection.h" #include "MantidAPI/WorkspaceProperty.h" #include "MantidAPI/FileProperty.h" @@ -214,11 +208,3 @@ namespace Algorithms } // namespace Algorithms } // namespace Mantid - - - - - - - - diff --git a/Code/Mantid/Framework/Algorithms/src/CreatePSDBleedMask.cpp b/Code/Mantid/Framework/Algorithms/src/CreatePSDBleedMask.cpp index 82fac8cdfa75..3a7dda75ec33 100644 --- a/Code/Mantid/Framework/Algorithms/src/CreatePSDBleedMask.cpp +++ b/Code/Mantid/Framework/Algorithms/src/CreatePSDBleedMask.cpp @@ -1,13 +1,3 @@ -/*WIKI* - -The diagnostic test attempts to find all tubes within the instrument attached to the workspace. If successful, each tube is tested for saturation above the level defined by the 'MaxTubeFramerate' property. -If any pixel, not including those marked to be ignored around the equatorial region, are counting above this threshold then the entire tube is masked. - -==== Restrictions on the input workspace ==== -* The workspace must contain either raw counts or counts/us. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -277,4 +267,3 @@ namespace Mantid } } - diff --git a/Code/Mantid/Framework/Algorithms/src/CreatePeaksWorkspace.cpp b/Code/Mantid/Framework/Algorithms/src/CreatePeaksWorkspace.cpp index ca43358881cb..5fe4ca80adbc 100644 --- a/Code/Mantid/Framework/Algorithms/src/CreatePeaksWorkspace.cpp +++ b/Code/Mantid/Framework/Algorithms/src/CreatePeaksWorkspace.cpp @@ -1,12 +1,3 @@ -/*WIKI* - -Create an empty [[PeaksWorkspace]]. Use [[LoadIsawPeaks]] or [[FindPeaksMD]] to create a peaks workspace with peaks. - -This workspace can serve as a starting point for modifying the [[PeaksWorkspace]], using the GUI or -python scripting, for example. - -*WIKI*/ - #include "MantidAlgorithms/CreatePeaksWorkspace.h" #include "MantidKernel/System.h" #include "MantidDataObjects/PeaksWorkspace.h" @@ -80,4 +71,3 @@ namespace Algorithms } // namespace Mantid } // namespace Algorithms - diff --git a/Code/Mantid/Framework/Algorithms/src/CreateSampleWorkspace.cpp b/Code/Mantid/Framework/Algorithms/src/CreateSampleWorkspace.cpp index 730a1395c05d..1437f59a379a 100644 --- a/Code/Mantid/Framework/Algorithms/src/CreateSampleWorkspace.cpp +++ b/Code/Mantid/Framework/Algorithms/src/CreateSampleWorkspace.cpp @@ -1,19 +1,3 @@ -/*WIKI* -Creates sample workspaces for usage examples and other situations. - -You can select a predefined function for the data or enter your own by selecting User Defined in the drop down. - -The data will be the same for each spectrum, and is defined by the function selected, and a little noise if Random is selected. All values are taken converted to absolute values at present so negative values will become positive. -For event workspaces the intensity of the graph will be affected by the number of events selected. - -Here is an example of a user defined formula containing two peaks and a background. - name=LinearBackground, A0=0.5;name=Gaussian, PeakCentre=10000, Height=50, Sigma=0.5;name=Gaussian, PeakCentre=1000, Height=80, Sigma=0.5 - -Random also affects the distribution of events within bins for event workspaces. -If Random is selected the results will differ between runs of the algorithm and will not be comparable. -If comparing the output is important set Random to false or uncheck the box. -*WIKI*/ - #include "MantidAlgorithms/CreateSampleWorkspace.h" #include "MantidDataObjects/Workspace2D.h" #include "MantidDataObjects/EventWorkspace.h" @@ -454,4 +438,4 @@ namespace Algorithms } } // namespace Algorithms -} // namespace Mantid \ No newline at end of file +} // namespace Mantid diff --git a/Code/Mantid/Framework/Algorithms/src/CreateSingleValuedWorkspace.cpp b/Code/Mantid/Framework/Algorithms/src/CreateSingleValuedWorkspace.cpp index b8e14859f666..e1bffd2f7bec 100644 --- a/Code/Mantid/Framework/Algorithms/src/CreateSingleValuedWorkspace.cpp +++ b/Code/Mantid/Framework/Algorithms/src/CreateSingleValuedWorkspace.cpp @@ -1,13 +1,3 @@ -/*WIKI* - -Creates a 2D workspace that contains a single value and an optional error value. This is useful if, for example, there is a need to multiply (or divide etc) a workspace by a single value. - -*WIKI*/ -/*WIKI_USAGE* - LoadRaw("C:/Data/testfile.raw","rawspace") - CreateSingleValuedWorkspace("scalar", "3") - Multiply("rawspace", "scalar", "rawspace") -*WIKI_USAGE*/ //------------------------ //Includes //------------------------ @@ -55,4 +45,3 @@ void CreateSingleValuedWorkspace::exec() setProperty("OutputWorkspace", singleValued); //Done :) } - diff --git a/Code/Mantid/Framework/Algorithms/src/CreateTransmissionWorkspace.cpp b/Code/Mantid/Framework/Algorithms/src/CreateTransmissionWorkspace.cpp index 334a1fade493..5c8da9f90993 100644 --- a/Code/Mantid/Framework/Algorithms/src/CreateTransmissionWorkspace.cpp +++ b/Code/Mantid/Framework/Algorithms/src/CreateTransmissionWorkspace.cpp @@ -1,8 +1,3 @@ -/*WIKI* -Creates a transmission run workspace given one or more TOF workspaces and the original run Workspace. If two workspaces are provided, then -the workspaces are stitched together using [[Stitch1D]]. InputWorkspaces must be in TOF. A single output workspace is generated with x-units of Wavlength in angstroms. - *WIKI*/ - #include "MantidAlgorithms/CreateTransmissionWorkspace.h" #include "MantidAPI/WorkspaceValidators.h" diff --git a/Code/Mantid/Framework/Algorithms/src/CreateWorkspace.cpp b/Code/Mantid/Framework/Algorithms/src/CreateWorkspace.cpp index 5cc14a5508ad..d83cf177af0f 100644 --- a/Code/Mantid/Framework/Algorithms/src/CreateWorkspace.cpp +++ b/Code/Mantid/Framework/Algorithms/src/CreateWorkspace.cpp @@ -1,20 +1,3 @@ -/*WIKI* - - -Example of use in Python for create a simple histogram workspace and automatically populating the VerticalAxis with SpectraNumber values. - -
- - dataX = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16] - dataY = [1,2,3,4,5,6,7,8,9,10,11,12] - dataE = [1,2,3,4,5,6,7,8,9,10,11,12] - - # The workspace will be named "dataWS" - dataWS = CreateWorkspace(DataX=dataX, DataY=dataY, DataE=dataE, NSpec=4,UnitX="Wavelength") -
- - -*WIKI*/ #include "MantidAlgorithms/CreateWorkspace.h" #include "MantidKernel/ArrayProperty.h" diff --git a/Code/Mantid/Framework/Algorithms/src/CropWorkspace.cpp b/Code/Mantid/Framework/Algorithms/src/CropWorkspace.cpp index 1c1d1adea870..1b20c6005fde 100644 --- a/Code/Mantid/Framework/Algorithms/src/CropWorkspace.cpp +++ b/Code/Mantid/Framework/Algorithms/src/CropWorkspace.cpp @@ -1,16 +1,3 @@ -/*WIKI* - - -Extracts a 'block' from a workspace and places it in a new workspace (or, to look at it another way, lops bins or spectra off a workspace). - -CropWorkspace works on workspaces with common X arrays/bin boundaries or on so-called [[Ragged Workspace|ragged workspaces]]. If the input workspace has common bin boundaries/X values then cropping in X will lead to an output workspace with fewer bins than the input one. If the boundaries are not common then the output workspace will have the same number of bins as the input one, but with data values outside the X range given set to zero. - -If an X value given for XMin/XMax does not match a bin boundary (within a small tolerance to account for rounding errors), then the closest bin boundary within the range will be used. -Note that if none of the optional properties are given, then the output workspace will be -a copy of the input one. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/CrossCorrelate.cpp b/Code/Mantid/Framework/Algorithms/src/CrossCorrelate.cpp index cedcec2b360d..5254293c4214 100644 --- a/Code/Mantid/Framework/Algorithms/src/CrossCorrelate.cpp +++ b/Code/Mantid/Framework/Algorithms/src/CrossCorrelate.cpp @@ -1,17 +1,3 @@ -/*WIKI* - - -Compute the cross correlation function for a range of spectra with respect to a reference spectrum. - -This is use in powder diffraction experiments when trying to estimate the offset of one spectra with respect to another one. The spectra are converted in d-spacing and then interpolate on the X-axis of the reference. The cross correlation function is computed in the range [-N/2,N/2] where N is the number of points. - -More details can be found [http://en.wikipedia.org/wiki/Cross-correlation here.] - -*WIKI*/ -/*WIKI_USAGE* - '''Python''' - OutputW = CrossCorrelate("InputW",2,3,75,1.6,2.2) -*WIKI_USAGE*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/CuboidGaugeVolumeAbsorption.cpp b/Code/Mantid/Framework/Algorithms/src/CuboidGaugeVolumeAbsorption.cpp index 5c4ead7dcdfb..db2ad6c509cd 100644 --- a/Code/Mantid/Framework/Algorithms/src/CuboidGaugeVolumeAbsorption.cpp +++ b/Code/Mantid/Framework/Algorithms/src/CuboidGaugeVolumeAbsorption.cpp @@ -1,17 +1,3 @@ -/*WIKI* - -This algorithm uses a numerical integration method to calculate attenuation factors resulting from absorption and single scattering within a cuboid region of a sample with the dimensions and material properties given. '''The gauge volume generated will be an axis-aligned cuboid centred on the sample (centre) position. The sample must fully enclose this cuboid. If this does not meet your needs you can instead use the general [[AbsorptionCorrection]] algorithm in conjunction with [[DefineGaugeVolume]].''' - -Factors are calculated for each spectrum (i.e. detector position) and wavelength point, as defined by the input workspace. The sample is divided up into cuboids having sides of as close to the size given in the ElementSize property as the sample dimensions will allow. Thus the calculation speed depends linearly on the total number of bins in the workspace and goes as \rm{ElementSize}^{-3}. - -Path lengths through the sample are then calculated for the centre-point of each element and a numerical integration is carried out using these path lengths over the volume elements. - -==== Restrictions on the input workspace ==== -The input workspace must have units of wavelength. The [[instrument]] associated with the workspace must be fully defined because detector, source & sample position are needed. A sample shape must have been defined using, e.g., [[CreateSampleShape]] and the gauge volume must be fully within the sample. - - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/CylinderAbsorption.cpp b/Code/Mantid/Framework/Algorithms/src/CylinderAbsorption.cpp index d67883d151b0..d101e84f6fe2 100644 --- a/Code/Mantid/Framework/Algorithms/src/CylinderAbsorption.cpp +++ b/Code/Mantid/Framework/Algorithms/src/CylinderAbsorption.cpp @@ -1,23 +1,3 @@ -/*WIKI* - -This algorithm uses a numerical integration method to calculate attenuation factors resulting from absorption and single scattering in a cylindrical sample with the dimensions and material properties given. Factors are calculated for each spectrum (i.e. detector position) and wavelength point, as defined by the input workspace. The sample is divided up into a stack of slices, which are then divided into annuli (rings). These annuli are further divided (see Ref. [2], Appendix A) to give the full set of elements for which a calculation will be carried out. Thus the calculation speed depends linearly on the total number of bins in the workspace and on the number of slices. The dependence on the number of annuli is stronger, going as 3n ( n+1 ) . - -Path lengths through the sample are then calculated for the centre-point of each element and a numerical integration is carried out using these path lengths over the volume elements. - -==== Assumptions ==== - -Although no assumptions are made about the beam direction or the sample position, the cylinder will be constructed with its centre at the sample position and it's axis along the y axis (which in the case of most instruments is the vertical). - -==== Restrictions on the input workspace ==== -The input workspace must have units of wavelength. The [[instrument]] associated with the workspace must be fully defined because detector, source & sample position are needed. - -==== References ==== -The method used here is based upon work presented in the following two papers, although it does not yet fully implement all aspects discussed there (e.g. there's no multiple scattering and no concentric cylinders). -# I.A. Blech & B.L. Averbach, ''Multiple Scattering of Neutrons in Vanadium and Copper'', Phys. Rev. '''137 4A''' (1965) A1113. -# A.K. Soper & P.A. Egelstaff, ''Multiple Scattering and Attenuation of Neutrons in Concentric Cylinders'', NIM '''178''' (1980) 415. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/DeleteLog.cpp b/Code/Mantid/Framework/Algorithms/src/DeleteLog.cpp index a9e7f5a22001..2b09a482f918 100644 --- a/Code/Mantid/Framework/Algorithms/src/DeleteLog.cpp +++ b/Code/Mantid/Framework/Algorithms/src/DeleteLog.cpp @@ -1,7 +1,3 @@ -/*WIKI* -Removes a named log from the run attached to the input workspace. If the log does not exist then the algorithm simply -emits a warning and does not fail. -*WIKI*/ #include "MantidAlgorithms/DeleteLog.h" #include "MantidKernel/MandatoryValidator.h" diff --git a/Code/Mantid/Framework/Algorithms/src/DeleteWorkspace.cpp b/Code/Mantid/Framework/Algorithms/src/DeleteWorkspace.cpp index 4de2b0349cd5..2ef67bf5fea0 100644 --- a/Code/Mantid/Framework/Algorithms/src/DeleteWorkspace.cpp +++ b/Code/Mantid/Framework/Algorithms/src/DeleteWorkspace.cpp @@ -1,9 +1,3 @@ -/*WIKI* - -If the input workspace exists then it is removed from Mantid. - - -*WIKI*/ //-------------------------------------------------------------------------- // Includes //-------------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/DetectorDiagnostic.cpp b/Code/Mantid/Framework/Algorithms/src/DetectorDiagnostic.cpp index a46420349cf9..7b7a55c37132 100644 --- a/Code/Mantid/Framework/Algorithms/src/DetectorDiagnostic.cpp +++ b/Code/Mantid/Framework/Algorithms/src/DetectorDiagnostic.cpp @@ -1,17 +1,3 @@ -/*WIKI* -This algorithm is a C++ replacement for the Python diagnostics.diagnose -function located in the scripts/inelastic directory. The algorithm expects -processed workspaces as input just as the other function did. The main -functionality of the algorithm is to determine issues with detector vanadium -runs and mask out bad pixels. The algorithms that are run on the detector -vanadium are FindDetectorsOutsideLimits and MedianDetectorTest. It also performs -a second set of diagnostics on another detector vanadium run and -DetectorEfficiencyVariation on the two. The algorithm also checks processed -sample workspaces (total counts and background) for bad pixels as well. The total -counts workspace is tested with FindDetectorsOutsideLimits. The background -workspace is run through MedianDetector test. A processed sample workspace can -be given to perform and CreatePSDBleedMask will be run on it. -*WIKI*/ //-------------------------------------------------------------------------- // Includes //-------------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/DetectorEfficiencyCor.cpp b/Code/Mantid/Framework/Algorithms/src/DetectorEfficiencyCor.cpp index 458f6b804dc8..45ff26930558 100644 --- a/Code/Mantid/Framework/Algorithms/src/DetectorEfficiencyCor.cpp +++ b/Code/Mantid/Framework/Algorithms/src/DetectorEfficiencyCor.cpp @@ -1,21 +1,3 @@ -/*WIKI* - - -The probability of neutron detection by each detector in the [[workspace]] is calculated from the neutrons' kinetic energy, angle between their path and the detector axis, detector gas pressure, radius and wall thickness. The detectors must be cylindrical and their 3He partial pressure, wall thickness and radius stored in the input workspace, the first in atmospheres and the last two in metres. That workspace then needs to be converted so that its X-values are in [[Unit_Factory|units]] of energy transfer, e.g. using the [[ConvertUnits|ConvertUnits]] algorithm. - -To estimate the true number of neutrons that entered the detector the counts in each bin are divided by the detector efficiency of that detector at that energy. - -The numbers of counts are then multiplied by the value of k_i/k_f for each bin. In that formula k_i is the wavenumber a neutron leaving the source (the same for all neutrons) and k_f is the wavenumber on hitting the detector (dependent on the detector and energy bin). They're calculated, in angstrom-1, as - k_i = \sqrt{\frac{E_i}{2.07212466}} - - k_f = \sqrt{\frac{E_i - \Delta E}{2.07212466}} - -where E_i and \Delta E are energies in meV, the inital neutron kinetic energy and the energy lost to the sample respectively. - -Note: it is not possible to use this [[algorithm]] to correct for the detector efficiency alone. One solution to this is to divide the output algorithm by k_i/k_f calculated as above. - - -*WIKI*/ #include "MantidAlgorithms/DetectorEfficiencyCor.h" #include "MantidAPI/WorkspaceValidators.h" #include "MantidKernel/Exception.h" diff --git a/Code/Mantid/Framework/Algorithms/src/DetectorEfficiencyCorUser.cpp b/Code/Mantid/Framework/Algorithms/src/DetectorEfficiencyCorUser.cpp index d63c4e66def0..eda47c8403ed 100644 --- a/Code/Mantid/Framework/Algorithms/src/DetectorEfficiencyCorUser.cpp +++ b/Code/Mantid/Framework/Algorithms/src/DetectorEfficiencyCorUser.cpp @@ -1,18 +1,3 @@ -/*WIKI* -This algorithm will correct detector efficiency according to the ILL INX program for time-of-flight data reduction. - -A formula named "formula_eff" must be defined in the instrument parameters file. -The input workspace must be in DeltaE units. - -The output data will be corrected as: - y = \frac{y}{eff} -where eff is - eff = \frac{f(Ei - \Delta E)}{f(E_i)} - -The function f is defined as "formula_eff" in the IDF. To date this has been implemented at the ILL for ILL IN4, IN5 and IN6. - - *WIKI*/ - #include "MantidAlgorithms/DetectorEfficiencyCorUser.h" #include "MantidAPI/WorkspaceValidators.h" #include "MantidKernel/BoundedValidator.h" diff --git a/Code/Mantid/Framework/Algorithms/src/DetectorEfficiencyVariation.cpp b/Code/Mantid/Framework/Algorithms/src/DetectorEfficiencyVariation.cpp index cb7be2e4e3e1..55fcca13defd 100644 --- a/Code/Mantid/Framework/Algorithms/src/DetectorEfficiencyVariation.cpp +++ b/Code/Mantid/Framework/Algorithms/src/DetectorEfficiencyVariation.cpp @@ -1,21 +1,3 @@ -/*WIKI* - - -It is intended that the input white beam vanadium workspaces are from the same instrument and were collected before and after an experimental run of interest. First the ratios of the total number of counts in corresponding histograms from each input workspace are calculated and then the median ratio is calculated. Each ratio is compared to the median and a histogram will fail when any of the following conditions are true: -
    -
  • (sum1/sum2)/median(sum1/sum2) > Variation
  • -
  • (sum1/sum2)/median(sum1/sum2) < 1/Variation
  • -
-where sum1 is the sum of the counts in a histogram in the workspace WhiteBeamBase and sum2 is the sum of the counts in the equivalent histogram in WhiteBeamCompare. The above equations only make sense for identifying bad detectors if Variation > 1. If a value of less than one is given for Variation then Variation will be set to the reciprocal. - -The output workspace contains a MaskWorkspace where those spectra that fail the tests are masked and those that pass them are assigned a single positive value. - -====Child algorithms used==== - -Uses the [[Integration]] algorithm to sum the spectra. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/DiffractionEventCalibrateDetectors.cpp b/Code/Mantid/Framework/Algorithms/src/DiffractionEventCalibrateDetectors.cpp index 54f9f94c3de9..038f5ad2f921 100644 --- a/Code/Mantid/Framework/Algorithms/src/DiffractionEventCalibrateDetectors.cpp +++ b/Code/Mantid/Framework/Algorithms/src/DiffractionEventCalibrateDetectors.cpp @@ -1,21 +1,3 @@ -/*WIKI* - -Moves the detectors in an instrument to optimize the maximum intensity of each detector using gsl_multimin_fminimizer_nmsimplex. Only bin data close to peak you wish to maximize. - -*WIKI*/ -/*WIKI_USAGE* -'''Python''' - DiffractionEventCalibrateDetectors(InputWorkspace=SNAP_4307, Params="1.9308,0.0002,2.1308", LocationOfPeakToOptimize=2.0308, MaxIterations=100, DetCalFilename="./SNAP_4307.DetCal") - -'''C++''' - IAlgorithm* alg = FrameworkManager::Instance().createAlgorithm("DiffractionEventCalibrateDetectors"); - alg->setPropertyValue("InputWorkspace", "SNAP_4111"); - alg->setPropertyValue("Params", "1.9308,0.0002,2.1308"); - alg->setPropertyValue("LocationOfPeakToOptimize","2.0308"); - alg->setPropertyValue("MaxIterations", "100"); - alg->setPropertyValue("DetCalFilename", "./SNAP_4307.DetCal"); - alg->execute(); -*WIKI_USAGE*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/DiffractionFocussing.cpp b/Code/Mantid/Framework/Algorithms/src/DiffractionFocussing.cpp index 75279cbc7f22..c9d3985ac7c7 100644 --- a/Code/Mantid/Framework/Algorithms/src/DiffractionFocussing.cpp +++ b/Code/Mantid/Framework/Algorithms/src/DiffractionFocussing.cpp @@ -1,38 +1,3 @@ -/*WIKI* - -[[Image:GEM_Focused.png|200px|thumb|right|Example of RAW GEM data focused across the 5 detector banks]] -Given an InputWorkspace and a Grouping filename, the algorithm performs the following: -# The calibration file is read and a map of corresponding udet-group is created. -# The algorithm determine the X boundaries for each group as the upper and lower limits of all contributing detectors to this group and determine a logarithmic step that will ensure preserving the number of bins in the initial workspace. -# All histograms are read and rebinned to the new grid for their group. -# A new workspace with N histograms is created. - -Within the [[CalFile]] any detectors with the 'select' flag can be set to zero or with a group number of 0 or -ve groups are not included in the analysis. - -Since the new X boundaries depend on the group and not the entire workspace, -this focusing algorithm does not create overestimated X ranges for multi-group instruments. -However it is important to remember that this means that this algorithm outputs a [[Ragged_Workspace|ragged workspace]]. Some 2D and 3D plots will not display the data correctly. - -The DiffractionFocussing algorithm uses GroupDetectors algorithm to combine data from several spectra according to GroupingFileName file which is a [[CalFile]]. - -===For EventWorkspaces=== - -The algorithm can be used with an [[EventWorkspace]] input, and will create an EventWorkspace output if a different workspace is specified. - -The main difference vs. using a Workspace2D is that the event lists from all the incoming pixels are simply appended in the grouped spectra; this means that you can rebin the resulting spectra to finer bins with no loss of data. In fact, it is unnecessary to bin your incoming data at all; binning can be performed as the very last step. - -*WIKI*/ -/*WIKI_USAGE* -'''Python''' - OutWS = DiffractionFocussing("InWS","filename") -'''C++''' - IAlgorithm* alg = FrameworkManager::Instance().createAlgorithm("DiffractionFocussing"); - alg->setPropertyValue("InputWorkspace", "InWS"); - alg->setPropertyValue("OutputWorkspace", "OutWS"); - alg->setPropertyValue("GroupingFileName", "filename"); - alg->execute(); - Workspace* ws = FrameworkManager::Instance().getWorkspace("OutWS"); -*WIKI_USAGE*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/DiffractionFocussing2.cpp b/Code/Mantid/Framework/Algorithms/src/DiffractionFocussing2.cpp index 26c22d389a7b..4ced3516bfb1 100644 --- a/Code/Mantid/Framework/Algorithms/src/DiffractionFocussing2.cpp +++ b/Code/Mantid/Framework/Algorithms/src/DiffractionFocussing2.cpp @@ -1,31 +1,3 @@ -/*WIKI* - -[[Image:GEM_Focused.png|200px|thumb|right|Example of RAW GEM data focused across the 5 detector banks]] -Given an InputWorkspace and a Grouping filename, the algorithm performs the following: -# The calibration file is read and a map of corresponding udet-group is created. -# The algorithm determine the X boundaries for each group as the upper and lower limits of all contributing detectors to this group and determine a logarithmic step that will ensure preserving the number of bins in the initial workspace. -# All histograms are read and rebinned to the new grid for their group. -# A new workspace with N histograms is created. - -Within the [[CalFile]] any detectors with the 'select' flag can be set to zero or with a group number of 0 or -ve groups are not included in the analysis. - -Since the new X boundaries depend on the group and not the entire workspace, -this focusing algorithm does not create overestimated X ranges for multi-group instruments. -However it is important to remember that this means that this algorithm outputs a [[Ragged_Workspace|ragged workspace]]. Some 2D and 3D plots will not display the data correctly. - -The DiffractionFocussing algorithm uses GroupDetectors algorithm to combine data from several spectra according to GroupingFileName file which is a [[CalFile]]. - -===For EventWorkspaces=== - -The algorithm can be used with an [[EventWorkspace]] input, and will create an EventWorkspace output if a different workspace is specified. - -The main difference vs. using a Workspace2D is that the event lists from all the incoming pixels are simply appended in the grouped spectra; this means that you can rebin the resulting spectra to finer bins with no loss of data. In fact, it is unnecessary to bin your incoming data at all; binning can be performed as the very last step. - -==Previous Versions== -===Version 1=== -Version 1 did not support the use of workspaces to carry grouping workspaces and only worked with CalFiles. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/Divide.cpp b/Code/Mantid/Framework/Algorithms/src/Divide.cpp index 857ee184aaeb..c7d3091c060e 100644 --- a/Code/Mantid/Framework/Algorithms/src/Divide.cpp +++ b/Code/Mantid/Framework/Algorithms/src/Divide.cpp @@ -1,25 +1,3 @@ -/*WIKI* - -{{BinaryOperation|verb=divided|prep=by|symbol=\div}} -{{BinaryOperationFooterMultiply|verb=divided|prep=by|symbol=\div}} - - -*WIKI*/ -/*WIKI_USAGE* -'''Python''' - output = Divide("w1","w2") - w3 = w1 / w2 - w1 /= w2 # Perform "in-place" - # Using a scalar - w3 = w1 / 2.5 - w1 /= 2.5 # Perform "in-place" - -'''C++ Within an Algorithm'''
-The usage of basic workspace mathematical operations has been specially simplified for use within algorithms - - //w1 and w2 are workspaces - workspace_sptr output = w1 / w2; -*WIKI_USAGE*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/EQSANSResolution.cpp b/Code/Mantid/Framework/Algorithms/src/EQSANSResolution.cpp index 20ee0f4fba96..effb0aba7064 100644 --- a/Code/Mantid/Framework/Algorithms/src/EQSANSResolution.cpp +++ b/Code/Mantid/Framework/Algorithms/src/EQSANSResolution.cpp @@ -1,7 +1,3 @@ -/*WIKI* - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -39,4 +35,3 @@ double EQSANSResolution::getTOFResolution(double wl) } // namespace Algorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/Algorithms/src/EQSANSTofStructure.cpp b/Code/Mantid/Framework/Algorithms/src/EQSANSTofStructure.cpp index 0f3c71e88882..b5d7843ce609 100644 --- a/Code/Mantid/Framework/Algorithms/src/EQSANSTofStructure.cpp +++ b/Code/Mantid/Framework/Algorithms/src/EQSANSTofStructure.cpp @@ -1,9 +1,3 @@ -/*WIKI* - -Documentation to come. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -406,4 +400,3 @@ double EQSANSTofStructure::getTofOffset(EventWorkspace_const_sptr inputWS, bool } // namespace Algorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/Algorithms/src/EditInstrumentGeometry.cpp b/Code/Mantid/Framework/Algorithms/src/EditInstrumentGeometry.cpp index 78eb8a112217..58c88f2d4dec 100644 --- a/Code/Mantid/Framework/Algorithms/src/EditInstrumentGeometry.cpp +++ b/Code/Mantid/Framework/Algorithms/src/EditInstrumentGeometry.cpp @@ -1,34 +1,3 @@ -/*WIKI* -This algorithm can - 1. add an Instrument to a Workspace without any real instrument associated with, or - 2. replace a Workspace's Instrument with a new Instrument, or - 3. edit all detectors' parameters of the instrument associated with a Workspace (partial instrument editing is not supported). - -== Requirements on input properties == -1. PrimaryFightPath (L1): If it is not given, L1 will be the distance between source and sample in the original instrument. Otherwise, L1 is read from input. The source position of the modified instrument is (0, 0, -L1); - -2. SpectrumIDs: If not specified (empty list), then SpectrumIDs will be set up to any array such that SpectrumIDs[wsindex] is the spectrum ID of workspace index 'wsindex'; - -3. L2 and Polar cannot be empty list; - -4. SpectrumIDs[i], L2[i], Polar[i], Azimuthal[i] and optional DetectorIDs[i] correspond to the detector of a same spectrum. - -==Limitations== -There are some limitations of this algorithm. - -1. The key to locate the detector is via spectrum ID; - -2. For each spectrum, there is only one and only one new detector. Thus, if one spectrum is associated with a group of detectors previously, the replacement (new) detector is the one which is (diffraction) focused on after this algorithm is called. - -==Instruction== -1. For powder diffractomer with 3 spectra, user can input - SpectrumIDs = "1, 3, 2" - L2 = "3.1, 3.2, 3.3" - Polar = "90.01, 90.02, 90.03" - Azimuthal = "0.1,0.2,0.3" - to set up the focused detectors' parameters for spectrum 1, 3 and 2. -*WIKI*/ - #include "MantidAlgorithms/EditInstrumentGeometry.h" #include "MantidGeometry/Instrument/Detector.h" #include "MantidAPI/ISpectrum.h" @@ -393,4 +362,3 @@ namespace Algorithms } // namespace Mantid } // namespace Algorithms - diff --git a/Code/Mantid/Framework/Algorithms/src/ElasticWindow.cpp b/Code/Mantid/Framework/Algorithms/src/ElasticWindow.cpp index 8af6a0ffe252..7ca3cd780b56 100644 --- a/Code/Mantid/Framework/Algorithms/src/ElasticWindow.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ElasticWindow.cpp @@ -1,12 +1,3 @@ -/*WIKI* - - -This algorithm Integrates over the range specified, converts the spectrum axis into units of Q and Q^2 and Transposes the result workspaces. - -There are two output workspaces. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -150,4 +141,3 @@ void ElasticWindow::exec() } // namespace Algorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/Algorithms/src/EstimatePDDetectorResolution.cpp b/Code/Mantid/Framework/Algorithms/src/EstimatePDDetectorResolution.cpp index fdea0216ccb9..79ac5f982c3d 100644 --- a/Code/Mantid/Framework/Algorithms/src/EstimatePDDetectorResolution.cpp +++ b/Code/Mantid/Framework/Algorithms/src/EstimatePDDetectorResolution.cpp @@ -1,36 +1,3 @@ -/*WIKI* - -== Instrument resolution == -Resolution of a detector in d-spacing is defined as \frac{\Delta d}{d}, -which is constant for an individual detector. - -Starting from the Bragg equation for T.O.F. diffractometer, -:d = \frac{t}{252.777\cdot L\cdot2\sin\theta} - -as -:\Delta d = \sqrt{(\Delta T)^2 + (\Delta L)^2 + (\Delta\theta)^2} - -and thus -:\frac{\Delta d}{d} = \sqrt{(\frac{\Delta T}{T})^2 + (\frac{\Delta L}{L})^2 + (\Delta\theta\cdot\cot(\theta))^2} - -where, -* \Delta T is the time resolution from modulator; -* \Delta\theta is the coverage of the detector, and can be approximated from the square root of the solid angle of the detector to sample; -* L is the flight path of the neutron from source to detector. - -== Factor Sheet == -=== NOMAD === -Detector size -* vertical: 1 meter / 128 pixel -* Horizontal: half inch or 1 inch - -=== POWGEN === -Detector size: 0.005 x 0.0543 - -Range of \Delta\theta\cot\theta: (0.00170783, 0.0167497) - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/Exponential.cpp b/Code/Mantid/Framework/Algorithms/src/Exponential.cpp index aa5c9d841e50..e42607976570 100644 --- a/Code/Mantid/Framework/Algorithms/src/Exponential.cpp +++ b/Code/Mantid/Framework/Algorithms/src/Exponential.cpp @@ -1,13 +1,3 @@ -/*WIKI* -The algorithm will apply the exponential function (i.e. e^y) to the data and associated errors from a workspaces. -The units of the workspace are not updated, so the user must take care in the use of such output workspaces. -When acting on an event workspace, the output will be a Workspace2D, with the default binning from the original workspace. - -*WIKI*/ -/*WIKI_USAGE* -'''Python''' - output = Exponential("input") -*WIKI_USAGE*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/ExponentialCorrection.cpp b/Code/Mantid/Framework/Algorithms/src/ExponentialCorrection.cpp index 0015d8befc39..bebc12e2ea53 100644 --- a/Code/Mantid/Framework/Algorithms/src/ExponentialCorrection.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ExponentialCorrection.cpp @@ -1,15 +1,3 @@ -/*WIKI* - - -This algorithm corrects the data and error values on a workspace by the value of an exponential function -of the form {\rm C0} e^{-{\rm C1} x} . -This formula is calculated for each data point, with the value of ''x'' -being the mid-point of the bin in the case of histogram data. -The data and error values are either divided or multiplied by the value of this function, according to the -setting of the Operation property. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/ExportTimeSeriesLog.cpp b/Code/Mantid/Framework/Algorithms/src/ExportTimeSeriesLog.cpp index 7940a815c6ef..3045c845c126 100644 --- a/Code/Mantid/Framework/Algorithms/src/ExportTimeSeriesLog.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ExportTimeSeriesLog.cpp @@ -1,17 +1,3 @@ -/*WIKI* - - - - - -Export TimeSeriesProperty log in a Workspace to a MatrixWorkspace - - - - - - -*WIKI*/ #include "MantidAlgorithms/ExportTimeSeriesLog.h" #include "MantidKernel/System.h" #include "MantidAPI/FileProperty.h" diff --git a/Code/Mantid/Framework/Algorithms/src/ExtractFFTSpectrum.cpp b/Code/Mantid/Framework/Algorithms/src/ExtractFFTSpectrum.cpp index 4885db48a818..007cbc977702 100644 --- a/Code/Mantid/Framework/Algorithms/src/ExtractFFTSpectrum.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ExtractFFTSpectrum.cpp @@ -1,49 +1,3 @@ -/*WIKI* - -This algorithm iterates the [[FFT]] algorithm on each spectrum of InputWorkspace, computing the Fourier Transform and storing the transformed spectrum in OutputWorkspace. If InputImagWorkspace is also passed, then the pair spectrum ''i'' of InputWorkspace (real) and spectrum ''i'' of InputImagWorkspace (real) are taken together as spectrum ''i'' of a complex workspace, on which [[FFT]] is applied. - -The FFTPart parameter specifies which transform is selected from the output of the [[FFT]] algorithm: - -For the case of input containing real and imaginary workspaces: -{| border="1" cellpadding="5" cellspacing="0" -!FFTPart -!Description -|- -|0 -|Complete real part -|- -|1 -|Complete imaginary part -|- -|2 -|Complete transform modulus -|} - -For the case of input containing no imaginary workspace: -{| border="1" cellpadding="5" cellspacing="0" -!FFTPart -!Description -|- -|0 -|Real part, positive frequencies -|- -|1 -|Imaginary part, positive frequencies -|- -|2 -|Modulus, positive frequencies -|- -|3 -|Complete real part -|- -|4 -|Complete imaginary part -|- -|5 -|Complete transform modulus -|} - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/ExtractMask.cpp b/Code/Mantid/Framework/Algorithms/src/ExtractMask.cpp index ebb280a5c7e2..430b8f561e1f 100644 --- a/Code/Mantid/Framework/Algorithms/src/ExtractMask.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ExtractMask.cpp @@ -1,13 +1,3 @@ -/*WIKI* - -The masking from the InputWorkspace property is extracted by creating a new MatrixWorkspace with a single X bin where: -* 0 = masked; -* 1 = unmasked. - -The spectra containing 0 are also marked as masked and the instrument link is preserved so that the instrument view functions correctly. - - -*WIKI*/ //------------------------------------------------------------------------------ // Includes //------------------------------------------------------------------------------ @@ -146,4 +136,3 @@ namespace Mantid } } - diff --git a/Code/Mantid/Framework/Algorithms/src/ExtractMaskToTable.cpp b/Code/Mantid/Framework/Algorithms/src/ExtractMaskToTable.cpp index b8eeed1b0530..dbff3b8b2967 100644 --- a/Code/Mantid/Framework/Algorithms/src/ExtractMaskToTable.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ExtractMaskToTable.cpp @@ -1,22 +1,3 @@ -/*WIKI* - -==== InputWorskpace ==== -It can be either a MaskWorkspace, containing the masking information, or a Data workspace (EventWorkspace or Workspace2D), having -detectors masked. - -==== Optional MaskTableWorkspace ==== -If the optional input 'MaskTableWorkspace' is given, it must be a table workspace having the -same format as output TableWorkspace such that it contains 3 columns, XMin, XMax and DetectorIDsList. - -The contents in this mask table workspace will be copied to output workspace. - -If a detector is masked in this input 'MaskTableWorkspace', and it is also masked in input MaskWorkspace or data workspace, -the setup (Xmin and Xmax) in MaskTableWorkspace has higher priority, i.e., in the output mask table workspace, -the masked detector will be recorded in the row copied from input MaskTableWrokspace. - - -*WIKI*/ - #include "MantidAlgorithms/ExtractMaskToTable.h" #include "MantidAPI/WorkspaceProperty.h" #include "MantidAPI/TableRow.h" diff --git a/Code/Mantid/Framework/Algorithms/src/ExtractSingleSpectrum.cpp b/Code/Mantid/Framework/Algorithms/src/ExtractSingleSpectrum.cpp index 88ba5f682a4b..056179812e26 100644 --- a/Code/Mantid/Framework/Algorithms/src/ExtractSingleSpectrum.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ExtractSingleSpectrum.cpp @@ -1,10 +1,3 @@ -/*WIKI* - - -Extracts a single spectrum from a [[Workspace2D]] and stores it in a new workspace. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -57,4 +50,3 @@ void ExtractSingleSpectrum::exec() } // namespace Algorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/Algorithms/src/FFT.cpp b/Code/Mantid/Framework/Algorithms/src/FFT.cpp index 1df430e7449f..37481483e8ad 100644 --- a/Code/Mantid/Framework/Algorithms/src/FFT.cpp +++ b/Code/Mantid/Framework/Algorithms/src/FFT.cpp @@ -1,125 +1,3 @@ -/*WIKI* - - -The FFT algorithm performs discrete Fourier transform of complex data using the Fast Fourier Transform algorithm. It uses the GSL Fourier transform functions to do the calculations. Due to the nature of the fast fourier transform the input spectra must have linear x axes. If the imaginary part is not set the data is considered real. The "Transform" property defines the direction of the transform: direct ("Forward") or inverse ("Backward"). - -Note that the input data is shifted before the transform along the x axis to place the origin in the middle of the x-value range. It means that for the data defined on an interval [A,B] the output F(\xi_k) must be multiplied by e^{-2\pi ix_0\xi_k} , where x_0=\tfrac{1}{2}(A+B), \xi_k is the frequency. - -==Details== - -The Fourier transform of a complex function f(x) is defined by equation: - -:F(\xi)=\int_{-\infty}^\infty f(x)e^{-2\pi ix\xi} dx - -For discrete data with equally spaced x_n and only non-zero on an interval [A,B] the integral can be approximated by a sum: - -:F(\xi)=\Delta x\sum_{n=0}^{N-1}f(x_n)e^{-2\pi ix_n\xi} - -Here \Delta x is the bin width, x_n=A+\Delta xn. If we are looking for values of the transformed function F at discrete frequencies \xi_k=\Delta\xi k with - -:\Delta\xi=\frac{1}{B-A}=\frac{1}{L}=\frac{1}{N\Delta x} - -the equation can be rewritten: - -:F_k=e^{-2\pi iA\xi_k}\Delta x\sum_{n=0}^{N-1}f_ne^{-\tfrac{2\pi i}{N}nk} - -Here f_n=f(x_n) and F_k=F(\xi_k). The formula - -:\tilde{F}_k=\Delta x\sum_{n=0}^{N-1}f_ne^{-\tfrac{2\pi i}{N}nk} - -is the Discrete Fourier Transform (DFT) and can be efficiently evaluated using the Fast Fourier Transform algorithm. The DFT formula calculates the Fourier transform of data on the interval [0,L]. It should be noted that it is periodic in k with period N. If we also assume that f_n is also periodic with period N the DFT can be used to transform data on the interval [-L/2,L/2]. To do this we swap the two halves of the data array f_n. If we denote the modified array as \bar{f}_n, its transform will be - -:\bar{F}_k=\Delta x\sum_{n=0}^{N-1}\bar{f}_ne^{-\tfrac{2\pi i}{N}nk} - -The Mantid FFT algorithm returns the complex array \bar{F}_K as Y values of two spectra in the output workspace, one for the real and the other for the imaginary part of the transform. The X values are set to the transform frequencies and have the range approximately equal to [-N/L,N/L]. The actual limits depend sllightly on whether N is even or odd and whether the input spectra are histograms or point data. The variations are of the order of \Delta\xi. The zero frequency is always in the bin with index k=int(N/2). - -===Example 1=== - -In this example the input data were calculated using function \exp(-(x-1)^2) in the range [-5,5]. - -[[Image:FFTGaussian1.png|Gaussian]] - -[[Image:FFTGaussian1FFT.png|FFT of a Gaussian]] - -Because the x=0 is in the middle of the data array the transform shown is the exact DFT of the input data. - -===Example 2=== - -In this example the input data were calculated using function \exp(-x^2) in the range [-6,4]. - -[[Image:FFTGaussian2.png|Gaussian]] - -[[Image:FFTGaussian1FFT.png|FFT of a Gaussian]] - -Because the x=0 is not in the middle of the data array the transform shown includes a shifting factor of \exp(2\pi i\xi). To remove it the output must be mulitplied by \exp(-2\pi i\xi). The corrected transform will be: - -[[Image:FFTGaussian2FFT.png|FFT of a Gaussian]] - -It should be noted that in a case like this, i.e. when the input is a real positive even function, the correction can be done by finding the transform's modulus (Re^2+Im^2)^{1/2}. The output workspace includes the modulus of the transform. - -==Output== - -The output workspace for a direct ("Forward") transform contains either three or six spectra, depending on whether the input function is complex or purely real. If the input function has an imaginary part, the transform is written to three spectra with indexes 0, 1, and 2. Indexes 0 and 1 are the real and imaginary parts, while index 2 contains the modulus \sqrt{Re^2+Im^2} . If the input function does not contain an spectrum for the imaginary part (purely real function), the actual transform is written to spectra with indexes 3 and 4 which are the real and imaginary parts, respectively. The last spectrum (index 5) has the modulus of the transform. The spectra from 0 to 2 repeat these results for positive frequencies only. - -Output for the case of input function containing imaginary part: - -{| border="1" cellpadding="5" cellspacing="0" -!Workspace index -!Description -|- -|0 -|Complete real part -|- -|1 -|Complete imaginary part -|- -|2 -|Complete transform modulus -|} - -Output for the case of input function containing no imaginary part: - -{| border="1" cellpadding="5" cellspacing="0" -!Workspace index -!Description -|- -|0 -|Real part, positive frequencies -|- -|1 -|Imaginary part, positive frequencies -|- -|2 -|Modulus, positive frequencies -|- -|3 -|Complete real part -|- -|4 -|Complete imaginary part -|- -|5 -|Complete transform modulus -|} - -The output workspace for an inverse ("Backward") transform has 3 spectra for the real (0), imaginary (1) parts, and the modulus (2). - -{| border="1" cellpadding="5" cellspacing="0" -!Workspace index -!Description -|- -|0 -|Real part -|- -|1 -|Imaginary part -|- -|2 -|Modulus -|} - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/FFTDerivative.cpp b/Code/Mantid/Framework/Algorithms/src/FFTDerivative.cpp index e9d69c141d9a..9ef30bef7a5e 100644 --- a/Code/Mantid/Framework/Algorithms/src/FFTDerivative.cpp +++ b/Code/Mantid/Framework/Algorithms/src/FFTDerivative.cpp @@ -1,8 +1,3 @@ -/*WIKI* - - - -*WIKI*/ #include "MantidAlgorithms/FFTDerivative.h" #include @@ -316,4 +311,3 @@ void FFTDerivative::execRealFFT() } // Algorithms } // Mandid - diff --git a/Code/Mantid/Framework/Algorithms/src/FFTSmooth.cpp b/Code/Mantid/Framework/Algorithms/src/FFTSmooth.cpp index d1a33cd198f0..d34ad008c266 100644 --- a/Code/Mantid/Framework/Algorithms/src/FFTSmooth.cpp +++ b/Code/Mantid/Framework/Algorithms/src/FFTSmooth.cpp @@ -1,25 +1,3 @@ -/*WIKI* - -FFTSmooth uses the FFT algorithm to create a Fourier transform of a spectrum, applies a filter to it and transforms it back. The filters remove higher frequencies from the spectrum which reduces the noise. - -The second version of the FFTSmooth algorithm has two filters: - -===Zeroing=== -* Filter: "Zeroing" -* Params: "n" - an integer greater than 1 meaning that the Fourier coefficients with frequencies outside the 1/n of the original range will be set to zero. - -===Butterworth=== -* Filter: "Butterworth" -* Params: A string containing two positive integer parameters separated by a comma, such as 20,2. - -"n"- the first integer, specifies the cutoff frequency for the filter, in the same way as for the "Zeroing" filter. That is, the cutoff is at m/n where m is the original range. "n" is required to be strictly more than 1. - -"order"- the second integer, specifies the order of the filter. For low order values, such as 1 or 2, the Butterworth filter will smooth the data without the strong "ringing" artifacts produced by the abrupt cutoff of the "Zeroing" filter. As the order parameter is increased, the action of the "Butterworth" filter will approach the action of the "Zeroing" filter. - -For both filter types, the resulting spectrum has the same size as the original one. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/FFTSmooth2.cpp b/Code/Mantid/Framework/Algorithms/src/FFTSmooth2.cpp index 1b4b07a8028c..2e6b30f2b320 100644 --- a/Code/Mantid/Framework/Algorithms/src/FFTSmooth2.cpp +++ b/Code/Mantid/Framework/Algorithms/src/FFTSmooth2.cpp @@ -1,27 +1,3 @@ -/*WIKI* - -FFTSmooth uses the FFT algorithm to create a Fourier transform of a spectrum, applies a filter to it and transforms it back. The filters remove higher frequencies from the spectrum which reduces the noise. - -The second version of the FFTSmooth algorithm has two filters: - -===Zeroing=== -* Filter: "Zeroing" -* Params: "n" - an integer greater than 1 meaning that the Fourier coefficients with frequencies outside the 1/n of the original range will be set to zero. - -===Butterworth=== -* Filter: "Butterworth" -* Params: A string containing two positive integer parameters separated by a comma, such as 20,2. - -"n"- the first integer, specifies the cutoff frequency for the filter, in the same way as for the "Zeroing" filter. That is, the cutoff is at m/n where m is the original range. "n" is required to be strictly more than 1. - -"order"- the second integer, specifies the order of the filter. For low order values, such as 1 or 2, the Butterworth filter will smooth the data without the strong "ringing" artifacts produced by the abrupt cutoff of the "Zeroing" filter. As the order parameter is increased, the action of the "Butterworth" filter will approach the action of the "Zeroing" filter. - -For both filter types, the resulting spectrum has the same size as the original one. - -==Previous Versions== -===Version 1=== -Version 1 did not support the Butterworth Filter and did not offer the options to ignore X bins or smooth all spectra. -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/FilterBadPulses.cpp b/Code/Mantid/Framework/Algorithms/src/FilterBadPulses.cpp index c18e15cb72b2..7e94ec667603 100644 --- a/Code/Mantid/Framework/Algorithms/src/FilterBadPulses.cpp +++ b/Code/Mantid/Framework/Algorithms/src/FilterBadPulses.cpp @@ -1,8 +1,3 @@ -/*WIKI* - -The algorithm looks at sample logs ("proton_charge"), finds the mean, and rejects any events that occurred during a pulse that was below a certain percentage of that mean. This effectively removes neutrons from the background that were measured while the accelerator was not actually producing neutrons, reducing background noise. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/FilterByLogValue.cpp b/Code/Mantid/Framework/Algorithms/src/FilterByLogValue.cpp index 30805893c3b3..464673b57699 100644 --- a/Code/Mantid/Framework/Algorithms/src/FilterByLogValue.cpp +++ b/Code/Mantid/Framework/Algorithms/src/FilterByLogValue.cpp @@ -1,43 +1,3 @@ -/*WIKI* - - - - -Filters out events using the entries in the Sample Logs. - -Sample logs consist of a series of pairs. The first step in filtering is to generate a list of start-stop time intervals that will be kept, using those logs. -* Each log value is compared to the min/max value filters to determine whether it is "good" or not. -** For a single log value that satisfies the criteria at time T, all events between T+-Tolerance (LogBoundary=Centre), or T and T+Tolerance (LogBoundary=Left) are kept. -** If there are several consecutive log values matching the filter, events between T1-Tolerance and T2+Tolerance, where T2 is the last "good" value (LogBoundary=Centre), or T1 and T2, where T2 is the first "bad" value (LogBoundary=Left) are kept. -* The filter is then applied to all events in all spectra. Any events with pulse times outside of any "good" time ranges are removed. - -There is no interpolation of log values between the discrete sample log times at this time. -However, the log value is assumed to be constant at times before its first point and after its last. For example, if the first temperature measurement was at time=10 seconds and a temperature within the acceptable range, then all events between 0 and 10 seconds will be included also. If a log has a single point in time, then that log value is assumed to be constant for all time and if it falls within the range, then all events will be kept. - -==== PulseFilter (e.g. for Veto Pulses) ==== - -If you select PulseFilter, then events will be filtered OUT in notches around each -time in the selected sample log, and the MinValue/MaxValue parameters are ignored. -For example: - -* If you have 3 entries at times: -** 10, 20, 30 seconds. -** A TimeTolerance of 1 second. -* Then the events at the following times will be EXCLUDED from the output: -** 9-11; 19-21; 29-30 seconds. - -The typical use for this is to filter out "veto" pulses from a SNS event nexus file. -Some of these files have a sample log called "veto_pulse_time" that only contains -times of the pulses to be rejected. For example, this call will filter out veto -pulses: - - FilterByLogValue(InputWorkspace="ws", OutputWorkspace="ws", LogName="veto_pulse_time", PulseFilter="1") - -=== Comparing with other event filtering algorithms === -Wiki page [[EventFiltering]] has a detailed introduction on event filtering in MantidPlot. - -*WIKI*/ - //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/FilterByTime.cpp b/Code/Mantid/Framework/Algorithms/src/FilterByTime.cpp index 87885e08d68e..2e03990c7cdc 100644 --- a/Code/Mantid/Framework/Algorithms/src/FilterByTime.cpp +++ b/Code/Mantid/Framework/Algorithms/src/FilterByTime.cpp @@ -1,18 +1,3 @@ -/*WIKI* - -Goes through all events in all EventLists and takes out any events with a PulseTime value not within the range specified. -* Sample logs consisting of [[TimeSeriesProperty]]'s are also filtered out according to the same time. -* The integrated proton charge of the run is also re-calculated according to the filtered out ProtonCharge pulse log. - -You must specify: -* Both StartTime and Stop time, or -* Both AbsoluteStartTime and AbsoluteStop time. -* But not another combination of the four, or the algorithm will abort. - -=== Comparing with other event filtering algorithms === -Wiki page [[EventFiltering]] has a detailed introduction on event filtering in MantidPlot. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/FilterByXValue.cpp b/Code/Mantid/Framework/Algorithms/src/FilterByXValue.cpp index 03d2da2ef4e5..17218fb05a03 100644 --- a/Code/Mantid/Framework/Algorithms/src/FilterByXValue.cpp +++ b/Code/Mantid/Framework/Algorithms/src/FilterByXValue.cpp @@ -1,7 +1,3 @@ -/*WIKI* -This algorithm filters events outside of the given values (in whatever units the workspace possesses). This can be a one or two-sided filter depending on which of xmin & xmax are given. This algorithm pays no attention whatsoever to any binning that has been set on the input workspace (though it will be carried over to the output). If you need to affect the bin boundaries as well, or want to remove some spectra/pixels, consider using [[CropWorkspace]] instead. -*WIKI*/ - #include "MantidAlgorithms/FilterByXValue.h" #include "MantidDataObjects/EventWorkspace.h" diff --git a/Code/Mantid/Framework/Algorithms/src/FilterEvents.cpp b/Code/Mantid/Framework/Algorithms/src/FilterEvents.cpp index aa44fc688b0e..dde78c7c4d0b 100644 --- a/Code/Mantid/Framework/Algorithms/src/FilterEvents.cpp +++ b/Code/Mantid/Framework/Algorithms/src/FilterEvents.cpp @@ -1,39 +1,3 @@ -/*WIKI* -This algorithm filters events from an [[EventWorkspace]] to one or multiple [[EventWorkspace]]s according to an input [[SplittersWorkspace]] containing a series of splitters (i.e., [[SplittingInterval]]s). - -==== Output ==== -The output will be one or multiple workspaces according to the number of index in splitters. The output workspace name is the combination of parameter OutputWorkspaceBaseName and the index in splitter. - -==== Calibration File ==== -The calibration, or say correction, from the detector to sample must be consider in fast log. Thus a calibration file is required. The math is - TOF_calibrated = TOF_raw * correction(detector ID). - -The calibration is in column data format. - -A reasonable approximation of the correction is - correction(detector_ID) = L1/(L1+L2(detector_ID)) - -==== Unfiltered Events ==== -Some events are not inside any splitters. They are put to a workspace name ended with '_unfiltered'. - -If input property 'OutputWorkspaceIndexedFrom1' is set to True, then this workspace shall not be outputed. - -==== Difference from FilterByLogValue ==== -In FilterByLogValue(), EventList.splitByTime() is used. - -In FilterEvents(), if FilterByPulse is selected true, EventList.SplitByTime is called; -otherwise, EventList.SplitByFullTime() is called instead. - -The difference between splitByTime and splitByFullTime is that splitByTime filters events by pulse time, -and splitByFullTime considers both pulse time and TOF. - -Therefore, FilterByLogValue is not suitable for fast log filtering. - -=== Comparing with other event filtering algorithms === -Wiki page [[EventFiltering]] has a detailed introduction on event filtering in MantidPlot. - -*WIKI*/ - #include "MantidAlgorithms/FilterEvents.h" #include "MantidKernel/System.h" #include "MantidAPI/WorkspaceProperty.h" diff --git a/Code/Mantid/Framework/Algorithms/src/FindCenterOfMassPosition.cpp b/Code/Mantid/Framework/Algorithms/src/FindCenterOfMassPosition.cpp index 8bb2b9574983..93da41ee6a8b 100644 --- a/Code/Mantid/Framework/Algorithms/src/FindCenterOfMassPosition.cpp +++ b/Code/Mantid/Framework/Algorithms/src/FindCenterOfMassPosition.cpp @@ -1,12 +1,3 @@ -/*WIKI* - -If the ''Output'' property is set, the beam center will be placed in a table workspace. Otherwise, the result is placed in an ArrayProperty named ''CenterOfMass''. - -See [http://www.mantidproject.org/Reduction_for_HFIR_SANS SANS Reduction] documentation for details. - - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/FindCenterOfMassPosition2.cpp b/Code/Mantid/Framework/Algorithms/src/FindCenterOfMassPosition2.cpp index fd8333fa8beb..b96917b328c9 100644 --- a/Code/Mantid/Framework/Algorithms/src/FindCenterOfMassPosition2.cpp +++ b/Code/Mantid/Framework/Algorithms/src/FindCenterOfMassPosition2.cpp @@ -1,12 +1,3 @@ -/*WIKI* - -If the ''Output'' property is set, the beam centre will be placed in a table workspace. Otherwise, the result is placed in an ArrayProperty named ''CenterOfMass''. - -See [http://www.mantidproject.org/Reduction_for_HFIR_SANS SANS Reduction] documentation for details. - - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/FindDeadDetectors.cpp b/Code/Mantid/Framework/Algorithms/src/FindDeadDetectors.cpp index e4d9c37ddb0d..004df50950ae 100644 --- a/Code/Mantid/Framework/Algorithms/src/FindDeadDetectors.cpp +++ b/Code/Mantid/Framework/Algorithms/src/FindDeadDetectors.cpp @@ -1,14 +1,3 @@ -/*WIKI* -This is then used to mark all 'dead' detectors with a 'dead' marker value, while all spectra from live detectors are given a 'live' marker value. - -This algorithm is primarily used to ease identification using the instrument visualization tools. - -====ChildAlgorithms used==== - -Uses the [[Integration]] algorithm to sum the spectra. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/FindDetectorsOutsideLimits.cpp b/Code/Mantid/Framework/Algorithms/src/FindDetectorsOutsideLimits.cpp index 28886200b856..44c01f50ee8e 100644 --- a/Code/Mantid/Framework/Algorithms/src/FindDetectorsOutsideLimits.cpp +++ b/Code/Mantid/Framework/Algorithms/src/FindDetectorsOutsideLimits.cpp @@ -1,15 +1,3 @@ -/*WIKI* - - -This is intended to identify detectors that are grossly over or under counting. It reads the input workspace and identifies all histograms with numbers of counts outside the user defined upper and lower limits. Each spectra that fails has its spectra masked on the output workspace. Spectra that pass the test have their data set to a positive value, 1.0. The output workspace can be fed to [[MaskDetectors]] to mask the same spectra on another workspace. - - -====ChildAlgorithms used==== - -Uses the [[Integration]] algorithm to sum the spectra. - - -*WIKI*/ #include "MantidAlgorithms/FindDetectorsOutsideLimits.h" #include "MantidAPI/FileProperty.h" #include "MantidDataObjects/EventWorkspace.h" diff --git a/Code/Mantid/Framework/Algorithms/src/FindPeakBackground.cpp b/Code/Mantid/Framework/Algorithms/src/FindPeakBackground.cpp index 0b20723442bf..1b436061cd24 100644 --- a/Code/Mantid/Framework/Algorithms/src/FindPeakBackground.cpp +++ b/Code/Mantid/Framework/Algorithms/src/FindPeakBackground.cpp @@ -1,23 +1,3 @@ -/*WIKI* - - -Algorithm written using this paper: -J. Appl. Cryst. (2013). 46, 663-671 - -Objective algorithm to separate signal from noise in a Poisson-distributed pixel data set - -T. Straaso/, D. Mueter, H. O. So/rensen and J. Als-Nielsen - -Synopsis: A method is described for the estimation of background level and separation -of background pixels from signal pixels in a Poisson-distributed data set by statistical analysis. -For each iteration, the pixel with the highest intensity value is eliminated from the -data set and the sample mean and the unbiased variance estimator are calculated. Convergence is reached when the -absolute difference between the sample mean and the sample variance of the data set is within k standard deviations of the -variance, the default value of k being 1. The k value is called SigmaConstant in the algorithm input. - - -*WIKI*/ - #include "MantidAlgorithms/FindPeakBackground.h" #include "MantidAlgorithms/FindPeaks.h" #include "MantidAPI/WorkspaceProperty.h" diff --git a/Code/Mantid/Framework/Algorithms/src/FindPeaks.cpp b/Code/Mantid/Framework/Algorithms/src/FindPeaks.cpp index 7275f14711db..3546df4bf671 100644 --- a/Code/Mantid/Framework/Algorithms/src/FindPeaks.cpp +++ b/Code/Mantid/Framework/Algorithms/src/FindPeaks.cpp @@ -1,44 +1,3 @@ -/*WIKI* -This algorithm searches the specified spectra in a workspace for peaks, returning a list of the found and successfully fitted peaks. The search algorithm is described in full in reference [1]. In summary: the second difference of each spectrum is computed and smoothed. This smoothed data is then searched for patterns consistent with the presence of a peak. The list of candidate peaks found is passed to a fitting routine and those that are successfully fitted are kept and returned in the output workspace (and logged at information level). -The output [[TableWorkspace]] contains the following columns, which reflect the fact that the peak has been fitted to a Gaussian atop a linear background: spectrum, centre, width, height, backgroundintercept & backgroundslope. - -=== Subalgorithms used === -FindPeaks uses the [[SmoothData]] algorithm to, well, smooth the data - a necessary step to identify peaks in statistically fluctuating data. The [[Fit]] algorithm is used to fit candidate peaks. - -=== Treating weak peaks vs. high background === -FindPeaks uses a more complicated approach to fit peaks if '''HighBackground''' is flagged. In this case, FindPeak will fit the background first, and then do a Gaussian fit the peak with the fitted background removed. This procedure will be repeated for a couple of times with different guessed peak widths. And the parameters of the best result is selected. The last step is to fit the peak with a combo function including background and Gaussian by using the previously recorded best background and peak parameters as the starting values. - -=== Criteria To Validate Peaks Found === -FindPeaks finds peaks by fitting a Guassian with background to a certain range in the input histogram. [[Fit]] may not give a correct result even if chi^2 is used as criteria alone. Thus some other criteria are provided as options to validate the result -# Peak position. If peak positions are given, and trustful, then the fitted peak position must be within a short distance to the give one. -# Peak height. In the certain number of trial, peak height can be used to select the best fit among various starting sigma values. - -=== Fit Window === -If FitWindows is defined, then a peak's range to fit (i.e., x-min and x-max) is confined by this window. - -If FitWindows is defined, starting peak centres are NOT user's input, but found by highest value within peak window. (Is this correct???) - -==== References ==== -# M.A.Mariscotti, ''A method for automatic identification of peaks in the presence of background and its application to spectrum analysis'', NIM '''50''' (1967) 309. - - ==== Estimation of peak's background and range ==== - If FindPeaksBackground fails, then it is necessary to estimate a rough peak range and background according to - observed data. - 1. Assume the local background (within the given fitting window) is close to linear; - 2. Take the first 3 and last 3 data points to calcualte the linear background; - 3. Remove background (rougly) and calcualte peak's height, width, and centre; - 4. If the peak centre (starting value) uses observed value, then set peakcentre to that value. Otherwise, set it to given value; - 5. Get the bin indexes of xmin, xmax and peakcentre; - 6. Calcualte peak range, i.e., left and right boundary; - 7. If any peak boundary exceeds or too close to the boundary, there will be 2 methods to solve this issue; - 7.1 If peak centre is restricted to given value, then the peak range will be from 1/6 to 5/6 of the given data points; - 7.2 If peak centre is set to observed value, then the 3 leftmost data points will be used for background. - - - ==== References ==== - # M.A.Mariscotti, ''A method for automatic identification of peaks in the presence of background and its application to spectrum analysis'', NIM '''50''' (1967) 309. - - *WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/FitPeak.cpp b/Code/Mantid/Framework/Algorithms/src/FitPeak.cpp index 45d89097136d..4d64b5671a7e 100644 --- a/Code/Mantid/Framework/Algorithms/src/FitPeak.cpp +++ b/Code/Mantid/Framework/Algorithms/src/FitPeak.cpp @@ -1,31 +1,3 @@ -/*WIKI* -This algorithm is used to fit a single peak with some checking mechanism to ensure its fitting result -is physical. - -The output [[TableWorkspace]] contains the following columns... - -==== Subalgorithms used ==== -* Fit - -==== Treating weak peaks vs. high background ==== -FindPeaks uses a more complicated approach to fit peaks if '''HighBackground''' is flagged. In this case, FindPeak will fit the background first, and then do a Gaussian fit the peak with the fitted background removed. This procedure will be repeated for a couple of times with different guessed peak widths. And the parameters of the best result is selected. The last step is to fit the peak with a combo function including background and Gaussian by using the previously recorded best background and peak parameters as the starting values. - -==== Criteria To Validate Peaks Found ==== -FindPeaks finds peaks by fitting a Guassian with background to a certain range in the input histogram. [[Fit]] may not give a correct result even if chi^2 is used as criteria alone. Thus some other criteria are provided as options to validate the result - -1. Peak position. If peak positions are given, and trustful, then the fitted peak position must be within a short distance to the give one. - -2. Peak height. In the certain number of trial, peak height can be used to select the best fit among various starting sigma values. - -==== Fit Window and Peak Range ==== -If FitWindows is defined, then a peak's range to fit (i.e., x-min and x-max) is confined by this window. - -If PeakRange is defined and starting peak centre given by user is not within this range, then the situation is considered illegal. -In future, FitPeak might be able to estimate the peak centre in this situation by locating the X-value whose corresponding Y-value is largest within user-defined peak range. - -== What's new == - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/FixGSASInstrumentFile.cpp b/Code/Mantid/Framework/Algorithms/src/FixGSASInstrumentFile.cpp index da0a14b98e63..2fc24df2608b 100644 --- a/Code/Mantid/Framework/Algorithms/src/FixGSASInstrumentFile.cpp +++ b/Code/Mantid/Framework/Algorithms/src/FixGSASInstrumentFile.cpp @@ -1,12 +1,3 @@ -/*WIKI* - -GSAS instrument is required to have exact 80 characters each line. -FixGSASInstrument will check the input GSAS instrument file whether each line of it will -have 80 characters. If any line contains fewer than 80 characters, this algorithm will fill -the line with space to 80 characters. - -*WIKI*/ - #include "MantidAlgorithms/FixGSASInstrumentFile.h" #include "MantidAPI/FileProperty.h" diff --git a/Code/Mantid/Framework/Algorithms/src/FlatPlateAbsorption.cpp b/Code/Mantid/Framework/Algorithms/src/FlatPlateAbsorption.cpp index 9886e8d5af2e..c817046fc64a 100644 --- a/Code/Mantid/Framework/Algorithms/src/FlatPlateAbsorption.cpp +++ b/Code/Mantid/Framework/Algorithms/src/FlatPlateAbsorption.cpp @@ -1,15 +1,3 @@ -/*WIKI* - -This algorithm uses a numerical integration method to calculate attenuation factors resulting from absorption and single scattering in a flat plate (slab) sample with the dimensions and material properties given. Factors are calculated for each spectrum (i.e. detector position) and wavelength point, as defined by the input workspace. The sample is divided up into cuboids having sides of as close to the size given in the ElementSize property as the sample dimensions will allow. Thus the calculation speed depends linearly on the total number of bins in the workspace and goes as \rm{ElementSize}^{-3}. - -Path lengths through the sample are then calculated for the centre-point of each element and a numerical integration is carried out using these path lengths over the volume elements. - -==== Restrictions on the input workspace ==== -The input workspace must have units of wavelength. The [[instrument]] associated with the workspace must be fully defined because detector, source & sample position are needed. - - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/GeneralisedSecondDifference.cpp b/Code/Mantid/Framework/Algorithms/src/GeneralisedSecondDifference.cpp index 7fabe9e3eddb..11a7b65d37ad 100644 --- a/Code/Mantid/Framework/Algorithms/src/GeneralisedSecondDifference.cpp +++ b/Code/Mantid/Framework/Algorithms/src/GeneralisedSecondDifference.cpp @@ -1,11 +1,3 @@ -/*WIKI* - -Compute the generalised second difference of a spectrum or several spectra based on the method -described by M.A. Mariscotti., Nuclear Instruments and Methods 50, 309 (1967). Given a spectrum with value yi (0<=i - - # Optional: Store the contents of the workspace to a file to your desktop. - GeneratePythonScript("MUSR00022725", "/home/userName/Desktop/MUSR00022725.py") - - # Store the contents of the workspace history into the hist variable - wsHistory = GeneratePythonScript("MUSR00022725") - - # Output the contents of the hist variable. - print wsHistory - - ###################################################################### - #Python Script Generated by GeneratePythonScript Algorithm - ###################################################################### - Load(Filename=r'/home/userName/workspace/mantid/Test/AutoTestData/MUSR00022725.nxs',OutputWorkspace='MUSR00022725') - RenameWorkspace(InputWorkspace='MUSR00022725',OutputWorkspace='test') - - -{{AlgorithmLinks|GeneratePythonScript}} - -*WIKI*/ #include "MantidAlgorithms/GeneratePythonScript.h" #include "MantidKernel/System.h" #include "MantidAPI/FileProperty.h" diff --git a/Code/Mantid/Framework/Algorithms/src/GetDetOffsetsMultiPeaks.cpp b/Code/Mantid/Framework/Algorithms/src/GetDetOffsetsMultiPeaks.cpp index 1c1ce7a8727a..3957da5b6906 100644 --- a/Code/Mantid/Framework/Algorithms/src/GetDetOffsetsMultiPeaks.cpp +++ b/Code/Mantid/Framework/Algorithms/src/GetDetOffsetsMultiPeaks.cpp @@ -1,111 +1,3 @@ -/*WIKI* - -== Description == - -This algorithm requires a workspace that is both in d-spacing, but has also been preprocessed by the [[CrossCorrelate]] algorithm. In this first step you select one spectrum to be the reference spectrum and all of the other spectrum are cross correlated against it. Each output spectrum then contains a peak whose location defines the offset from the reference spectrum. - -The algorithm iterates over each spectrum in the workspace and fits a [[Gaussian]] function to the reference peak. The fit is used to calculate the centre of the fitted peak, and the offset is then calculated as: - -This is then written into a [[CalFile|.cal file]] for every detector that contributes to that spectrum. All of the entries in the cal file are initially set to both be included, but also to all group into a single group on [[DiffractionFocussing]]. The [[CreateCalFileByNames]] algorithm can be used to alter the grouping in the cal file. - -=== Fit for peak offset === -The algorithm to calculate offset of peaks' positions is to -minimize a cost function as -: \sum_{p} |X_{0, p} - (1+offset)\cdot X_{0, p}|/\chi^2_{p} -, which p is the index of a peak whose position is within MinD and MaxD. - -==== Spectra to mask ==== -* Empty spectrum marked as "empty det" - -* Spectrum with counts less than 1.0E^-3 in defined d-range as "dead det" - -* Calculated offset exceeds the user-defined maximum offset. - -==== Criteria on peaks ==== -The (fitted) peak must meet a series of criteria to be used to fit spectrum's offset. - -A peak will not be used if -* its centre is out of pre-defined d-range, i.e., MinD and MaxD; -* its centre is out of fitting window if it is defined; -* its \chi^2 of peak fitting is larger than pre-defined maximum value; -* its height is lower than pre-defined lowest peak height; -* its signal/noise ratio is less than 5 H\cdot FWHM\_To\_SIGMA/width < 5; -* its height is not outside of error bars of background H < \sqrt{H + B}/2 ; -* its z-value on \frac{\delta d}{d} is larger than 2.0. - -=== Generate fit window === -* Required parameter: maxWidth. If it is not given, i.e., less or equal to zero, then there won't be any window defined; -* Definition of fit window for peaks indexed from 0 to N-1 -** Peak 0: window = Min((X0_0-dmin), maxWidth), Min((X0_1-X0_0)/2, maxWidth) -** Peak i (0 < i < N-1): window = Min((X0_i-X0_{i-1})/2, maxWidth), Min((X0_1-X0_0)/2, maxWidth) -** Peak N-1: window = Min((X0_i-X0_{i-1})/2, maxWidth), Min((dmax-X0_i), maxWidth) -where X0_i is the centre of i-th peak. - - -== Fitting Quality == -GetDetOffsetsMultiPeaks have 2 levels of fitting. First it will call FindPeaks to fit Bragg peaks within d-range. -Then it will fit offsets from the peak positions obtained in the previous step. -Therefore, the performance of FindPeaks is critical to this algorithm. -It is necessary to output values reflecting the goodness of fitting of this algorithm to users. - -=== Number of spectra that are NOT masked === -A spectrum will be masked if it is a dead pixel, has an empty detector or has no peak that can be fit with given peak positions. -The performance of ''FindPeaks'' affects the third criteria. -A better algorithm to find and fit peaks may save some spectrum with relatively much fewer events received, i.e., poorer signal. - -=== \chi^2 of the offset fitting function === -The goodness of fit, \chi^2_{iws}, of the offset fitting function -: \sum_{p} |X_{0, p} - (1+offset)X_{0, p}|\cdot H^2_{p} -is an important measure of fitting quality on each spectrum (indexed as iws). - -=== Deviation of highest peaks === -We observed that in some situation, the calibrated peaks' positions of some spectra are far off to the targeted peak positions, -while goodness of fit such as \chi^2 are still good. -It is usally caused by the bad fit of one or two peaks in that spectrum, -which feeds some erroreous peak positions to peak offset fitting function. - -This type of bad fitting is very easily identified by visualization, -because the shift of peaks from the correct positions is significant in fill plot. - -Therefore, deviation of highest peak if spectrum i, D_{i} is defined as: -: D_{i} = |X^{(o)}\cdots(1+offset) - X^{(c)}| -where X^{(o)} is the fitted centre of the highest peak of spectrum i, -and X^{(c)} is the theoretical centre of this peak. - -=== Collective quantities to illustrate goodness of fitting (still in developement) === -Be noticed that the idea of this section is still under development and has not been implemented yet. - -On the other hand, since GetDetOffsetsMultiPeaks always operates on an EventWorkspace with thousands -or several ten thousands of spectra, -it is very hard to tell the quality of fitting by looking at \chi^2_{iws} of all spectra. -Hence, Here are two other parameters are defined for comparison of results. - -: g_1 = \frac{\sum_{s}D_{s}^2}{N_{nm}} -, where s is the index of any unmasked spectrum and N_{mn} is the number of unmasked spectra; - -: g_2 = \frac{\sum_{s}D_{s}^2\cdot H_{s}^2}{N_{nm}}, -where H_{s} is the height of highest peak of spectrum s. - -=== Standard error on offset === -The offset in unit of d-spacing differs is proportional to peak's position by definition: -: X_0^{(f)} = X_0^{(o)} * (1+offset) -where X_0^{(f)} is the focussed peak position, and X_0^{(o)} is the observed peak position by fitting. - -As different spectrum covers different d-space range, the highest peak differs. -Therefore, the error of offset should be normalized by the peak's position. -: E = (X_0^{(f)} - X_0^{(o)}*(1+offset))/X_0^{(f)} = 1 - \frac{X_0^{(o)}}{X_0^{(f)}}\cdot(1+offset) -And it is unitless. - -By this mean, the error of all peaks should be close if they are fitted correctly. - - -== Usage == -'''Python''' - -OutputW,NumberPeaksFitted,Mask = GetDetOffsetsMultiPeaks("InputW",0.01,2.0,1.8,2.2,"output.cal") - - -*WIKI*/ #include "MantidAlgorithms/GetDetOffsetsMultiPeaks.h" #include "MantidAlgorithms/GSLFunctions.h" #include "MantidAPI/FileProperty.h" diff --git a/Code/Mantid/Framework/Algorithms/src/GetDetectorOffsets.cpp b/Code/Mantid/Framework/Algorithms/src/GetDetectorOffsets.cpp index c979a7d1f046..c43525ee4148 100644 --- a/Code/Mantid/Framework/Algorithms/src/GetDetectorOffsets.cpp +++ b/Code/Mantid/Framework/Algorithms/src/GetDetectorOffsets.cpp @@ -1,19 +1,3 @@ -/*WIKI* - -This algorithm requires a workspace that is both in d-spacing, but has also been preprocessed by the [[CrossCorrelate]] algorithm. In this first step you select one spectrum to be the reference spectrum and all of the other spectrum are cross correlated against it. Each output spectrum then contains a peak whose location defines the offset from the reference spectrum. - -The algorithm iterates over each spectrum in the workspace and fits a [[Gaussian]] function to the reference peaks. The fit is used to calculate the centre of the fitted peak, and the offset is then calculated as: - --peakCentre*step/(dreference+PeakCentre*step) - -This is then written into a [[CalFile|.cal file]] for every detector that contributes to that spectrum. All of the entries in the cal file are initially set to both be included, but also to all group into a single group on [[DiffractionFocussing]]. The [[CreateCalFileByNames]] algorithm can be used to alter the grouping in the cal file. - -*WIKI*/ -/*WIKI_USAGE* -'''Python''' - - offsets,mask = GetDetOffsetsMultiPeaks("InputW",0.01,2.0,1.8,2.2,"output.cal") -*WIKI_USAGE*/ #include "MantidAlgorithms/GetDetectorOffsets.h" #include "MantidAPI/FileProperty.h" #include "MantidAPI/FunctionFactory.h" diff --git a/Code/Mantid/Framework/Algorithms/src/GetEi.cpp b/Code/Mantid/Framework/Algorithms/src/GetEi.cpp index 23a3bb2644da..3322a5a74c9f 100644 --- a/Code/Mantid/Framework/Algorithms/src/GetEi.cpp +++ b/Code/Mantid/Framework/Algorithms/src/GetEi.cpp @@ -1,24 +1,3 @@ -/*WIKI* - -Uses E= (1/2)mv^2 to calculate the energy of neutrons leaving the source. The velocity is calculated from the time it takes for the neutron pulse to travel between the two monitors whose spectra were specified. - -An initial energy guess is required for the algorithm to find the correct peak. The analysis will be done on the highest peak that is within 8% of the estimated TOF given by the estimate. - -Not all neutrons arrive at the monitors at the same time because their kinetic energies, and therefore velocities, are all different. The time of arrival of the neutron pulse is taken to be the mean of the two half peak height locations. The half height points are found as follows: -# the peak height is the largest number of counts above the background in any bin in the window -# the half height is half the above number -# examine bins to the left of the bin with the highest number of counts looking for a bin with less than half that number above background -# interpolate between this point bin and the one immediately previous to find the first half height location -# repeat the steps 3 and 4 looking to the right of the highest point to get the second half height point -# the mean of the X-values of the two half height points is the TOF arrival time of the neutrons - -The above process is illustrated on a peak is shown below in the image below -[[File:Monitorspect_getei.jpg|Monitor Peak|centre|618px]] - -The distances between the monitors are read from the instrument definition file. It is assumed that the source and the monitors all lie on one line and that the monitors have the same delay time. - -*WIKI*/ - #include "MantidAlgorithms/GetEi.h" #include "MantidKernel/ArrayProperty.h" #include "MantidAPI/FileProperty.h" diff --git a/Code/Mantid/Framework/Algorithms/src/GetEi2.cpp b/Code/Mantid/Framework/Algorithms/src/GetEi2.cpp index 02c190a0bd5a..397351b11e45 100644 --- a/Code/Mantid/Framework/Algorithms/src/GetEi2.cpp +++ b/Code/Mantid/Framework/Algorithms/src/GetEi2.cpp @@ -1,24 +1,3 @@ -/*WIKI* - -Uses E= (1/2)mv^2 to calculate the energy of neutrons leaving the source. The velocity is calculated from the time it takes for the neutron pulse to travel between the two monitors whose spectra were specified. If no spectra are specified, the algorithm will use the defaults for the instrument. - -An initial energy guess is required for the algorithm to find the correct peak. The analysis will be done on the highest peak that is within 8% of the estimated TOF given by the estimate. If no initial guess is given, the algorithm will try to get it from the workspace, from a sample log variable called "EnergyRequest". - -Not all neutrons arrive at the monitors at the same time because their kinetic energies, and therefore velocities, are all different. The time of arrival of the neutron pulse is taken to be the mean of the two half peak height locations. The half height points are found as follows: -# the peak height is the largest number of counts above the background in any bin in the window -# the half height is half the above number -# examine bins to the left of the bin with the highest number of counts looking for a bin with less than half that number above background -# interpolate between this point bin and the one immediately previous to find the first half height location -# repeat the steps 3 and 4 looking to the right of the highest point to get the second half height point -# the mean of the X-values of the two half height points is the TOF arrival time of the neutrons - -The above process is illustrated on a peak is shown below in the image below -[[File:Monitorspect_getei.jpg|Monitor Peak|centre|618px]] - -The distances between the monitors are read from the instrument definition file. It is assumed that the source and the monitors all lie on one line and that the monitors have the same delay time. - -*WIKI*/ - #include "MantidAlgorithms/GetEi2.h" #include "MantidKernel/PhysicalConstants.h" diff --git a/Code/Mantid/Framework/Algorithms/src/GetTimeSeriesLogInformation.cpp b/Code/Mantid/Framework/Algorithms/src/GetTimeSeriesLogInformation.cpp index 7b5a797d2da4..7f375f023ec5 100644 --- a/Code/Mantid/Framework/Algorithms/src/GetTimeSeriesLogInformation.cpp +++ b/Code/Mantid/Framework/Algorithms/src/GetTimeSeriesLogInformation.cpp @@ -1,8 +1,3 @@ -/*WIKI* - -Get information from a TimeSeriesProperty log. - -*WIKI*/ #include "MantidAlgorithms/GetTimeSeriesLogInformation.h" #include "MantidKernel/System.h" #include "MantidAPI/FileProperty.h" @@ -588,31 +583,3 @@ namespace Algorithms } // namespace Mantid } // namespace Algorithms - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Code/Mantid/Framework/Algorithms/src/GroupWorkspaces.cpp b/Code/Mantid/Framework/Algorithms/src/GroupWorkspaces.cpp index 163c8d6e5b75..f66c6e7af9a4 100644 --- a/Code/Mantid/Framework/Algorithms/src/GroupWorkspaces.cpp +++ b/Code/Mantid/Framework/Algorithms/src/GroupWorkspaces.cpp @@ -1,6 +1,3 @@ -/*WIKI* -This algorithm takes two or more workspaces as input and creates an output workspace group. - *WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/HRPDSlabCanAbsorption.cpp b/Code/Mantid/Framework/Algorithms/src/HRPDSlabCanAbsorption.cpp index 721751c6baf5..dc64b2a511ce 100644 --- a/Code/Mantid/Framework/Algorithms/src/HRPDSlabCanAbsorption.cpp +++ b/Code/Mantid/Framework/Algorithms/src/HRPDSlabCanAbsorption.cpp @@ -1,20 +1,3 @@ -/*WIKI* - - -This algorithm is a refinement of the [[FlatPlateAbsorption]] algorithm for the specific case of an HRPD 'slab can' sample holder. It uses the aforementioned generic algorithm to calculate the correction due to the sample itself, using numerical integration. This is done using the standard height x width dimensions of an HRPD sample holder of 23 x 18 mm. Valid values of the thickness are 2,5,10 & 15 mm, although this is not currently enforced. - -Further corrections are then carried out to account for the 0.125mm Vanadium windows at the front and rear of the sample, and for the aluminium of the holder itself (which is traversed by neutrons en route to the 90 degree bank). This is carried out using an analytical approximation for a flat plate, the correction factor being calculated as - \rm{exp} \left( \frac{- \rho \left( \sigma_a \frac{ \lambda} {1.798} + \sigma_s \right) t}{\rm{cos} \, \theta} \right) , where \lambda is the wavelength, \theta the angle between the detector and the normal to the plate and the other symbols are as given in the property list above. The assumption is that the neutron enters the plate along the normal. - -==== Restrictions on the input workspace ==== -The input workspace must have units of wavelength. The [[instrument]] associated with the workspace must be fully defined because detector, source & sample position are needed. - -===ChildAlgorithms used=== -The [[FlatPlateAbsorption]] algorithm is used to calculate the correction due to the sample itself. - - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -216,4 +199,3 @@ API::MatrixWorkspace_sptr HRPDSlabCanAbsorption::runFlatPlateAbsorption() } // namespace Algorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/Algorithms/src/He3TubeEfficiency.cpp b/Code/Mantid/Framework/Algorithms/src/He3TubeEfficiency.cpp index 9beae1985a0e..fd0a4739594f 100644 --- a/Code/Mantid/Framework/Algorithms/src/He3TubeEfficiency.cpp +++ b/Code/Mantid/Framework/Algorithms/src/He3TubeEfficiency.cpp @@ -1,22 +1,3 @@ -/*WIKI* - - -This algorithm corrects the detection efficiency of He3 tubes using an exponential function and certain detector properties. The correction scheme is given by the following: - -\epsilon = \frac{A}{1-e^{\frac{-\alpha P (L - 2W) \lambda}{T sin(\theta)}}} - -where ''A'' is a dimensionless scaling factor, \alpha is a constant with units ''(Kelvin / (metres \AA atm))'', ''P'' is pressure in units of ''atm'', ''L'' is the tube diameter in units of ''metres'', ''W'' is the tube thickness in units of ''metres'', ''T'' is the temperature in units of ''Kelvin'', ''sin(\theta)'' is the angle of the neutron trajectory with respect to the long axis of the He3 tube and \lambda is in units of \AA. - -The Optional properties that are of num list type can be used in the following manner. If no input value is given, the detector parameter is pulled from the detector itself. If a single value is used as input, that value is applied to all detectors. If an array of values is used, that array ''must'' be the same size as the number of spectra in the workspace. If it is not, the spectra indicies that do not have values will be zeroed in the output workspace. - -=== Restrictions on Input Workspace === - -The input workspace must be in units of wavelength. - -The input workspace must be histogram data. - - -*WIKI*/ #include "MantidAlgorithms/He3TubeEfficiency.h" #include "MantidAPI/WorkspaceValidators.h" #include "MantidDataObjects/EventWorkspace.h" diff --git a/Code/Mantid/Framework/Algorithms/src/IQTransform.cpp b/Code/Mantid/Framework/Algorithms/src/IQTransform.cpp index 79cfb86f5d56..07e16cb2d43f 100644 --- a/Code/Mantid/Framework/Algorithms/src/IQTransform.cpp +++ b/Code/Mantid/Framework/Algorithms/src/IQTransform.cpp @@ -1,42 +1,3 @@ -/*WIKI* - - -This algorithm is intended to take the output of a SANS reduction and apply a transformation to the data in an attempt to linearise the curve. Optionally, a background can be subtracted from the input data prior to transformation. This can be either a constant value, another workspace or both. Note that this expects a single spectrum input; if the input workspace contains multiple spectra, only the first will be transformed and appear in the output workspace. - -A SANS reduction results in data in the form I(Q) vs Q, where Q is Momentum Transfer and I denotes intensity (the actual unit on the Y axis is 1/cm). These abbreviations are used in the descriptions of the transformations which follow. If the input is a histogram, the mid-point of the X (i.e. Q) bins will be taken. The output of this algorithm is always point data. - -{| border="1" cellpadding="5" cellspacing="0" -!Transformation Name -!Y -!X -|- -| Guinier (spheres) || align="center"|\ln (I) || align="center"|Q^2 -|- -| Guinier (rods) || align="center"|\ln (IQ) || align="center"|Q^2 -|- -| Guinier (sheets) || align="center"|\ln (IQ^2) || align="center"|Q^2 -|- -| Zimm || align="center"|\frac{1}{I} || align="center"|Q^2 -|- -| Debye-Bueche || align="center"|\frac{1}{\sqrt{I}} || align="center"|Q^2 -|- -| Holtzer || align="center"|I \times Q || align="center"|Q -|- -| Kratky || align="center"|I \times Q^2 || align="center"|Q -|- -| Porod || align="center"|I \times Q^4 || align="center"|Q -|- -| Log-Log || align="center"|\ln(I) || align="center"|\ln(Q) -|- -|General * -|Q^{C_1} \times I^{C_2} \times \ln{\left( Q^{C_3} \times I^{C_4} \times C_5 \right)} -|Q^{C_6} \times I^{C_7} \times \ln{\left( Q^{C_8} \times I^{C_9} \times C_{10} \right)} -|} -* The constants C_1 - C_{10} are, in subscript order, the ten constants passed to the GeneralFunctionConstants property. - - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/IdentifyNoisyDetectors.cpp b/Code/Mantid/Framework/Algorithms/src/IdentifyNoisyDetectors.cpp index 67b0bb5c11f2..a04345b9393b 100644 --- a/Code/Mantid/Framework/Algorithms/src/IdentifyNoisyDetectors.cpp +++ b/Code/Mantid/Framework/Algorithms/src/IdentifyNoisyDetectors.cpp @@ -1,24 +1,3 @@ -/*WIKI* - -The process for this algorithm is: -* The standard deviation for each pixel within the pre-set range is calculated. -* The mean value and standard deviation of these standard deviation values is calculated. -* Any detector/pixel for which it's standard deviation value satisfied the following conditions: -** sdev(pixel) < mean(sdevs) - 3 * sdev(sdevs) -** sdev(pixel) > mean(sdevs) + 3 * sdev(sdevs) -** sdev(pixel) < mean(sdevs) * 0.0001 -* (cont) is considered to be "noisy". - -This is repeated three times from the second step. - -This uses the [[Integration]], [[Power]] and [[Divide]] algorithms for the first step. - -The lower bound for the integration is currently fixed to 2000. - -The upper bound for the integration is currently fixed to 19000. - - -*WIKI*/ #include "MantidAlgorithms/IdentifyNoisyDetectors.h" #include "MantidAPI/WorkspaceValidators.h" diff --git a/Code/Mantid/Framework/Algorithms/src/IntegrateByComponent.cpp b/Code/Mantid/Framework/Algorithms/src/IntegrateByComponent.cpp index be7c3c00e229..2d0c589ee9ac 100644 --- a/Code/Mantid/Framework/Algorithms/src/IntegrateByComponent.cpp +++ b/Code/Mantid/Framework/Algorithms/src/IntegrateByComponent.cpp @@ -1,11 +1,3 @@ -/*WIKI* -The algorithm integrates up the instrument hierarchy, and each pixel will contain the average value for the component. For example, -assuming that for a particular instrument on workspace w1 a "tube" is made out of "pixels", w=IntegrateByComponent(w1,1) will integrate values of w1, -calculate the average along the tube (LevelsUp=1) (for non-masked pixels), and replace the value of each spectrum in a tube with the average value for that tube. - -Note that if the detectors are grouped before, this algorithm won't run except with LevelsUp=0 (integrate over all detectors). -*WIKI*/ - #include "MantidAlgorithms/IntegrateByComponent.h" #include "MantidAPI/WorkspaceValidators.h" #include "MantidKernel/BoundedValidator.h" diff --git a/Code/Mantid/Framework/Algorithms/src/Integration.cpp b/Code/Mantid/Framework/Algorithms/src/Integration.cpp index 657b288e966b..bba82e39b3fc 100644 --- a/Code/Mantid/Framework/Algorithms/src/Integration.cpp +++ b/Code/Mantid/Framework/Algorithms/src/Integration.cpp @@ -1,18 +1,3 @@ -/*WIKI* - -Integration sums up spectra in a [[Workspace]] and outputs a [[Workspace]] that contains only 1 value per spectrum (i.e. the sum). The associated errors are added in quadrature. -The two X values per spectrum are set to the limits of the range over which the spectrum has been integrated. By default, the entire range is integrated and all spectra are included. - -=== Optional properties === -If only a portion of the workspace should be integrated then the optional parameters may be used to restrict the range. StartWorkspaceIndex & EndWorkspaceIndex may be used to select a contiguous range of spectra in the workspace (note that these parameters refer to the workspace index value rather than spectrum numbers as taken from the raw file). -If only a certain range of each spectrum should be summed (which must be the same for all spectra being integrated) then the Range_lower and Range_upper properties should be used. No rebinning takes place as part of this algorithm: if the values given do not coincide with a bin boundary then the first bin boundary within the range is used. If a value is given that is beyond the limit covered by the spectrum then it will be integrated up to its limit. -The data that falls outside any values set will not contribute to the output workspace. - -=== EventWorkspaces === -If an [[EventWorkspace]] is used as the input, the output will be a [[MatrixWorkspace]]. [[Rebin]] is recommended if you want to keep the workspace as an EventWorkspace. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/InterpolatingRebin.cpp b/Code/Mantid/Framework/Algorithms/src/InterpolatingRebin.cpp index 22b44ca33660..21675dc1b381 100644 --- a/Code/Mantid/Framework/Algorithms/src/InterpolatingRebin.cpp +++ b/Code/Mantid/Framework/Algorithms/src/InterpolatingRebin.cpp @@ -1,28 +1,3 @@ -/*WIKI* - -This algorithms is useful for increasing the time resolution of spectra whose bins have large numbers of counts which vary smoothly e.g. monitor spectra. - -The "params" property defines the new bin boundaries using the same syntax as in [[Rebin]]. That is, the first number is the first bin boundary and the second number is the width of the bins. Bins are created until the third number would be exceeded, the third number is the x-value of the last bin. There can be further pairs of numbers, the first in the pair will be the bin width and the last number the last bin boundary. - -The bin immediately before the specified boundaries x_2, x_3, ... x_i is likely to have a different width from its neighbors because there can be no gaps between bins. Rebin ensures that any of these space filling bins cannot be less than 25% or more than 125% of the width that was specified. - -To calculate the y-values the input spectra are approximated with a time series where the value at the center of each bin mean is the mean count rate over the bin. This series is interpolated by calculating cubic splines that fit this series and evaluating the splines at the centers of the requested bin. The splines have natural boundary conditions and zero second derivative at the end points, they are calculated using the [http://www.gnu.org/software/gsl/manual/html_node/Interpolation-Types.html gsl]. - -The errors on the count rates are estimated as a weighted mean of the errors values for the nearest input bin centers. These weights are inversely proportional to the distance of the output bin center to the respective input bin data points. - -=== Example Rebin param strings === -The same syntax as for [[Rebin]] -;0,100,20000 -:From 0 rebin in constant size bins of 100 up to 20,000 -;0,100,10000,200,20000 -:From 0 rebin in steps of 100 to 10,000 then steps of 200 to 20,000 - -*WIKI*/ -/*WIKI_USAGE* -'''Python''' - OutWS = InterpolatingRebin("InWS2","x1,dx1,x2") - -*WIKI_USAGE*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/InvertMask.cpp b/Code/Mantid/Framework/Algorithms/src/InvertMask.cpp index 1596616cb38c..7a61a1f182f6 100644 --- a/Code/Mantid/Framework/Algorithms/src/InvertMask.cpp +++ b/Code/Mantid/Framework/Algorithms/src/InvertMask.cpp @@ -1,14 +1,3 @@ -/*WIKI* - - -A NOT operation will be conducted on the input masking workspace (SpecialWorkspace2D) - - -==Output== -A SpecialWorkspace2D with the same dimension and geometry as the input two SpecialWorkspace2D. - -*WIKI*/ - #include "MantidAlgorithms/InvertMask.h" #include "MantidKernel/System.h" #include "MantidAPI/WorkspaceProperty.h" diff --git a/Code/Mantid/Framework/Algorithms/src/Logarithm.cpp b/Code/Mantid/Framework/Algorithms/src/Logarithm.cpp index dbeca463675f..f79cd37ee709 100644 --- a/Code/Mantid/Framework/Algorithms/src/Logarithm.cpp +++ b/Code/Mantid/Framework/Algorithms/src/Logarithm.cpp @@ -1,12 +1,3 @@ -/*WIKI* - -''Logarithm'' function calculates the logarithm of the data, held in a workspace and tries to estimate the errors of this data, by calculating logarithmic transformation of the errors. The errors are assumed to be small and Gaussian so they are calculated on the basis of Tailor decomposition e.g. if S and Err are the signal and errors for the initial signal, the logarithm would provide S_{ln}=ln(S) and Err_{ln}=Err/S accordingly. If the base 10 logarithm is used the errors are calculated as Err_{log10}=0.434Err/S - -Some values in a workspace can normally be equal to zero. Logarithm is not calculated for values which are less or equal to 0, but the value of ''Filler'' is used instead. The errors for such cells set to zeros - -When acting on an event workspace, the output will be a Workspace2D, with the default binning from the original workspace. - -*WIKI*/ #include "MantidAlgorithms/Logarithm.h" #include "MantidAPI/WorkspaceProperty.h" diff --git a/Code/Mantid/Framework/Algorithms/src/MaskBins.cpp b/Code/Mantid/Framework/Algorithms/src/MaskBins.cpp index 9c14f51f1b4e..f85fd6dd99c1 100644 --- a/Code/Mantid/Framework/Algorithms/src/MaskBins.cpp +++ b/Code/Mantid/Framework/Algorithms/src/MaskBins.cpp @@ -1,25 +1,3 @@ -/*WIKI* - -Masks bins in a workspace. Masked bins should properly be regarded as having been completely removed from the workspace. -Bins falling within the range given (even partially) are masked, i.e. their data and error values are set to zero and the bin is added to the list of masked bins. -This range is masked for all spectra in the workspace (though the workspace does not have to have common X values in all spectra). - -At present, although the zeroing of data will obviously be 'seen' by all downstream algorithms. -Only [[DiffractionFocussing]] (version 2) and [[Q1D]] have been modified to take account of masking. -Several algorithms (e.g. [[Rebin]], [[CropWorkspace]]) have been modified to properly propagate the masking. - -==Related Algorithms== -===RemoveBins=== -[[RemoveBins]] can work in several ways, if the bins are at the edges of the workspace they will be removed, and that will in many ways act like Masking the bins. -If the bins are in the middle of the workspace then the effect depends on the type of interpolation, -but importantly these bins will continue to influence future algorithms as opposed to masked bins. -For example, with no interpolation [[RemoveBins]] sets the bin values to 0. This 0 values will be included in the summing performed in DiffractionFocussing, -pushing down the values in that region. MaskBins is more clever. -While if you look at the data, it will appear that it has simply set the values to 0. -It has also set a series of flags inside that mark those bins to not be included in further claculations. -This means that when you Focus the data these values are simply missed out of the summing that is performed. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -271,4 +249,3 @@ void MaskBins::findIndices(const MantidVec& X, MantidVec::difference_type& start } // namespace Algorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/Algorithms/src/MaskBinsFromTable.cpp b/Code/Mantid/Framework/Algorithms/src/MaskBinsFromTable.cpp index aa02975aa17d..c008586311fa 100644 --- a/Code/Mantid/Framework/Algorithms/src/MaskBinsFromTable.cpp +++ b/Code/Mantid/Framework/Algorithms/src/MaskBinsFromTable.cpp @@ -1,17 +1,3 @@ -/*WIKI* - -Masks bins in a workspace. The user specified masking parameters, including spectra, xmin and xmax are given via a TableWorkspace. - -It calls algorithm MaskBins underneath. - -==Related Algorithms== -===MaskBins=== -[[MaskBins]] masks bins in a workspace. Masked bins should properly be regarded as having been completely removed from the workspace. -Bins falling within the range given (even partially) are masked, i.e. their data and error values are set to zero and the bin is added to the list of masked bins. -This range is masked for all spectra in the workspace (though the workspace does not have to have common X values in all spectra). - -*WIKI*/ - #include "MantidAlgorithms/MaskBinsFromTable.h" #include "MantidKernel/System.h" #include "MantidAPI/WorkspaceProperty.h" @@ -323,32 +309,3 @@ namespace Algorithms } // namespace Mantid } // namespace Algorithms - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Code/Mantid/Framework/Algorithms/src/MaskDetectorsIf.cpp b/Code/Mantid/Framework/Algorithms/src/MaskDetectorsIf.cpp index 02c86a6bd0ee..614906f73ea5 100644 --- a/Code/Mantid/Framework/Algorithms/src/MaskDetectorsIf.cpp +++ b/Code/Mantid/Framework/Algorithms/src/MaskDetectorsIf.cpp @@ -1,10 +1,3 @@ -/*WIKI* - -Iterates over the input workspace evaluating the test for each single value spectrum. -If the detectors should be masked it deselects all of the contributing detectors in the output calfile. -All other aspects of the InputCalFile are copied over to the OutputCalFile. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/Max.cpp b/Code/Mantid/Framework/Algorithms/src/Max.cpp index 35f3af46cae5..2661e3c1f3c2 100644 --- a/Code/Mantid/Framework/Algorithms/src/Max.cpp +++ b/Code/Mantid/Framework/Algorithms/src/Max.cpp @@ -1,9 +1,3 @@ -/*WIKI* - - - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/MaxMin.cpp b/Code/Mantid/Framework/Algorithms/src/MaxMin.cpp index fb15de75c44c..a89b169f73e9 100644 --- a/Code/Mantid/Framework/Algorithms/src/MaxMin.cpp +++ b/Code/Mantid/Framework/Algorithms/src/MaxMin.cpp @@ -1,11 +1,3 @@ -/*WIKI* - -The algorithm creates a new 2D workspace containing the first maxima (minima) for each spectrum, as well as their X boundaries and error. -This is used in particular for single crystal as a quick way to find strong peaks. By default, the algorithm returns the maxima. - -The [[Max]] and [[Min]] algorithms are just calls to the [[MaxMin]] algorithm, with the ShowMin flag set to true/false respectively. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/MedianDetectorTest.cpp b/Code/Mantid/Framework/Algorithms/src/MedianDetectorTest.cpp index f3737fd09872..e83ea6b48234 100644 --- a/Code/Mantid/Framework/Algorithms/src/MedianDetectorTest.cpp +++ b/Code/Mantid/Framework/Algorithms/src/MedianDetectorTest.cpp @@ -1,20 +1,3 @@ -/*WIKI* - - -If instrument geometry information is available the [[SolidAngle]] algorithm is used to calculate the number of counts per unit solid angle, otherwise numbers of counts are used without correction. First the median number of counts in all the bins is calculated. Then the ratio of the total number of counts and the median number is calculated for each histogram. This ratio is compared against the user defined upper and lower thresholds and if the ratio is outside the limits the statistical significance test is done. - -In the statistical significance test the difference between the number of counts in each spectrum and the median number is compared to the spectrum's error value. Any spectra where the ratio of the its deviation from the mean and the its error is less than the value of the property SignificanceTest will not be labelled bad. This test is particularly important when the number of counts is low, for example when examining the low count "background" parts of spectra. - -Optionally, some might want to do median on a tube, or a bank. Fot that, use the LevelsUp input. For example, in the CNCS instrument, the detector is called a pixel. The parent of a pixel is a tube, while an eightpack contains 8 tubes. To calculate the median of a tube, use LevelsUp=1, for an eightpack use LevelsUp=2. LevelsUp=0 will calculate the median over the whole instrument. - -The output workspace contains a MaskWorkspace where those spectra that fail the tests are masked and those that pass them are assigned a single positive value. - -===ChildAlgorithms used=== - -Uses the [[SolidAngle]], [[Integration]] and [[ConvertToDistribution]] algorithms. - - -*WIKI*/ #include "MantidAlgorithms/MedianDetectorTest.h" #include "MantidAPI/WorkspaceValidators.h" #include "MantidKernel/Exception.h" diff --git a/Code/Mantid/Framework/Algorithms/src/MergeRuns.cpp b/Code/Mantid/Framework/Algorithms/src/MergeRuns.cpp index 08d422a9da0c..ba01b7913149 100644 --- a/Code/Mantid/Framework/Algorithms/src/MergeRuns.cpp +++ b/Code/Mantid/Framework/Algorithms/src/MergeRuns.cpp @@ -1,36 +1,3 @@ -/*WIKI* - -Combines the data contained in an arbitrary number of input workspaces. If the input workspaces do not have common binning, the bins in the output workspace will cover the entire range of all the input workspaces, with the largest bin widths used in regions of overlap. - -==== Restrictions on the input workspace ==== - -The input workspaces must contain histogram data with the same number of spectra and matching units and instrument name in order for the algorithm to succeed. - -'''For [[Workspace2D]]s''': Each input workspace must have common binning for all its spectra. - -'''For [[EventWorkspace]]s''': This algorithm is Event-aware; it will append event lists from common spectra. Binning parameters need not be compatible; the output workspace will use the first workspaces' X bin boundaries. - -'''For [[WorkspaceGroup]]s''': Each nested has to be one of the above. - -Other than this it is currently left to the user to ensure that the combination of the workspaces is a valid operation. - -=== Processing Group Workspaces === - -==== Multi-period Group Workspaces ==== - -Group workspaces will be merged respecting the periods within each group. For example if you have two multiperiod group workspaces A and B and an output workspace C. A contains matrix workspaces A_1 and A_2, and B contains matrix workspaces B_1 and B2. Since this -is multiperiod data, A_1 and B_1 share the same period, as do A_2 and B_2. So merging must be with respect to workspaces of equivalent periods. Therefore, -merging is conducted such that A_1 + B_1 = C_1 and A_2 + B_2 = C_2. - -==== Group Workspaces that are not multiperiod ==== -If group workspaces are provided that are not multi-period, this algorithm will merge across all nested workspaces, to give a singe output matrix workspace. - -==== ChildAlgorithms used ==== - -The [[Rebin]] algorithm is used, if neccessary, to put all the input workspaces onto a common binning. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/Min.cpp b/Code/Mantid/Framework/Algorithms/src/Min.cpp index 221e656977dc..8c4cb16aac4a 100644 --- a/Code/Mantid/Framework/Algorithms/src/Min.cpp +++ b/Code/Mantid/Framework/Algorithms/src/Min.cpp @@ -1,9 +1,3 @@ -/*WIKI* - - - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/Minus.cpp b/Code/Mantid/Framework/Algorithms/src/Minus.cpp index bd10c65f9d5e..2ac18ada7377 100644 --- a/Code/Mantid/Framework/Algorithms/src/Minus.cpp +++ b/Code/Mantid/Framework/Algorithms/src/Minus.cpp @@ -1,22 +1,3 @@ -/*WIKI* -{{BinaryOperation|verb=subtracted|prep=from|symbol=-}} - -The Minus algorithm will subtract the data values and calculate the corresponding [[Error Values|error values]] for two compatible workspaces. - -*WIKI*/ -/*WIKI_USAGE* -'''Python''' - output = Minus("w1","w2") - w3 = w1 - w2 - w2 -= w1 # Perform "in-place" - -'''C++ Within an Algorithm'''
-The usage of basic workspace mathematical operations has been specially simplified for use within algorithms - - //w1 and w2 are workspaces - Workspace output = w1 - w2; - -*WIKI_USAGE*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/ModeratorTzero.cpp b/Code/Mantid/Framework/Algorithms/src/ModeratorTzero.cpp index a9b7e404ab36..5a92a4c0b86b 100644 --- a/Code/Mantid/Framework/Algorithms/src/ModeratorTzero.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ModeratorTzero.cpp @@ -1,48 +1,3 @@ -/*WIKI* -Corrects the time of flight (TOF) by a time offset that is dependent on the energy of the neutron after passing through the moderator. -A heuristic formula for the correction is stored in the instrument definition file. Below is shown the entry in the instrument file for the VISION beamline:
- - - - - -The recorded TOF = t_0 + t_i + t_f with
-t_0: emission time from the moderator
-t_1: time from moderator to sample or monitor
-t_2: time from sample to detector
-This algorithm will replace TOF with TOF^* = TOF-t_0 = t_i+t_f
- - -For a direct geometry instrument, the incident energy E_1 is the same for all neutrons. Hence, the moderator emission time is the same for all neutrons. -For an indirect geometry instrument, E_1 is different for each neutron and is not known. However, the final energy E_2 selected by the analyzers is known.
-t_0 = func(E_1) , a function of the incident energy
-t_1 = L_1/v_1 with L_1 the distance from moderator to sample, and v_1 the initial unknown velocity ( E_1=1/2*m*v_1^2)
-t_2 = L_2/v_2 with L_2 the distance from sample to detector, and v_2 is the final fixed velocity ( E_2=1/2*m*v_2^2)
- - -'''Note:''' We obtain TOF^* as an iterative process, taking into account the fact that the correction t_0 is much smaller than t_i+t_f. Thus
-TOF-t_0^{(n)} = L_1/v_1^{(n)} + L_2/v_2 , n=0, 1, 2,..
-Set t_0^{(0)}=0 and obtain v_1^{(0)} from the previous formula. From v_1^{(0)} we obtain E_1^{(0)}
-Set t_0^{(1)}=func( E_1^{(0)} ) and repeat the steps until |t_0^{(n+1)} - t_0^{(n+1)}| < tolTOF. With tolTOF=0.1microsecond, only one iteration is needed for convergence. - - -Here's the result of applying ModeratorTzero to both the event list and the histogrammed data of a run in the VISION beamline. The transformation of either events or histograms shifts the curve to smaller TOF's. -The transformed curves are not supposed to be identical, but similar and differenciated from the original curve. - -{| class="wikitable" -|- -! Sumed Histogram !! Elastic Line !! Inelastic Peaks -|- -| [[File:ModeratorTzero_Fig.1.jpeg|200px||center|]] || [[File:ModeratorTzero_Fig.2.jpeg|200px||center|]] || [[File:ModeratorTzero_Fig.3.jpeg|200px||center|]] -|} - - -For indirect instruments featuring an incoming neutron flux having a sufficiently narrow distribution of energies, a linear relationship between t_0 and -the wavelength of the incoming neutron can be established. This relation allows for coding of an algorithm with -faster execution times. For indirect instruments that comply with these conditions, use of [[ModeratorTzeroLinear]] is preferred. - -*WIKI*/ - //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -381,4 +336,3 @@ double ModeratorTzero::gett1min() } // namespace Algorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/Algorithms/src/ModeratorTzeroLinear.cpp b/Code/Mantid/Framework/Algorithms/src/ModeratorTzeroLinear.cpp index ff6de9ccf5a3..1963bc5b752b 100644 --- a/Code/Mantid/Framework/Algorithms/src/ModeratorTzeroLinear.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ModeratorTzeroLinear.cpp @@ -1,44 +1,3 @@ -/*WIKI* - -This algorithm Corrects the time of flight (TOF) of an indirect geometry instrument by substracting a time offset t_0 -linearly dependent on the wavelenght of the neutron when emitted through the moderator. This algorithm is suitable to data reduction -of indirect instruments featuring a neutron flux with a narrow distribution of wavelenghts. -A heuristic formula for the correction, stored in the instrument definition file, is taken as linear on the initial -neutron wavelength \lambda_i: -t_0 = a * \lambda_i + b, [a]=microsec/Angstrom and [b]=microsec. -Below is the example XML code included in BASIS beamline parameters file. - -
-
-
-    
-
-
-    
-
-
- -The recorded TOF: TOF = t_0 + t_i + t_f, with -* t_0: emission time from the moderator -* t_i: time from moderator to sample -* t_f: time from sample to detector - -This algorithm will replace TOF with TOF' = TOF-t_0 = t_i + t_f - -For an indirect geometry instrument, \lambda_i is not known but the final energy, E_f, -selected by the analyzers is known. For this geometry: -* t_f = L_f/v_f, with L_f: distance from sample to detector, v_f: final velocity derived from E_f -* t_i = L_i/v_i, with L_i: distance from moderator to sample, v_i: initial velocity unknown -* t_0 = a'/v_i+b', with a' and b' constants derived from the aforementioned heuristic formula a' = a \cdot 3.956 \cdot 10^{-3} with [a']=meter, -and b' = b with [b']=microsec - -Putting all together: TOF' = \frac{L_i}{L_i+a'} \cdot (TOF-t_f-b') + t_f, with [TOF']=microsec - -If the detector is a monitor, then we can treat it as both sample and detector. Thus, we use the previous formula inserting the time from sample -to detector t_f = 0 and with the initial fligh path L_i as the distance from source to monitor. - -*WIKI*/ - //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -310,4 +269,3 @@ void ModeratorTzeroLinear::calculateTfLi(MatrixWorkspace_const_sptr inputWS, siz } // namespace Algorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/Algorithms/src/MonteCarloAbsorption.cpp b/Code/Mantid/Framework/Algorithms/src/MonteCarloAbsorption.cpp index 671571712e73..08025459c243 100644 --- a/Code/Mantid/Framework/Algorithms/src/MonteCarloAbsorption.cpp +++ b/Code/Mantid/Framework/Algorithms/src/MonteCarloAbsorption.cpp @@ -1,24 +1,3 @@ -/*WIKI* - - -This algorithm performs a Monte Carlo simulation to calculate the attenuation factor of a given sample for an arbitrary arrangement of sample + container shapes. The algorithm proceeds as follows for each spectra in turn: -* A random point within the sample+container set up is selected and chosen as a scattering point; -* This point then defines an incoming vector from the source position and an outgoing vector to the final detector; -* The total attenuation factor for this path is then calculated as the product of the factor for each defined material of the sample/container that the track passes through. - -== Known limitations == -* Only elastic scattering is implemented at the moment. - -* The object's bounding box is used as a starting point for selecting a random point. If the shape of the object is peculiar enough not to occupy much of the bounding box then the generation of the initial scatter point will fail. - - -==== Restrictions on the input workspace ==== -The input workspace must have units of wavelength. The [[instrument]] associated with the workspace must be fully defined because detector, source & sample position are needed. - -At a minimum, the input workspace must have a sample shape defined. - - -*WIKI*/ //------------------------------------------------------------------------------ // Includes //------------------------------------------------------------------------------ diff --git a/Code/Mantid/Framework/Algorithms/src/MultipleScatteringCylinderAbsorption.cpp b/Code/Mantid/Framework/Algorithms/src/MultipleScatteringCylinderAbsorption.cpp index 3ca2311db099..7dcf1d1cf188 100644 --- a/Code/Mantid/Framework/Algorithms/src/MultipleScatteringCylinderAbsorption.cpp +++ b/Code/Mantid/Framework/Algorithms/src/MultipleScatteringCylinderAbsorption.cpp @@ -1,9 +1,3 @@ -/*WIKI* -This algorithm is a port to C++ of a multiple scattering absorption correction, used to -correct the vanadium spectrum for the GPPD instrument at the IPNS. The correction calculation was -originally worked out by Jack Carpenter and Asfia Huq and implmented in Java by Alok Chatterjee. -The java code was translated to C++ in Mantid by Dennis Mikkelson. -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/Multiply.cpp b/Code/Mantid/Framework/Algorithms/src/Multiply.cpp index a0cbe875dc94..71850f1a5bca 100644 --- a/Code/Mantid/Framework/Algorithms/src/Multiply.cpp +++ b/Code/Mantid/Framework/Algorithms/src/Multiply.cpp @@ -1,22 +1,3 @@ -/*WIKI* - {{BinaryOperation|verb=multiplied|prep=by|symbol=\times}} - -*WIKI*/ -/*WIKI_USAGE* -'''Python''' - output = Multiply("w1","w2") - w3 = w1 * w2 - w1 *= w2 # Perform "in-place" - # Using a scalar - w3 = w1 * 2.5 - w1 *= 2.5 # Perform "in-place" - -'''C++ Within an Algorithm'''
-The usage of basic workspace mathematical operations has been specially simplified for use within algorithms - - //w1 and w2 are workspaces - Workspace output = w1 * w2; -*WIKI_USAGE*/ // Includes //---------------------------------------------------------------------- //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/MultiplyRange.cpp b/Code/Mantid/Framework/Algorithms/src/MultiplyRange.cpp index 5f4d6adc931d..39c01bbce9d8 100644 --- a/Code/Mantid/Framework/Algorithms/src/MultiplyRange.cpp +++ b/Code/Mantid/Framework/Algorithms/src/MultiplyRange.cpp @@ -1,9 +1,3 @@ -/*WIKI* - - - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -103,4 +97,3 @@ void MultiplyRange::exec() } // namespace Algorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/Algorithms/src/MuonGroupDetectors.cpp b/Code/Mantid/Framework/Algorithms/src/MuonGroupDetectors.cpp index d10bea6a7b79..a38bb053c917 100644 --- a/Code/Mantid/Framework/Algorithms/src/MuonGroupDetectors.cpp +++ b/Code/Mantid/Framework/Algorithms/src/MuonGroupDetectors.cpp @@ -1,11 +1,3 @@ -/*WIKI* -Applies detector grouping to a workspace. (Muon version). - -Expect the DetectorGroupingTable to contain one column only. It should be of type vector_int (std::vector). Every row corresponds to a group, and the values in the only column are IDs (not indices!) of the detectors which spectra should be contained in the group. Name of the column is not used. - -One detector might be in more than one group. Empty groups are ignored. std::invalid_argument exceptions are thrown if table format is not correct, there are no non-empty groups or one of the detector IDs does not exist in the workspace. -*WIKI*/ - #include "MantidAlgorithms/MuonGroupDetectors.h" #include "MantidAPI/WorkspaceFactory.h" #include "MantidDataObjects/TableWorkspace.h" diff --git a/Code/Mantid/Framework/Algorithms/src/NormaliseByCurrent.cpp b/Code/Mantid/Framework/Algorithms/src/NormaliseByCurrent.cpp index 27b6b469e550..c8f35097de85 100644 --- a/Code/Mantid/Framework/Algorithms/src/NormaliseByCurrent.cpp +++ b/Code/Mantid/Framework/Algorithms/src/NormaliseByCurrent.cpp @@ -1,14 +1,3 @@ -/*WIKI* - -Normalises a workspace according to the good proton charge figure taken from the Input Workspace log data, which is stored in the workspace's [[Sample]] object). Every data point (and its error) is divided by that number. - -== ISIS Calculation Details == -The good proton charge '''gd_ptrn_chrg''' is an summed value that applies across all periods. It is therefore suitable to run NormaliseByProtonCharge for single-period workspaces, but gives incorrect normalisation for multi-period workspaces. If the algorithm detects the presences of a multi-period workspace, it calculates the normalisation slightly differently. It uses the '''current_period''' log property to index into the '''proton_charge_by_period''' log data array property. - -=== EventWorkspaces === -If the input workspace is an [[EventWorkspace]], then the output will be as well. Weighted events are used to scale by the current (see the [[Divide]] algorithm, which is a child algorithm being used). - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/NormaliseByDetector.cpp b/Code/Mantid/Framework/Algorithms/src/NormaliseByDetector.cpp index 925a33f2321b..9d0a8eff32bd 100644 --- a/Code/Mantid/Framework/Algorithms/src/NormaliseByDetector.cpp +++ b/Code/Mantid/Framework/Algorithms/src/NormaliseByDetector.cpp @@ -1,105 +1,3 @@ -/*WIKI* - -This algorithm is designed to normalise a workspace via detector efficiency functions. '''For this algorithm to work, the Instrument Defintion File [[IDF]] must have fitting functions on the component tree'''. The setup information for this, as well as some examples, are provided below. - -At a high-level, the algorithm does this: - -# Extract a detector efficiency function e = f(\lambda) -# Using the bin boundaries on the input workspace, calculate efficiency Y and E values and generate a new workspace from the results -# Divide the input workspace by the efficiency workspace -== Prerequisites == - -=== The Input Workspace === -# The input workspace must be a MatrixWorkspace -# The input workspace must have X-units of Wavelength, run [[ConvertUnits]] on your input workspace if it is not already in Wavelength. -# The input workspace must be a histogram workspace run [[ConvertToHistogram]] on your input workspace if it is not already histogrammed. - -=== The Instrument Definition File === -==== Background ==== -In brief, the components in the IDF file form a tree structure. Detectors and Instruments are both types of component. Detectors are ultimately children of Instruments in the tree structure. For a more complete description see [[IDF]]. The tree structure of the components, mean that fitting functions do not necessarily have to be assigned on a detector-by-detector basis. Applying a fit function to the instrument, will ensure that all subcomponents (including detectors), pick-up that function. However, functions assigned to lower-level components (such as detectors) take precidence over and exising functions that might exist on parent components (such as the instrument). You can even, have some parameters for a function provided against the detector, and pick up defaults from the bank, or instrument if they have been specified there. -==== Recommended Working ==== - -The IDF is intended to be a definitive description of the components in the instrument at any time. This should be the most generic form of the instrument setup possible. To complement this, you may provide additional Instrument Parameter files, which can be used to overload settings in the IDF for purposes of configuration and calibration. '''We strongly recommend that fitting functions are provided via Instrument Parameter Files rather than directly in the IDF'''. This will give you more flexibility to change your fitting functions without the problems of synchronising the IDF across Mantid, and possible corruption resulting from ad-hoc changes. - -Instrument Parameter Files that take the form {InstrumentName}_Parameters.xml and live in the Instrument directory of Mantid are automatically loaded along with the IDF when a workspace is loaded into Mantid. However, you can apply any number of additional parameter files over the top of an existing workspace using [[LoadParameterFile]]. - -==== Examples ==== - -Applying a LinearFunction to the whole instrument, hard-coded with A1=2 and A0=1. Fictional instrument is called basic_rect. - -
- - - - - - - - - - - - - -
- -Applying the same LinearFunction to two different detectors, with different coefficients is shown below: - -
- - - - - - - - - - - - - - - - - - - - - - - -
- -In the following the LinearFunction A0 coefficient is set globally for all detectors at the instrument level, while the -A1 coefficient is provided for each detector. In this way the Algorithm sees a complete definition for the Linear function (both A1 and A0) from two incomplete definitions on different components in the tree. - -
- - - - - - - - - - - - - - - - - - - - - -
- -*WIKI*/ - #include "MantidAlgorithms/NormaliseByDetector.h" #include "MantidKernel/System.h" #include "MantidKernel/UnitFactory.h" diff --git a/Code/Mantid/Framework/Algorithms/src/NormaliseToMonitor.cpp b/Code/Mantid/Framework/Algorithms/src/NormaliseToMonitor.cpp index 25a53909cd7f..8f715aa371b5 100644 --- a/Code/Mantid/Framework/Algorithms/src/NormaliseToMonitor.cpp +++ b/Code/Mantid/Framework/Algorithms/src/NormaliseToMonitor.cpp @@ -1,34 +1,3 @@ -/*WIKI* - -===Bin-by-bin mode=== -In this, the default scenario, each spectrum in the workspace is normalised on a bin-by-bin basis by the monitor spectrum given. The error on the monitor spectrum is taken into account. -The normalisation scheme used is: - -(s_i)_{Norm}=(\frac{s_i}{m_i})*\Delta w_i*\frac{\sum_i{m_i}}{\sum_i(\Delta w_i)} - -where s_i is the signal in a bin, m_i the count in the corresponding monitor bin, \Delta w_i the bin width, \sum_i{m_i} the integrated monitor count and \sum_i{\Delta w_i} the sum of the monitor bin widths. -In words, this means that after normalisation each bin is multiplied by the bin width and the total monitor count integrated over the entire frame, and then divided by the total frame width. This leads to a normalised histogram which has unit of counts, as before. - -If the workspace does not have common binning, then the monitor spectrum is rebinned internally to match each data spectrum prior to doing the normalisation. - -===Normalisation by integrated count mode=== -This mode is used if one or both of the relevant 'IntegrationRange' optional parameters are set. If either is set to a value outside the workspace range, then it will be reset to the frame minimum or maximum, as appropriate. - -The error on the integrated monitor spectrum is taken into account in the normalisation. No adjustment of the overall normalisation takes place, meaning that the output values in the output workspace are technically dimensionless. - -=== Restrictions on the input workspace === - -The data must be histogram, non-distribution data. - -===Child Algorithms used=== - -The [[ExtractSingleSpectrum]] algorithm is used to pull out the monitor spectrum if it's part of the InputWorkspace or MonitorWorkspace. -For the 'integrated range' option, the [[Integration]] algorithm is used to integrate the monitor spectrum. - -In both cases, the [[Divide]] algorithm is used to perform the normalisation. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/NormaliseToUnity.cpp b/Code/Mantid/Framework/Algorithms/src/NormaliseToUnity.cpp index c54803b1a248..152598fdc023 100644 --- a/Code/Mantid/Framework/Algorithms/src/NormaliseToUnity.cpp +++ b/Code/Mantid/Framework/Algorithms/src/NormaliseToUnity.cpp @@ -1,10 +1,3 @@ -/*WIKI* - -NormaliseToUnity uses [[Integration]] to sum up all the X bins, then sums up the resulting spectra using [[SumSpectra]]. Each bin of the input workspace is then divided by the total sum, regardless of whether a bin was included in the sum or not. It is thus possible to normalize a workspace so that a range of X bins and spectra sums to 1. In that case the sum of the whole workspace will likely not be equal to 1. - - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/OneMinusExponentialCor.cpp b/Code/Mantid/Framework/Algorithms/src/OneMinusExponentialCor.cpp index 8ab0b589b578..5ee64ca2bd0b 100644 --- a/Code/Mantid/Framework/Algorithms/src/OneMinusExponentialCor.cpp +++ b/Code/Mantid/Framework/Algorithms/src/OneMinusExponentialCor.cpp @@ -1,19 +1,3 @@ -/*WIKI* - - -This algorithm corrects the data and error values on a workspace by the value of one minus an exponential function -of the form \rm C1(1 - e^{-{\rm C} x}) . -This formula is calculated for each data point, with the value of ''x'' -being the mid-point of the bin in the case of histogram data. -The data and error values are either divided or multiplied by the value of this function, according to the -setting of the Operation property. - -This algorithm is now event aware. - -This correction is applied to a copy of the input workpace and put into output workspace. -If the input and output workspaces have the same name, the operation is applied to the workspace of that name. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/PDFFourierTransform.cpp b/Code/Mantid/Framework/Algorithms/src/PDFFourierTransform.cpp index 06e34e10dddf..e6cd709bc76f 100644 --- a/Code/Mantid/Framework/Algorithms/src/PDFFourierTransform.cpp +++ b/Code/Mantid/Framework/Algorithms/src/PDFFourierTransform.cpp @@ -1,49 +1,3 @@ -/*WIKI* - -The algorithm PDFFourierTransform transforms S(Q), S(Q)-1, or Q[S(Q)-1] -(as a fuction of MomentumTransfer or dSpacing) to a PDF (pair distribution function) as described below. - -The input Workspace can have the unit in d-space of Q-space. The algorithm itself is able to identify -the unit. The allowed unit are MomentumTransfer and d-spacing. - -'''Note:''' All other forms are calculated by transforming G(r). - -==== Output Options ==== - -=====G(r)===== - - G(r) = 4\pi r[\rho(r)-\rho_0] = \frac{2}{\pi} \int_{0}^{\infty} Q[S(Q)-1]\sin(Qr)dQ - -and in this algorithm, it is implemented as - - G(r) = \frac{2}{\pi} \sum_{Q_{min}}^{Q_{max}} Q[S(Q)-1]\sin(Qr) M(Q,Q_{max}) \Delta Q - -where M(Q,Q_{max}) is an optional filter function. If Filter property is set (true) then - -M(Q,Q_{max}) = \frac{\sin(\pi Q/Q_{max})}{\pi Q/Q_{max}} - -otherwise - -M(Q,Q_{max}) = 1\, - -=====g(r)===== - -G(r) = 4 \pi \rho_0 r [g(r)-1] - -transforms to - -g(r) = \frac{G(r)}{4 \pi \rho_0 r} + 1 - -=====RDF(r)===== - -RDF(r) = 4 \pi \rho_0 r^2 g(r) - -transforms to - -RDF(r) = r G(r) + 4 \pi \rho_0 r^2 - -*WIKI*/ - #include "MantidAlgorithms/PDFFourierTransform.h" #include "MantidKernel/System.h" #include "MantidAPI/WorkspaceValidators.h" @@ -428,4 +382,3 @@ namespace Mantid } // namespace Mantid } // namespace Algorithms - diff --git a/Code/Mantid/Framework/Algorithms/src/Pause.cpp b/Code/Mantid/Framework/Algorithms/src/Pause.cpp index a18cf4b220b2..b6d89c2148f9 100644 --- a/Code/Mantid/Framework/Algorithms/src/Pause.cpp +++ b/Code/Mantid/Framework/Algorithms/src/Pause.cpp @@ -1,13 +1,3 @@ -/*WIKI* - -This is a very simple algorithm that does nothing -for a given number of seconds. - -This can be used during debugging, for example, -to slow down the execution of a fast script. - -*WIKI*/ - #include "MantidAlgorithms/Pause.h" #include "MantidAPI/Algorithm.h" diff --git a/Code/Mantid/Framework/Algorithms/src/PerformIndexOperations.cpp b/Code/Mantid/Framework/Algorithms/src/PerformIndexOperations.cpp index cbc4b000133d..63ff0862dc9a 100644 --- a/Code/Mantid/Framework/Algorithms/src/PerformIndexOperations.cpp +++ b/Code/Mantid/Framework/Algorithms/src/PerformIndexOperations.cpp @@ -1,64 +1,3 @@ -/*WIKI* - -Performs index operations on a workspace which involve cropping out spectra and summing spectra together. See [[MultiFileLoading]] for similar syntax used during loading, though operations -using step sizes are not supported here. - -== Basic Instructions == - - {| class="wikitable" - !rowspan="2" |Name - !width=200 rowspan="2" |Usage - !rowspan="2" |Description - !colspan="2" |Example - |- - !Input - !Result - |- - !align="center" |List - |align="center" |, - |Used to list workspace_indexes to keep. - |0,1,2 - |Keeps spectrum with workspace indexes 0,1,2 others are cropped out. - |- - !align="center" |Plus - |align="center" |+ - |Used to specify which spectrum are to be summed together via [[SumSpectra]]. For summing ranges use ''Added Range'' - |1+2 - |Sum spectrum with workspace indexes 1, 2 together. - |- - !align="center" |Range - |align="center" |: - |Used to specify a range of N spectrum to keep. - |0:4 - |Keeps spectrum with workspace indexes between 0 and 4. - |- - !align="center" |Added Range - |align="center" |- - |Used to specify a range of spectrum that are to be summed together via [[SumSpectra]]. This is an alternative to the binary ''Plus'' operator. - |1-4 - |Sum spectra corresponding to the workspace indexes between 1 and 4. - |- - |} - -== Complex Instructions == - -The basic instructions listed above can be used in combination because ''', can be used to separate out sets of instructions as well as indexes to keep'''. -For example, ''0-2, 3:6'' will add -spectrum with workspace indexes 0-2 together into a single spectrum and then append spectra that correspond to -workspace indexes 3-6 from the original workspace (you will have 4 spectra -in the output workspace). - -== Limitations == - -* The ''+'' operator is binary only and works like 0+1, but cannot be used like 0+1+2. Use the Add Range operator ''-'' in these scenarios. - -== Order of operations == -The spectra will appear in the output workspace in the same order that they are defined in the instructions. -For example ''1+2, 0'' will have the results of 1+2 as workspace index 0 in the output -workspace and index 0 in the original workspace will be mapped to workspace index 1 in the output workspace. - - *WIKI*/ - #include "MantidAlgorithms/PerformIndexOperations.h" #include "MantidAPI/MatrixWorkspace.h" #include "MantidAPI/AlgorithmManager.h" diff --git a/Code/Mantid/Framework/Algorithms/src/PlotAsymmetryByLogValue.cpp b/Code/Mantid/Framework/Algorithms/src/PlotAsymmetryByLogValue.cpp index 014bf153744f..dfa1e2ba5d20 100644 --- a/Code/Mantid/Framework/Algorithms/src/PlotAsymmetryByLogValue.cpp +++ b/Code/Mantid/Framework/Algorithms/src/PlotAsymmetryByLogValue.cpp @@ -1,36 +1,3 @@ -/*WIKI* - - -This algorithm calculates asymmetry for a series of muon workspaces. The input workspaces must be in Muon Nexus files which names follow the rule: the filename must begin with at least 1 letter and followed by a number. The input property FirstRun must be set to the file name with the smalest number and the LastRun to the one with the highest number. If the "Green" property is not set the output workspace will contain a single spectrum with asymmetry values. If the "Green" is set the output workspace will contain four spectra with asymmetries: - -{| border="1" cellpadding="5" cellspacing="0" -!Workspace Index -!Spectrum -!Asymmetry -|- -|0 -|1 -|Difference of Red and Green -|- -|1 -|2 -|Red only -|- -|2 -|3 -|Green only -|- -|3 -|4 -|Sum of red and green asymmetries -|} - -If ForwardSpectra and BackwardSpectra are set the muon workspaces will be grouped according to the user input, otherwise the Autogroup option of LoadMuonNexus will be used for grouping. - -There is a python script PlotAsymmetryByLogValue.py which if called in MantidPlot runs the algorithm and plots the results. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -621,7 +588,3 @@ namespace Mantid } } // namespace Algorithm } // namespace Mantid - - - - diff --git a/Code/Mantid/Framework/Algorithms/src/Plus.cpp b/Code/Mantid/Framework/Algorithms/src/Plus.cpp index ab624c938d31..34b92421a5db 100644 --- a/Code/Mantid/Framework/Algorithms/src/Plus.cpp +++ b/Code/Mantid/Framework/Algorithms/src/Plus.cpp @@ -1,23 +1,3 @@ -/*WIKI* -{{BinaryOperation|verb=added|prep=to|symbol=+}} - -===EventWorkspace note=== -For [[EventWorkspace]]s, the event lists at each workspace index are concatenated to create the output event list at the same workspace index. Note that in some (rare*) cases, these event lists might be from different detectors; this is not checked against and the event lists will be concatenated anyway. This may or may not be your desired behavior. If you wish to merge different EventWorkspaces while matching their detectors together, use the [[MergeRuns]] algorithm. - -* This could happen, for example, if the workspace operands have not both been processed in an identical fashion and the detectors have somehow been grouped differently. -*WIKI*/ -/*WIKI_USAGE* -'''Python''' - output = Plus("w1","w2") - w3 = w1 + w2 - w1 += w2 # Perform "in-place" - -'''C++ Within an Algorithm'''
-The usage of basic workspace mathematical operations has been specially simplified for use within algorithms - - //w1 and w2 are workspaces - Workspace output = w1 + w2; -*WIKI_USAGE*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/PointByPointVCorrection.cpp b/Code/Mantid/Framework/Algorithms/src/PointByPointVCorrection.cpp index 1b4c42893cdc..21850601194e 100644 --- a/Code/Mantid/Framework/Algorithms/src/PointByPointVCorrection.cpp +++ b/Code/Mantid/Framework/Algorithms/src/PointByPointVCorrection.cpp @@ -1,23 +1,3 @@ -/*WIKI* - -Divides the data spectra by the matching vanadium spectra according to the following formula: - -(y_i)_{Norm}=(\frac{y_i}{v_i})*\Delta w_i*\frac{\sum_i{y_i}}{\sum_i((\frac{y_i}{v_i})\Delta w_i)} - -where y_i is the signal in the sample workspace, v_i the count in the corresponding vanadium bin, \Delta w_i the bin width, \sum_i{y_i} the integrated data count and \sum_i((\frac{y_i}{v_i})\Delta w_i) the sum of the sample counts divided by the vanadium counts multiplied by the bin width. - -This leads to a normalised histogram which has unit of counts, as before. - -In order to minimise sudden jumps in the data caused by 0 counts in the corresponding vanadium spectrum it is worth considering smoothing the Vanadium spectrum using [[SmoothData]] prior to using it in this algorithm. - -=== Valid input workspaces === -The input workspaces have to have the following in order to be valid inputs for this algorithm. -* The same number of spectra -* Matching spectra numbers -This is normally not a problem unless the setup of the instrument has been changed between recording the Vanadium and the sample datasets. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/PoissonErrors.cpp b/Code/Mantid/Framework/Algorithms/src/PoissonErrors.cpp index 5be821f3b932..6d1132cc616c 100644 --- a/Code/Mantid/Framework/Algorithms/src/PoissonErrors.cpp +++ b/Code/Mantid/Framework/Algorithms/src/PoissonErrors.cpp @@ -1,11 +1,3 @@ -/*WIKI* - -Takes a Data workspace and an original counts workspace input and updates the -error values in the data workspace to be the same fractionally as the counts workspace. -The number of histograms, the binning and units of the two workspaces must match. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/PolynomialCorrection.cpp b/Code/Mantid/Framework/Algorithms/src/PolynomialCorrection.cpp index ef0b02624af6..e674b6b101ed 100644 --- a/Code/Mantid/Framework/Algorithms/src/PolynomialCorrection.cpp +++ b/Code/Mantid/Framework/Algorithms/src/PolynomialCorrection.cpp @@ -1,14 +1,3 @@ -/*WIKI* - - -Corrects the data and error values on a workspace by the value of a polynomial function: -: {\rm C0} + {\rm C1} x + {\rm C2} x^2 + ... -which is evaluated at the ''x'' value of each data point (using the mid-point of the bin as the ''x'' value for -histogram data. The data and error values are multiplied or divided by the value of this function. -The order of the polynomial is determined by the length of the Coefficients property, which can be of any length. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/Power.cpp b/Code/Mantid/Framework/Algorithms/src/Power.cpp index 8916fbcd59e1..095f19c79efa 100644 --- a/Code/Mantid/Framework/Algorithms/src/Power.cpp +++ b/Code/Mantid/Framework/Algorithms/src/Power.cpp @@ -1,20 +1,3 @@ -/*WIKI* - - -The algorithm will raise the InputWorkspace to the power of the Exponent. -When acting on an event workspace, the output will be a Workspace2D, with the default binning from the original workspace. - -== Errors == - -Defining the power algorithm as: y = \left ( a^b \right ) , we can describe the error as: -s_{y} = by\left ( s_{a}/a \right ), where s_{y} is the error in the result ''y'' and s_{a} is the error in the input ''a''. - -*WIKI*/ -/*WIKI_USAGE* -'''Python''' - outputW = Power("inputW",3) - -*WIKI_USAGE*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -66,4 +49,3 @@ inline double Power::calculatePower(const double base, const double exponent) } } - diff --git a/Code/Mantid/Framework/Algorithms/src/PowerLawCorrection.cpp b/Code/Mantid/Framework/Algorithms/src/PowerLawCorrection.cpp index f23a0e3d6460..f7e2ebaa0d94 100644 --- a/Code/Mantid/Framework/Algorithms/src/PowerLawCorrection.cpp +++ b/Code/Mantid/Framework/Algorithms/src/PowerLawCorrection.cpp @@ -1,14 +1,3 @@ -/*WIKI* - - -This algorithm corrects the data and error values on a workspace by the value of an function -of the form C0 \times x^{C1} . -This formula is calculated for each data point, with the value of ''x'' -being the mid-point of the bin in the case of histogram data. -The data and error values are multiplied by the value of this function. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/Q1D2.cpp b/Code/Mantid/Framework/Algorithms/src/Q1D2.cpp index f2c1b899dfe9..7bae5bd807d6 100644 --- a/Code/Mantid/Framework/Algorithms/src/Q1D2.cpp +++ b/Code/Mantid/Framework/Algorithms/src/Q1D2.cpp @@ -1,127 +1,3 @@ -/*WIKI* - -===Q Unit Conversion=== -The equation for Q as function of wavelength, \lambda, and neglecting gravity, is -:Q = \frac{4\pi}{\lambda} sin(\theta) -where 2 \theta is the particle's angle of deflection. If a particle's measured deflection over the sample to the detector (pixel) distance, L_2, is x along the x-axis and y along the y-axis then \theta is - -:\theta = \frac{1}{2} arcsin\left (\frac{\sqrt{x^2+y^2}}{L_2} \right ) - -Including gravity adds another term to this equation which becomes: -:\theta = \frac{1}{2} arcsin\left (\frac{ \sqrt{x^2+\left (y+\frac{gm^2}{2h^2} \lambda^2 L_2^2 \right)^2}}{L_2} \right ) -where m is the particle's mass, g is the acceleration due to gravity and h is [http://en.wikipedia.org/wiki/Planks_constant plank's constant] (this assumes neutrons are all travelling in horizontal at sample, and that x=y=0 would be beam centre at \lambda = 0). - -===Normalized Intensity=== -This [[Algorithm|algorithm]] takes a workspace of number of neutron counts against [[Units|wavelength]] and creates a workspace of cross section against Q. The output Q bins boundaries are defined by setting the property OutputBinning. - -Below is the formula used to calculate the cross section, P_I(Q), for one bin in the output workspace whose bin number is denoted by I, when the input workspace has just one detector. Each bin is calculated from the sum of all input wavelength bins, n, that evaluate to the same Q using the formula for Q at the top of this page. In equations this relationship between the input bins and the output bins is represented by n \supset I and an example of a set of two bins is shown diagrammatically below. -[[File:Wav_Q_bins.png|Each Q bin contains the sum of many, one, or no wavelength bins|centre]] - -In the equation the number of counts in the input spectrum number is denoted by S(n), N(n) is the wavelength dependent correction and \Omega is the [[SolidAngle|solid angle]] of the detector - -:P_I(Q) = \frac{ \sum_{n \supset I} S(n)}{\Omega\sum_{n \supset I}N(n)} - -The wavelength dependent correction is supplied to the algorithm through the WavelengthAdj property and this workspace must have the same wavelength binning as the input workspace and should be equal to the following: - -:N(n) = M(n)\eta(n)T(n) - -where M, \eta and T are the monitor counts, detector efficiency and transmission fraction respectively. - -Normally there will be many spectra each from a different pixel with a row number i and column number j. Because the value of \theta varies between pixels corresponding input bins (n) from different input spectra can contribute to different output bins (I) i.e. n \supset I will be different for different pixels. For multiple spectra the sum for each output bin will be over the set of input bins in each pixel that have the correct Q, that is \{i, j, n\} \supset \{I\} while \Omega_{i j} is detector dependent: - -:P_I(Q) = \frac{\sum_{\{i, j, n\} \supset \{I\}} S(i,j,n)}{\sum_{\{i, j, n\} \supset \{I\}}M(n)\eta(n)T(n)\Omega_{i j}F_{i j}} - -where F is the detector dependent (e.g. flood) scaling specified by the PixelAdj property, and where a \lambda bin n spans more than one Q bin I, it is split assuming a uniform distribution of the counts in \lambda. The normalization takes any [[MaskBins|bin masking]] into account. - -Although the units on the y-axis of the output workspace space are quoted in 1/cm note that conversion to a cross section requires scaling by an [[instrument]] dependent absolute units constant. - -===Resolution and Cutoffs=== -There are two sources of uncertainty in the intensity: the statistical (counting) error and the finite size of the bins, i.e. both time bins and the spatial extent of the detectors (pixels). The first error is reducible by increasing the length of the experiment or bin sizes while the second reduces with smaller bin sizes. The first is represented by the errors on the output workspace but the second is not included in the error calculation although it increases uncertainties and degrades the effective resolution of the data none the less. This algorithm allows the resolution to be improved by removing the bins with the worst resolution. - -Normally the bins that give the worst resolution are those near the beam center and with short wavelengths. When the optional properties RadiusCut and WaveCut are set bins from this region of the input workspace are removed from the intensity calculation (both from the numerator and denominator). For a pixel at distance R from the beam center the wavelength cutoff, W_{low}, is defined by the input properties RadiusCut and WaveCut as: - -:W_{low} = \frac{WaveCut (RadiusCut-R)}{RadiusCut} - -The bin that contains the wavelength W_{low} and all lower indices are excluded from the summations for that detector pixel. - -From the equation it is possible to see that for pixels in R > RadiusCut all (positive) wavelengths are included. Also substituting WaveCut = W_{low} we have that R = 0 and hence all detectors contribute at wavelengths above WaveCut. - -''Practically, it is more likely to be necessary to implement RadiusCut and WaveCut in situations where the scattering near to the beamstop is weak and 'contaminated' by short wavelength scatter. This might arise, for example, when running at long sample-detector distances, or at short sample-detector distances with large diameter beams, or where the sample generates Bragg peaks at low-Q. The best recourse is to check the wavelength overlap. If it is not too bad it may be possible to improve the data presentation simply by altering Q{min} and the binning scheme.'' - -'''References''' - -[http://scripts.iucr.org/cgi-bin/paper?gk0158 R.P. Hjelm Jr. ''J. Appl. Cryst.'' (1988), 21, 618-628]. - -[http://scripts.iucr.org/cgi-bin/paper?gk0573 P.A. Seeger & R.P. Hjelm Jr. ''J. Appl. Cryst.'' (1991), 24, 467-478]. - -===Variations on applying the normalization=== -It is possible to divide the input workspace by the WavelenghAdj and PixelAdj workspaces prior to calling this algorithm. The results will be same as if these workspaces were passed to Q1D instead when there are high numbers of particle counts. However, in this scheme the probabilities tend to converge on the true high count probabablities more slowly with increasing number of counts and so the result is less accuate. - -Depending on the input and output bins there could be a significant difference in CPU time required by these two methods. - -===References=== -Calculation of Q is from Seeger, P. A. and Hjelm, R. P. Jr, "Small-Angle Neutron Scattering at Pulsed Spallation Sources" (1991) J. Appl '''24''' 467-478 - -==Previous Versions== - -===Version 1=== -Before July 2011 the intensity was calculated with an equation like the following: -:P_I(Q) = \frac{ \sum_{\{i, j, n\} \supset \{I\}}G(i,j,n) }{ \sum_{\{i, j, n\} \supset \{I\}} \Omega_{i j} } -where G is the input workspace normally related to the raw counts workspace as: -:G(i,j,n) = S(i,j,n)/(M(n)\eta(n)T(n)F_{i j}) -That is the normalization was performed before the Q calculation which gives the same probilities at high numbers of particles counts but weighted noisy, low count data too highly, giving more noise in P_I(Q). - -The error was calculation did not include the errors due the normalization or any corrections. - -==== Properties ==== - -{| border="1" cellpadding="5" cellspacing="0" -!Order -!Name -!Direction -!Type -!Default -!Description -|- -|1 -|InputWorkspace -|Input -|MatrixWorkspace -|Mandatory -|The (partly) corrected data in units of wavelength. -|- -|2 -|InputForErrors -|Input -|MatrixWorkspace -|Mandatory -|The workspace containing the counts to use for the error calculation. Must also be in units of wavelength and have matching bins to the InputWorkspace. -|- -|3 -|OutputWorkspace -|Output -|MatrixWorkspace -|Mandatory -|The workspace name under which to store the result histogram. -|- -|4 -|OutputBinning -|Input -|String -|Mandatory -|The bin parameters to use for the final result (in the format used by the [[Rebin]] algorithm). -|- -|5 -|AccountForGravity -|Input -|Boolean -|False -|Whether to correct for the effects of gravity. -|} - - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -646,4 +522,3 @@ void Q1D2::normalize(const MantidVec & normSum, const MantidVec & normError2, Ma } // namespace Algorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/Algorithms/src/Q1DWeighted.cpp b/Code/Mantid/Framework/Algorithms/src/Q1DWeighted.cpp index 17da18887c34..64253c7d6e32 100644 --- a/Code/Mantid/Framework/Algorithms/src/Q1DWeighted.cpp +++ b/Code/Mantid/Framework/Algorithms/src/Q1DWeighted.cpp @@ -1,13 +1,3 @@ -/*WIKI* - -Performs azimuthal averaging for a 2D SANS data set by going through each detector pixel, determining its Q-value, and adding its amplitude I to the appropriate Q bin. For greater precision, each detector pixel can be sub-divided in sub-pixels by setting the ''NPixelDivision'' parameters. Each pixel has a weight of 1 by default, but the weight of each pixel can be set to 1/\Delta I^2 by setting the ''ErrorWeighting'' parameter to True. - - -See the [http://www.mantidproject.org/Rebin Rebin] documentation for details about choosing the ''OutputBinning'' parameter. - -See [http://www.mantidproject.org/Reduction_for_HFIR_SANS SANS Reduction] documentation for calculation details. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/Qxy.cpp b/Code/Mantid/Framework/Algorithms/src/Qxy.cpp index a9aeb597aaf8..769d8295e514 100644 --- a/Code/Mantid/Framework/Algorithms/src/Qxy.cpp +++ b/Code/Mantid/Framework/Algorithms/src/Qxy.cpp @@ -1,10 +1,3 @@ -/*WIKI* - - -This algorithm rebins a 2D workspace in units of wavelength into 2D Q. The reduction it performs is the same as that executed by the [[Q1D]] algorithm, expect performed in 2D instead of 1D. Hence, for further documentation on how this algorithm works please see [[Q1D]]. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/RadiusSum.cpp b/Code/Mantid/Framework/Algorithms/src/RadiusSum.cpp index 7bcdda25573a..57dc00ac4bed 100644 --- a/Code/Mantid/Framework/Algorithms/src/RadiusSum.cpp +++ b/Code/Mantid/Framework/Algorithms/src/RadiusSum.cpp @@ -1,27 +1,3 @@ -/*WIKI* -RadiusSum sums the counts in rings against radius. - -Below, there is an example of the execution of the RadiusSum to a Workspace2D where the position of the pixels are not associated to detector positions, but it is derived from the Axes. - -[[File:ExecuteRadiusSum.png | 800px]] - -The image below shows a visual interpretation for the inputs of the algorithm - -[[File:RadiusSumInputs.png | 300px]] - - -The Algorithm create '''NumBins''' rings around the '''Centre''' point each one with width = BinSize for BinSize=\frac{MaxRadius-MinRadius}{NumBins}. - -The algorithm applies a rudimentary calculation to define the bin for each that each pixel or detector in the [[Workspace2D]], but taking its center point. If the center point belongs to one bin, it is considered that the whole pixel belongs to the bin. The picture below, shows what does this means. An ideal solution for RadiusSum is the left image, while the right image is what is current implemented. - -[[File:RadiusSumSolutions.png | 300px]] - -Although the images were applied to an image [[Workspace2D]], the image below shows that it is possible to apply this algorithm to Workspaces attached to instruments. - -[[File:RadiusSumInstrument.png | 800 px]] -*WIKI*/ - - #include "MantidAlgorithms/RadiusSum.h" #include "MantidKernel/VisibleWhenProperty.h" #include "MantidKernel/ArrayLengthValidator.h" diff --git a/Code/Mantid/Framework/Algorithms/src/RayTracerTester.cpp b/Code/Mantid/Framework/Algorithms/src/RayTracerTester.cpp index bfb704a2c619..b10e56fb642c 100644 --- a/Code/Mantid/Framework/Algorithms/src/RayTracerTester.cpp +++ b/Code/Mantid/Framework/Algorithms/src/RayTracerTester.cpp @@ -1,11 +1,3 @@ -/*WIKI* - - -Algorithm to test ray tracer by spraying evenly spaced rays around. Only for debugging / testing. - - - -*WIKI*/ #include "MantidAlgorithms/RayTracerTester.h" #include "MantidAPI/FileProperty.h" #include "MantidDataObjects/Workspace2D.h" @@ -109,4 +101,3 @@ namespace Algorithms } // namespace Mantid } // namespace Algorithms - diff --git a/Code/Mantid/Framework/Algorithms/src/ReadGroupsFromFile.cpp b/Code/Mantid/Framework/Algorithms/src/ReadGroupsFromFile.cpp index 2efe210955aa..b045f98e20cc 100644 --- a/Code/Mantid/Framework/Algorithms/src/ReadGroupsFromFile.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ReadGroupsFromFile.cpp @@ -1,13 +1,3 @@ -/*WIKI* - -[[Image:ReadFromFile-Grouping.png|thumb|Instrument view of grouping using ReadFromFile with ShowUnselected=True]] -All of the detectors in each group are given the a value equal to that of the group number. Unselected detectors are given a value of 0 if ShowUnselected is true. - -The instrumentView is the best way to visualize the grouping using the "show Instrument" context menu option on the output workspace. - - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/RealFFT.cpp b/Code/Mantid/Framework/Algorithms/src/RealFFT.cpp index 0ae432ca5e5f..39ec70176ffd 100644 --- a/Code/Mantid/Framework/Algorithms/src/RealFFT.cpp +++ b/Code/Mantid/Framework/Algorithms/src/RealFFT.cpp @@ -1,12 +1,3 @@ -/*WIKI* - - -This is an algorithm for Fourier transfom of real data. It uses the GSL routines gsl_fft_real_transform and gsl_fft_halfcomplex_inverse. The result of a forward transform is a two-spectra workspace with the real and imaginary parts of the transform in position 0 and 1 correspondingly. Only positive frequencies are given and as a result the output spectra are twice as short as the input one. - -An input workspace for backward transform must have the form of the output workspace of the forward algorithm, i.e. have two spectra with the real part in the first spectrum and the imaginary part in the second one. The output workspace contains a single spectrum with the real inverse transform. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/Rebin.cpp b/Code/Mantid/Framework/Algorithms/src/Rebin.cpp index 4ce9ac175fa2..fc7a94340404 100644 --- a/Code/Mantid/Framework/Algorithms/src/Rebin.cpp +++ b/Code/Mantid/Framework/Algorithms/src/Rebin.cpp @@ -1,46 +1,3 @@ -/*WIKI* - -The algorithm rebins data with new bin boundaries. The 'params' property defines new boundaries in intervals x_i-x_{i+1}\,. Positive \Delta x_i\, make constant width bins, whilst negative ones create logarithmic binning using the formula x(j+1)=x(j)(1+|\Delta x_i|)\, - -This algorithms is useful both in data reduction, but also in remapping [[Ragged Workspace|ragged workspaces]] to a regular set of bin boundaries. - -Unless the FullBinsOnly option is enabled, the bin immediately before the specified boundaries x_2, x_3, ... x_i is likely to have a different width from its neighbours because there can be no gaps between bins. Rebin ensures that any of these space filling bins cannot be less than 25% or more than 125% of the width that was specified. - -=== Example Rebin param strings === -;-0.0001 -:From min(TOF) to max(TOF) among all events in Logarithmic bins of 0.0001 -;0,100,20000 -:From 0 rebin in constant size bins of 100 up to 20,000 -;2,-0.035,10 -:From 10 rebin in Logarithmic bins of 0.035 up to 10 -;0,100,10000,200,20000 -:From 0 rebin in steps of 100 to 10,000 then steps of 200 to 20,000 - -=== For EventWorkspaces === - -If the input is an [[EventWorkspace]] and the "Preserve Events" property is True, the rebinning is performed in place, and only the X axes of the workspace are set. The actual Y histogram data will only be requested as needed, for example, when plotting or displaying the data. - -If "Preserve Events" is false., then the output workspace will be created as a [[Workspace2D]], with fixed histogram bins, and all Y data will be computed immediately. All event-specific data is lost at that point. - -=== For Data-Point Workspaces === - -If the input workspace contains data points, rather than histograms, then Rebin will automatically use the [[ConvertToHistogram]] and [[ConvertToPointData]] algorithms before and after the rebinning has taken place. - -=== FullBinsOnly option === - -If FullBinsOnly option is enabled, each range will only contain bins of the size equal to the step specified. In other words, the will be no space filling bins which are bigger or smaller than the other ones. - -This, however, means that specified bin boundaries might get amended in the process of binning. For example, if rebin ''Param'' string is specified as "0, 2, 4.5, 3, 11" and FullBinsOnly is enabled, the following will happen: -* From 0 rebin in bins of size 2 '''up to 4'''. 4.5 is ignored, because otherwise we would need to create a filling bin of size 0.5. -* '''From 4''' rebin in bins of size 3 '''up to 10'''. -Hence the actual ''Param'' string used is "0, 2, 4, 3, 10". - -*WIKI*/ -/*WIKI_USAGE* -'''Python''' - outputW = Rebin("inputW","x1,dx1,x2") - -*WIKI_USAGE*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/Rebin2D.cpp b/Code/Mantid/Framework/Algorithms/src/Rebin2D.cpp index 1d7d0423a275..ede659574d68 100644 --- a/Code/Mantid/Framework/Algorithms/src/Rebin2D.cpp +++ b/Code/Mantid/Framework/Algorithms/src/Rebin2D.cpp @@ -1,12 +1,3 @@ -/*WIKI* - -The bin parameters are used to form an output grid. A positive \Delta x_i\, makes constant width bins, whilst negative ones create logarithmic binning using the formula x(j+1)=x(j)(1+|\Delta x_i|)\,. -The overlap of the polygons formed from the old and new grids is tested to compute the required signal weight for the each of the new bins on the workspace. The errors are summed in quadrature. - -==Requirements== -The algorithms currently requires the second axis on the workspace to be a numerical axis so [[ConvertSpectrumAxis]] may need to run first. - -*WIKI*/ //------------------------------------------------------------------------------ // Includes //------------------------------------------------------------------------------ @@ -420,4 +411,3 @@ namespace Mantid } // namespace Algorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/Algorithms/src/RebinByPulseTimes.cpp b/Code/Mantid/Framework/Algorithms/src/RebinByPulseTimes.cpp index a97b941e1d70..3720ed4230ac 100644 --- a/Code/Mantid/Framework/Algorithms/src/RebinByPulseTimes.cpp +++ b/Code/Mantid/Framework/Algorithms/src/RebinByPulseTimes.cpp @@ -1,22 +1,3 @@ -/*WIKI* -Rebins an EventWorkspace according to the pulse times of each event rather than the time of flight [[Rebin]]. The Params inputs may be expressed in an identical manner to the [[Rebin]] algorithm. -Users may either provide a single value, which is interpreted as the ''step'' (in seconds), or three comma separated values ''start'', ''step'', ''end'', where all units are in seconds, and start and end are relative to the start of the run. - -The x-axis is expressed in relative time to the start of the run in seconds. - -This algorithm may be used to diagnose problems with the electronics or data collection. Typically, detectors should see a uniform distribution of the events -generated between the start and end of the run. This algorithm allows anomalies to be detected. - -== Example of Use == - -This diagnostic algorithm is particularly useful when coupled with the Instrument View. In the example below is a real-world usage example where we were able to highlight issues with data collection on the ISIS WISH instrument. Some blocks of tubes, where tubes are arranged vertically, are missing neutrons within large block of pulse time as a result of data-buffering. After running RebinByPulseTime, we were able to find both, which banks were affected, as well as the missing pulse times for each bank. The horizontal slider in the instrument view allows us to easily integrate over a section of pulse time and see the results as a colour map. - - -[[File:RebinByPulseTime.png]] - - -*WIKI*/ - #include "MantidAlgorithms/RebinByPulseTimes.h" #include "MantidDataObjects/EventWorkspace.h" #include "MantidKernel/ArrayProperty.h" diff --git a/Code/Mantid/Framework/Algorithms/src/RebinToWorkspace.cpp b/Code/Mantid/Framework/Algorithms/src/RebinToWorkspace.cpp index c0d575d491d8..22ad20f7e1e7 100644 --- a/Code/Mantid/Framework/Algorithms/src/RebinToWorkspace.cpp +++ b/Code/Mantid/Framework/Algorithms/src/RebinToWorkspace.cpp @@ -1,9 +1,3 @@ -/*WIKI* - -Takes an input workspace and alters the binning so that all it's spectra match that of the '''first spectrum''' of the second workspace. This algorithm simply builds a parameter list that is passed to the [[Rebin]] algorithm, which actually does the work. - - -*WIKI*/ //-------------------------------- // Includes //------------------------------ diff --git a/Code/Mantid/Framework/Algorithms/src/Rebunch.cpp b/Code/Mantid/Framework/Algorithms/src/Rebunch.cpp index 731e1244d389..9ba74ac9c5e5 100644 --- a/Code/Mantid/Framework/Algorithms/src/Rebunch.cpp +++ b/Code/Mantid/Framework/Algorithms/src/Rebunch.cpp @@ -1,12 +1,3 @@ -/*WIKI* - -The algorithm rebins data by adding together ''n_bunch'' successive bins. - -*WIKI*/ -/*WIKI_USAGE* -'''Python''' - outputW = Rebunch("inputW, "3") -*WIKI_USAGE*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -300,4 +291,3 @@ namespace Mantid } // namespace Algorithm } // namespace Mantid - diff --git a/Code/Mantid/Framework/Algorithms/src/RecordPythonScript.cpp b/Code/Mantid/Framework/Algorithms/src/RecordPythonScript.cpp index 522dc9b27ff6..a8c168957215 100644 --- a/Code/Mantid/Framework/Algorithms/src/RecordPythonScript.cpp +++ b/Code/Mantid/Framework/Algorithms/src/RecordPythonScript.cpp @@ -1,7 +1,3 @@ -/*WIKI* - - -*WIKI*/ #include "MantidAlgorithms/RecordPythonScript.h" #include "MantidAPI/FileProperty.h" diff --git a/Code/Mantid/Framework/Algorithms/src/ReflectometryReductionOne.cpp b/Code/Mantid/Framework/Algorithms/src/ReflectometryReductionOne.cpp index 869fb37b30be..56fecd6c8b53 100644 --- a/Code/Mantid/Framework/Algorithms/src/ReflectometryReductionOne.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ReflectometryReductionOne.cpp @@ -1,29 +1,3 @@ -/*WIKI* -Reduces a single TOF reflectometry run into a mod Q vs I/I0 workspace. Performs transmission corrections. Handles both point detector and multidetector cases. -The algorithm can correct detector locations based on an input theta value. - -Historically the work performed by this algorithm was known as the Quick script. - -=== Analysis Modes === - -The default analysis mode is ''PointDetectorAnalysis''. Only this mode supports Transmission corrections (see below). For PointAnalysisMode -the analysis can be roughly reduced to IvsLam = DetectorWS / sum(I0) / TransmissionWS / sum(I0). The normalization by tranmission run(s) is optional. -Input workspaces are converted to ''Wavelength'' first via [[ConvertUnits]]. - -IvsQ is calculated via [[ConvertUnits]] into units of ''MomentumTransfer''. -Corrections may be applied prior to the transformation to ensure that the detectors are in the correct location according to the input Theta value. -Corrections are only enabled when a Theta input value has been provided. - -=== Transmission Runs === -Transmission correction is a normalization step, which may be applied to ''PointDetectorAnalysis'' reduction. - -Transmission runs are expected to be in TOF. The spectra numbers in the Transmission run workspaces must be the same as those in the Input Run workspace. -If two Transmission runs are provided then the Stitching parameters associated with the transmission runs will also be required. -If a single Transmission run is provided, then no stitching -parameters will be needed. - - *WIKI*/ - #include "MantidAlgorithms/ReflectometryReductionOne.h" #include "MantidGeometry/Instrument/ReferenceFrame.h" #include "MantidAPI/MatrixWorkspace.h" diff --git a/Code/Mantid/Framework/Algorithms/src/Regroup.cpp b/Code/Mantid/Framework/Algorithms/src/Regroup.cpp index 8aa56fcccdd8..47fabe66d6c4 100644 --- a/Code/Mantid/Framework/Algorithms/src/Regroup.cpp +++ b/Code/Mantid/Framework/Algorithms/src/Regroup.cpp @@ -1,15 +1,3 @@ -/*WIKI* - -Regroups data with new bin boundaries to ensure that bins have minimum width determined by the parameter \Delta x_i\,, but ensuring the bin boundaries are always coincident with original bin boundaries. The 'params' property defines new boundaries in intervals x_i-x_{i+1}\,. Positive \Delta x_i\, define constant minimum bin width, whilst negative ones create logarithmic binning x(j+1)=x(j)(1+|\Delta x_i|)\, - -The difference between Rebin and Regroup is that in the former the data in the original bins may be divided by the new bin boundaries. In the latter case, new bins are created only by combining whole bins. This is true also for the ends of the regrouped array: if the bin boundaries are 990,1010,1030,1050,...,1210, then "params" = "1000,25,1200" yields a workspace with bin boundaries 1010,1050,1090,1130,1170. - -*WIKI*/ -/*WIKI_USAGE* -'''Python''' - outputW = Regroup("inputW","x1,dx1,x2") - -*WIKI_USAGE*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/RemoveBins.cpp b/Code/Mantid/Framework/Algorithms/src/RemoveBins.cpp index 3bd03e34c0e9..4e62182cc035 100644 --- a/Code/Mantid/Framework/Algorithms/src/RemoveBins.cpp +++ b/Code/Mantid/Framework/Algorithms/src/RemoveBins.cpp @@ -1,37 +1,3 @@ -/*WIKI* - - -This algorithm removes bins from a workspace. A minimum and maximum X value to be removed needs to be provided. -This can be in a different unit to the workspace, in which case it is transformed internally. - -The treatment of the removed bins is slightly different, depending on where in the spectrum the bins to be removed lie: - -==== Bins at either end of spectrum ==== - -If the workspaces has common X binning for all spectra, then the [[CropWorkspace]] algorithm will be called as a child algorithm. -This will result in the affected bins (which includes the bin in which the boundary - XMin or XMax - lies) being removed completely, -leading to the output workspace having fewer bins than the input one. -In the case where the X binning varies from spectrum to spectrum, the bin values will be set to zero regardless of the setting of the Interpolation property. - -==== Bins in the middle of a spectrum ==== - -The Interpolation property is applicable to this situation. -If it is set to "Linear" then the bins are set to values calculated from the values of the bins on either side of the range. -If set to "None" then bins entirely within the range given are set to zero whilst the bins in which the boundary fall have their values scaled -in proportion to the percentage of the bin's width which falls outside XMin or XMax as appropriate. - -==== Restrictions on the input workspace ==== - -* The input workspace must have a unit set -* The input workspace must contain histogram data - -==Related Algorithms== -===MaskBins=== -[[MaskBins]] will set the data in the desired bins to 0 and importantly also marks those bins as masked, -so that further algorithms should not include this data in their grouping calculations. -This is particularly used for Diffraction Focussing. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/RemoveExpDecay.cpp b/Code/Mantid/Framework/Algorithms/src/RemoveExpDecay.cpp index 17538acd69e5..fed9f4e43d06 100644 --- a/Code/Mantid/Framework/Algorithms/src/RemoveExpDecay.cpp +++ b/Code/Mantid/Framework/Algorithms/src/RemoveExpDecay.cpp @@ -1,20 +1,3 @@ -/*WIKI* - - - -This algorithm removes the exponential time decay from a specified muon spectra. By default, all the spectra in a workspace will be corrected. - -The formula for removing the exponential decay is given by: - -: NewData = (OldData\times{e^\frac{t}{\tau}})/N_0 - 1.0 - -where Ï„ is the muon lifetime (2.197019e-6 seconds). N_0 is a fitted normalisation constant. - - - - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -287,5 +270,3 @@ double MuonRemoveExpDecay::calNormalisationConst(API::MatrixWorkspace_sptr ws, i } // namespace Algorithm } // namespace Mantid - - diff --git a/Code/Mantid/Framework/Algorithms/src/RemoveLowResTOF.cpp b/Code/Mantid/Framework/Algorithms/src/RemoveLowResTOF.cpp index f191c2535cad..11d124ae2665 100644 --- a/Code/Mantid/Framework/Algorithms/src/RemoveLowResTOF.cpp +++ b/Code/Mantid/Framework/Algorithms/src/RemoveLowResTOF.cpp @@ -1,7 +1,3 @@ -/*WIKI* - - -*WIKI*/ #include "MantidAlgorithms/AlignDetectors.h" #include "MantidAlgorithms/RemoveLowResTOF.h" #include "MantidAPI/WorkspaceValidators.h" diff --git a/Code/Mantid/Framework/Algorithms/src/RemovePromptPulse.cpp b/Code/Mantid/Framework/Algorithms/src/RemovePromptPulse.cpp index db43a3689ed8..8c570691fb45 100644 --- a/Code/Mantid/Framework/Algorithms/src/RemovePromptPulse.cpp +++ b/Code/Mantid/Framework/Algorithms/src/RemovePromptPulse.cpp @@ -1,7 +1,3 @@ -/*WIKI* - - -*WIKI*/ #include "MantidAlgorithms/RemovePromptPulse.h" #include "MantidAPI/WorkspaceValidators.h" #include "MantidDataObjects/EventWorkspace.h" @@ -214,4 +210,3 @@ namespace { // anonymous namespace begin } } // namespace Mantid } // namespace Algorithms - diff --git a/Code/Mantid/Framework/Algorithms/src/RenameWorkspace.cpp b/Code/Mantid/Framework/Algorithms/src/RenameWorkspace.cpp index f2ec76ea0d86..5460a55ca7d5 100644 --- a/Code/Mantid/Framework/Algorithms/src/RenameWorkspace.cpp +++ b/Code/Mantid/Framework/Algorithms/src/RenameWorkspace.cpp @@ -1,11 +1,3 @@ -/*WIKI* - - -Renames a workspace to a different name in the data service. If the same name is provided for input and output then the algorithm will fail with an error. The Renaming is implemented as a removal of the original workspace from the data service and re-addition under the new name. - -If run on a group workspace, the members of the group will be renamed if their names follow the pattern groupName_1, groupName_2, etc. (they will be renamed to newName_1, newname_2, etc.). Otherwise, only the group itself will be renamed - the members will keep their previous names. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -119,4 +111,3 @@ bool RenameWorkspace::processGroups() } // namespace Algorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/Algorithms/src/RenameWorkspaces.cpp b/Code/Mantid/Framework/Algorithms/src/RenameWorkspaces.cpp index 6651306ca58e..b31a455f740b 100644 --- a/Code/Mantid/Framework/Algorithms/src/RenameWorkspaces.cpp +++ b/Code/Mantid/Framework/Algorithms/src/RenameWorkspaces.cpp @@ -1,16 +1,3 @@ -/*WIKI* - -Renames a list of workspaces in the data service. -This renaming is done by either replacing with new names in a list or adding a prefix, suffix or both prefix and suffix. -The Renaming is implemented by calling RenameWorkspace as a child algorithm having defined the output workspace appropriately. - -If run on a group workspace, the members of the group will be renamed in the same manner as done by RemameWorkspace. - -The new names can be either explicitly defined by a comma separated list or by adding a prefix, suffix or both a prefix and suffix. - -'''Warning:''' No new name can be the same as any existing workspace, even if that existing workspace is also being renamed. Duplicate names may cause the loss of a workspace. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -125,4 +112,3 @@ void RenameWorkspaces::exec() } // namespace Algorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/Algorithms/src/ReplaceSpecialValues.cpp b/Code/Mantid/Framework/Algorithms/src/ReplaceSpecialValues.cpp index fb36e09113ad..f1f9b8a44481 100644 --- a/Code/Mantid/Framework/Algorithms/src/ReplaceSpecialValues.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ReplaceSpecialValues.cpp @@ -1,12 +1,3 @@ -/*WIKI* - -The algorithm searches over all of the values in a workspace and if it finds a value set to NaN (not a number), infinity or larger than the 'big' threshold given then that value and the associated error is replaced by the user provided values. - -If no value is provided for either NaNValue, InfinityValue or BigValueThreshold then the algorithm will exit with an error, as in this case it would not be checking anything. - -Algorithm is now event aware. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/ResampleX.cpp b/Code/Mantid/Framework/Algorithms/src/ResampleX.cpp index b91bc1f1c273..51e64ddeb7eb 100644 --- a/Code/Mantid/Framework/Algorithms/src/ResampleX.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ResampleX.cpp @@ -1,11 +1,3 @@ -/*WIKI* - -This method will resample the x-axis with the number of specified bins. If the XMin and XMax parameters are supplied it will use those as the range, they can be supplied as a comma delimited list or as a single value. - -The LogBinning option calculates constant delta-X/X binning and rebins using that. - -*WIKI*/ - #include #include "MantidAlgorithms/ResampleX.h" #include "MantidAPI/WorkspaceValidators.h" diff --git a/Code/Mantid/Framework/Algorithms/src/ResetNegatives.cpp b/Code/Mantid/Framework/Algorithms/src/ResetNegatives.cpp index 1c3ae281f9f7..f77b39369634 100644 --- a/Code/Mantid/Framework/Algorithms/src/ResetNegatives.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ResetNegatives.cpp @@ -1,11 +1,3 @@ -/*WIKI* -This algorithm will search through the input workspace for values less than zero -and make them positive according to the properties. If "AddMinimum" is "true" then -all values will have -1*min for the spectrum added to them if the minimum is less -than zero. Otherwise all values that are less than zero will be set to "ResetValue" -which has a default of 0. -*WIKI*/ - #include "MantidAlgorithms/ResetNegatives.h" #include "MantidDataObjects/EventWorkspace.h" #include "MantidKernel/EnabledWhenProperty.h" diff --git a/Code/Mantid/Framework/Algorithms/src/ResizeRectangularDetector.cpp b/Code/Mantid/Framework/Algorithms/src/ResizeRectangularDetector.cpp index 64f97387f56c..0b5b4824abc4 100644 --- a/Code/Mantid/Framework/Algorithms/src/ResizeRectangularDetector.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ResizeRectangularDetector.cpp @@ -1,23 +1,3 @@ -/*WIKI* - -This algorithm will resize a [[RectangularDetector]] by applying X and Y scaling factors. -Each pixel's position will be modifed relative to the 0,0 point of the detector by these factors. -Typically, a RectangularDetector is constructed around its center, so this would scale the detector around its center. - -This only works on [[RectangularDetector]]s. Banks formed by e.g. tubes cannot be scaled in this way. - -Internally, this sets the "scalex" and "scaley" parameters on the [[RectangularDetector]]. -Note that the scaling is relative to the original size, and is not cumulative: that is, -if you Resize * 2 and again * 3, your final detector is 3 times larger than the original, not 6 times. - -Note: As of this writing, the algorithm does NOT modify the shape of individual pixels. This means -that algorithms based on solid angle calculations might be off. -Ray-tracing (e.g. peak finding) are unaffected. - -See also [[MoveInstrumentComponent]] and [[RotateInstrumentComponent]] for other ways to move components. - -*WIKI*/ - #include "MantidAlgorithms/ResizeRectangularDetector.h" #include "MantidKernel/System.h" #include "MantidAPI/WorkspaceProperty.h" diff --git a/Code/Mantid/Framework/Algorithms/src/RingProfile.cpp b/Code/Mantid/Framework/Algorithms/src/RingProfile.cpp index bbd294833512..b6cfaec7f1b8 100644 --- a/Code/Mantid/Framework/Algorithms/src/RingProfile.cpp +++ b/Code/Mantid/Framework/Algorithms/src/RingProfile.cpp @@ -1,40 +1,3 @@ -/*WIKI* -RingProfile sums the counts against a ring. - -Below, there is an example of the execution of the RingProfile to a [[Workspace2D]] where the position of the pixels are not associated -to detector positions, but it is derived from the [[Interacting_with_Matrix_Workspaces#Axes | Axes]]. - -[[File:ExecuteRingProfile.png | 800px]] - -The image below shows a visual interpretation for the inputs of the algorithm - -[[File:RingProfileInputsView.png]] - -The algorithm goes through each pixel and find its distance from the center. If it relies inside the defined ring, it checks the angle -between the pixel position and the center and uses this information to define the bin where to put the count for that pixel. - -The RingProfile is also defined for Workspace2D which has the positions based on the detectors, as you can see in the picture below. - -[[File:RingProfileInstrument.png | 800px ]] - -In this case, the inputs of the algorithm is like the image below - -[[File:Ringprofileinstrument.png]] - -The algorithm does to each spectrum, get the associated detector from which it get the positions. From the positions it work out if it belongs or not to the ring and in which bin it must be placed. It finally accumulate all the spectrum values inside the target bin. - -It is possible to setup the ''StartAngle'' from where to starting the Ring as well as the Sense, if in clockwise direction or anti-clockwise direction. But, -the resulting workspace will always place the bins in a relative angle position from the start. Which means that for anti-clockwise sense, the real 3D angle -is: - -RealAngle = StartAngle + Angle - -While for clockwise sense, the real 3D angle is: - -RealAngle = StartAngle - Angle - -*WIKI*/ - #include "MantidAlgorithms/RingProfile.h" #include "MantidKernel/ArrayProperty.h" #include "MantidKernel/ArrayBoundedValidator.h" diff --git a/Code/Mantid/Framework/Algorithms/src/SANSDirectBeamScaling.cpp b/Code/Mantid/Framework/Algorithms/src/SANSDirectBeamScaling.cpp index 9c102419118d..88c4ce546574 100644 --- a/Code/Mantid/Framework/Algorithms/src/SANSDirectBeamScaling.cpp +++ b/Code/Mantid/Framework/Algorithms/src/SANSDirectBeamScaling.cpp @@ -1,7 +1,3 @@ -/*WIKI* - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -164,4 +160,3 @@ void SANSDirectBeamScaling::exec() } // namespace Algorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/Algorithms/src/SassenaFFT.cpp b/Code/Mantid/Framework/Algorithms/src/SassenaFFT.cpp index f97087a3b189..24f1aa382daa 100644 --- a/Code/Mantid/Framework/Algorithms/src/SassenaFFT.cpp +++ b/Code/Mantid/Framework/Algorithms/src/SassenaFFT.cpp @@ -1,27 +1,3 @@ -/*WIKI* - -The Sassena application [http://sassena.org] generates intermediate scattering factors from molecular dynamics trajectories. This algorithm reads Sassena output and stores all data in workspaces of type [[Workspace2D]], grouped under a single [[WorkspaceGroup]]. It is implied that the time unit is one '''picosecond'''. - -Sassena ouput files are in HDF5 format [http://www.hdfgroup.org/HDF5], and can be made up of the following datasets: ''qvectors'', ''fq'', ''fq0'', ''fq2'', and ''fqt'' - -The group workspace should contain workspaces '''_fqt.Re''' and '''_fqt.Im''' containing the real and imaginary parts of the intermediate structure factor, respectively. This algorithm will take both and perform [[FFT]], storing the real part of the transform in workspace '''_fqw''' and placing this workspace under the input group workspace. Assuming the time unit to be one picosecond, the resulting energies will be in units of one '''micro-eV'''. - -The Schofield correction (P. Schofield, ''Phys. Rev. Letters'' '''4'''(5), 239 (1960)) is optionally applied to the resulting dynamic structure factor to reinstate the detailed balance condition -S(Q,\omega)=e^{\beta \hbar \omega}S(-Q,-\omega). - -== Details == - -=== Parameter FFTonlyRealPart === - -Setting parameter FFTonlyRealPart to true will produce a transform on only the real part of I(Q,t). This is convenient if we know that I(Q,t) should be real but a residual imaginary part was left in a Sassena calculation due to finite orientational average in Q-space. - - -Below are plots after application of SassenaFFT to I(Q,t) = e^{-t^2/(2\sigma^2)} + i\cdot t \cdot e^{-t^2/(2\sigma^2)} with \sigma=1ps. Real an imaginary parts are shown in panels (a) and (b). Note that I(Q,t)*=I(Q,-t). If only Re[I(Q,t)] is transformed, the result is another Gaussian: \sqrt{2\pi}\cdot e^{-E^2/(2\sigma'^2)} with \sigma'=4,136/(2\pi \sigma) in units of \mueV (panel (c)). If I(Q,t) is transformed, the result is a modulated Gaussian: (1+\sigma' E)\sqrt{2\pi}\cdot e^{-E^2/(2\sigma'^2)}(panel (d)). - -[[Image:SassenaFFTexample.jpg|center|x800px|alt=Application of SassenaFFT to a I(Q,t)]] - - *WIKI*/ - //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/SaveGSASInstrumentFile.cpp b/Code/Mantid/Framework/Algorithms/src/SaveGSASInstrumentFile.cpp index bea91a599f81..ea78a38b8abc 100644 --- a/Code/Mantid/Framework/Algorithms/src/SaveGSASInstrumentFile.cpp +++ b/Code/Mantid/Framework/Algorithms/src/SaveGSASInstrumentFile.cpp @@ -1,40 +1,3 @@ -/*WIKI* - -Convert Fullprof's instrument resolution file (.irf) to GSAS's instrument file (.iparm/.prm). - -==== Supported peak profiles ==== -* Time-of-flight back-to-back exponential convoluted with pseudo-voigt (planned) -** Fullprof: Profile 9; -** GSAS: Type 3 TOF profile. - -* Thermal neutron time-of-flight back-to-back exponential convoluted with pseudo-voigt (implemented) -** Fullprof: Profile 10; -** GSAS: tabulated peak profile. - -==== Supported input Fullprof file ==== -There can be several types of Fullprof files as the input file -* resolution file .irf (implemented) -* configuration file .pcr (planned) - -==== Set up 2\theta ==== -There are several places in this algorithm that can set the value of 2\theta. From the highest priority, here is the list how 2\theta is set up. - 1. Algorithms' input property ''2Theta''; - 2. Either input TableWorkspace or input Fullprof resolution (.irf) file; - 3. Hard coded default 2\theta of a certain instrument. - -==== Set up L_1 ==== -There are 2 places in this algorithm that can set the value of L_1. From the highest priority, here is the list how 2\theta is set up. - 1. Algorithms' input property ''L1''; - 2. Hard coded default 2\theta of a certain instrument. - -==== Calculation of L2 ==== -* If 2Theta (2\theta) is given, L2 will be calculated from given 2Theta and L1 by DIFC = 252.816\cdot2sin(\theta)\sqrt{L1+L2}. Notice that 2\theta given in input .irf file may have subtle difference to "2Theta", which is input by user in order to calculate L2. - -* If "2Theta" (2\theta) is not given, L2 will be read from user input. - - -*WIKI*/ - #include "MantidAlgorithms/SaveGSASInstrumentFile.h" #include "MantidAPI/FrameworkManager.h" #include "MantidAPI/FileProperty.h" @@ -1191,5 +1154,3 @@ ChopperConfiguration::ChopperConfiguration(const int freq, const std::string& ba } // namespace Algorithms } // namespace Mantid - - diff --git a/Code/Mantid/Framework/Algorithms/src/Scale.cpp b/Code/Mantid/Framework/Algorithms/src/Scale.cpp index 94a4509f5ce6..26d7cb1e7572 100644 --- a/Code/Mantid/Framework/Algorithms/src/Scale.cpp +++ b/Code/Mantid/Framework/Algorithms/src/Scale.cpp @@ -1,9 +1,3 @@ -/*WIKI* - -Uses the binary operation algorithms [[Multiply]] or [[Plus]] to scale the input workspace by the amount requested. This algorithm is provided as a simple, but less powerful, alternative to the python [[Workspace_Algebra|workspace algebra]] functionality. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -58,4 +52,3 @@ void Scale::exec() } // namespace Algorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/Algorithms/src/ScaleX.cpp b/Code/Mantid/Framework/Algorithms/src/ScaleX.cpp index d53241803580..e95a0f3d6709 100644 --- a/Code/Mantid/Framework/Algorithms/src/ScaleX.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ScaleX.cpp @@ -1,11 +1,3 @@ -/*WIKI* - -Scales the X axis and everty unique X-coordinate of a histogram or every event of the input workspace by the amount requested. -* The amount can be specified either as: -* an absolute numerical value via the "Factor" argument or -* an detector parameter name whose value is retrieved from the instrument. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -287,7 +279,3 @@ double ScaleX::getScaleFactor(const API::MatrixWorkspace_const_sptr & inputWS, c } // namespace Algorithm } // namespace Mantid - - - - diff --git a/Code/Mantid/Framework/Algorithms/src/SetInstrumentParameter.cpp b/Code/Mantid/Framework/Algorithms/src/SetInstrumentParameter.cpp index 67a7641407be..9b6af27c8b1b 100644 --- a/Code/Mantid/Framework/Algorithms/src/SetInstrumentParameter.cpp +++ b/Code/Mantid/Framework/Algorithms/src/SetInstrumentParameter.cpp @@ -1,14 +1,3 @@ -/*WIKI* -This algorithm adds or replaces an parameter attached to an instrument component, or the entire instrument. -Instrument parameters are specific to a workspace, they will get carried on to output workspaces created from an input workspace to an algorithm, -but will not appear one unrelated workspaces that happen to have been recorded on the same instrument. - -The workspace must have a instrument already defined, and will be altered in place. -If the name of the instrument component to attach the parameter is not specified it will be attached to the whole instrument. - -At present this algorithm only supports simple instrument parameters, NOT fitting parameters. -*WIKI*/ - #include "MantidAlgorithms/SetInstrumentParameter.h" #include "MantidKernel/ArrayProperty.h" #include "MantidKernel/MandatoryValidator.h" diff --git a/Code/Mantid/Framework/Algorithms/src/SetUncertainties.cpp b/Code/Mantid/Framework/Algorithms/src/SetUncertainties.cpp index be70e2a4be3e..7e20700bd317 100644 --- a/Code/Mantid/Framework/Algorithms/src/SetUncertainties.cpp +++ b/Code/Mantid/Framework/Algorithms/src/SetUncertainties.cpp @@ -1,7 +1,3 @@ -/*WIKI* - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -96,4 +92,3 @@ void SetUncertainties::exec() } // namespace Algorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/Algorithms/src/ShiftLogTime.cpp b/Code/Mantid/Framework/Algorithms/src/ShiftLogTime.cpp index 017fcfe9ade2..c97dd6bbd01c 100644 --- a/Code/Mantid/Framework/Algorithms/src/ShiftLogTime.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ShiftLogTime.cpp @@ -1,7 +1,3 @@ -/*WIKI* - - -*WIKI*/ #include "MantidAlgorithms/ShiftLogTime.h" #include "MantidKernel/System.h" #include "MantidKernel/TimeSeriesProperty.h" @@ -143,4 +139,3 @@ namespace Algorithms } // namespace Mantid } // namespace Algorithms - diff --git a/Code/Mantid/Framework/Algorithms/src/SignalOverError.cpp b/Code/Mantid/Framework/Algorithms/src/SignalOverError.cpp index 79624c4bb03c..4ca237c874fb 100644 --- a/Code/Mantid/Framework/Algorithms/src/SignalOverError.cpp +++ b/Code/Mantid/Framework/Algorithms/src/SignalOverError.cpp @@ -1,9 +1,3 @@ -/*WIKI* - -Take a [[MatrixWorkspace]] as input, and replaces the Y values by Y/E (signal divided by error) - -*WIKI*/ - #include "MantidAlgorithms/SignalOverError.h" #include "MantidKernel/System.h" diff --git a/Code/Mantid/Framework/Algorithms/src/SmoothData.cpp b/Code/Mantid/Framework/Algorithms/src/SmoothData.cpp index b8175dc94d35..248aa98b8430 100644 --- a/Code/Mantid/Framework/Algorithms/src/SmoothData.cpp +++ b/Code/Mantid/Framework/Algorithms/src/SmoothData.cpp @@ -1,11 +1,3 @@ -/*WIKI* - - -Smooths out statistical jitter in a workspace's data by making each point the mean average of itself and -one or more points lying symmetrically either side of it. The statistical error on each point will be reduced by sqrt(npts) because more data is now contributing to it. For points at the end of each spectrum, a reduced number of smoothing points will be used. For example, if NPoints is 5 the first value in the spectrum will be smoothed by making it the average of the first 3 values, the next will use the first 4 and then the third and onwards will use the full 5 points in the averaging. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/SmoothNeighbours.cpp b/Code/Mantid/Framework/Algorithms/src/SmoothNeighbours.cpp index d9f1c1ff24ea..b3e456cc6150 100644 --- a/Code/Mantid/Framework/Algorithms/src/SmoothNeighbours.cpp +++ b/Code/Mantid/Framework/Algorithms/src/SmoothNeighbours.cpp @@ -1,98 +1,3 @@ -/*WIKI* - -This algorithm performs a moving-average smoothing of data by summing spectra of nearest neighbours over the face of detectors. -The output workspace has the same number of spectra as the input workspace. -This works on both [[EventWorkspace]]s and [[Workspace2D]]'s. -It has two main modes of operation. - -=== Processing Either Generically or Assuming Rectangular Detectors === - -You may either specify properties for the Rectangular Detector Group, or the Non-uniform Detector Group, but not both. If you provide inputs for the Rectangular Detector group, -then the algorithm execution will assume that this is your desired processing route. - -=== For All Instruments === - -Going through the input workspace pixel-by-pixel, Mantid finds the nearest-neighbours with the given Radius of each -pixel. The spectra are then summed together, and normalizing to unity (see the weighting section below). - -=== For Instruments With Rectangular Detectors === - -The algorithm looks through the [[Instrument]] to find all the [[RectangularDetector]]s defined. -For each pixel in each detector, the AdjX*AdjY neighboring spectra are summed together and saved in the output workspace. - -=== WeightedSum parameter === - -A weighting strategy can be applied to control how the weights are calculated. This defaults to a flat weighting strategy. Weights are summed and scaled so that they add up to 1. - -==== Flat Weighting ==== - -All weights are 1. This is completely position in-senitive. - -==== Linear Weighting ==== - -Weights are calculated according to w = 1 - r/R, where w is the weighting factor, r is the distance from the detector and R is the cut-off radius. - -==== Parabolic Weighting ==== -For rectangular detectors it may be used as follows: The radius must be zero and a AdjX and AdjY parameter must be provided. w = AdjX - abs(x) + AdjY - abs(y) + 1 - -For non-rectangular detectors, the cut-off radius is used in the calculation. w = R - abs(x) + R - abs(y) + 1 - -==== Gaussian Weighting ==== -This weighting is calculated from the Gaussian distribution - -w = e^{-r^2/(2\sigma^2)} - -where r^2 = x^2 + y^2 + z^2 -and \sigma is the number of standard deviations controlling the width of the distribution curve - -Important notes about this algorithm are that: -* Distances are normalised by the radius cut-off to make them dimensionless and scaled to 1 at the boundaries. - -=== For EventWorkspaces === - -Both methods of smoothing will '''significantly''' increase the memory usage of -the workspace. For example, if AdjX=AdjY=1, the algorithm will sum 9 nearest neighbours in most cases. -This increases the memory used by a factor of 9. - -=== For Workspace2D's === - -You can use PreserveEvents = false to avoid the memory issues with an EventWorkspace input. -Please note that the algorithm '''does not check''' that the bin X boundaries match. - -=== Neighbour Searching === - -File:NNSearchByRadius.jpg|''Fig. 1''. -File:NNSearchIrregularGrid.jpg|''Fig. 2''. -File:NNSearchLimitByRadius.jpg|''Fig. 3'' -File:NNSearchLimitByNNs.jpg|''Fig. 4'' -File:NNSearchXY.jpg|''Fig. 5'' - - -==== Property Values of Examples ==== - -''Fig. 1'' : Requesting NumberOfNeighbours=36, Radius=3. Algorithm looks for 36 nearest neighbours with a cut-off of 3 detector widths.
-''Fig. 2'' : Requesting NumberOfNeighbours=46, Radius=2. Algorithm looks for 46 nearest neighbours with a cut-off of 2 detector widths.
-''Fig. 3'' : Requesting NumberOfNeighbours=56, Radius=3. Algorithm looks for 56 nearest neighbours with a cut-off of 3 detector widths.
-''Fig. 4'' : Requesting NumberOfNeighbours=8, Radius=3. Algorithm looks for 8 nearest neighbours with a cut-off of 3 detector widths.
-''Fig. 5'' : Requesting AdjX=4, AdjY=2, Radius=0. Algorithm fetches neighbours in the specified pattern. - -==== How it Works ==== - -The algorithm will fetch neigbours using the intesection of those inside the radius cut-off and those less than the NumberOfNeighbours specified. ''Fig. 1'' illustrates this process. Searching is relative to the central detector, those constrained by both specified number of neighbours have been highlighted. In this case the radius cut-off and the number of neighbours constrain the same number of detectors. - -Searching via the number of neighbours will not necessarily return the neighbours in a grid with the same number of detectors in each axis. ''Fig. 2'' shows how neighbours might be returned if distances are non-uniform. If RectangularDetectors are available, you may force the searching to occur in rectangular manner (described below). - -The SmoothingNeighbours algorithm will only take those neighbours which are in the intersection between those constrained by the cut-off and those constrained by the specified number of neighbours. If the radius cut-off is the limiting factor, then those neighbours outside will not be considered. This is illustrated in ''Fig. 3'' where the blue detectors will not be considered, but will not with this radius cut-off, while the green ones will. Likewise, in ''Fig. 4'' the effect of reducing the NumberOfNeighbours property can be seen. - -If the radius is set to 0, the instrument is treated as though it has rectangular detectors. AdjX and AdjY can then be used to control the number of neighbours independently in x and y using the AdjX and AdjY properties. ''Fig. 5'' Shows the effect of this type of searching. - -=== Ignore Masks === - -The algorithm will ignore masked detectors if this flag is set. - -*WIKI*/ - - #include "MantidAlgorithms/SmoothNeighbours.h" #include "MantidAPI/WorkspaceValidators.h" #include "MantidDataObjects/EventList.h" diff --git a/Code/Mantid/Framework/Algorithms/src/SofQW.cpp b/Code/Mantid/Framework/Algorithms/src/SofQW.cpp index b7d213b5339d..7dcac862d269 100644 --- a/Code/Mantid/Framework/Algorithms/src/SofQW.cpp +++ b/Code/Mantid/Framework/Algorithms/src/SofQW.cpp @@ -1,15 +1,3 @@ -/*WIKI* - - -This algorithm is for use by inelastic instruments and takes as its input a workspace where the data's been reduced to be in units of energy transfer against spectrum number (which can be seen as equivalent to angle, with the angle being taken from the detector(s) to which the spectrum pertains). -For each bin the value of momentum transfer (q) is calculated, and the counts for that bin are assigned to the appropriate q bin. - -The energy binning will not be changed by this algorithm, so the input workspace should already have the desired bins (though this axis can be rebinned afterwards if desired). The EMode and EFixed parameters are required for the calculation of q. - -If the input workspace is a distribution (i.e. counts / meV ) then the output workspace will similarly be divided by the bin width in both directions (i.e. will contain counts / meV / (1/Angstrom) ). - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/SofQW2.cpp b/Code/Mantid/Framework/Algorithms/src/SofQW2.cpp index 7bdf91e8aa34..6ae7b906fd65 100755 --- a/Code/Mantid/Framework/Algorithms/src/SofQW2.cpp +++ b/Code/Mantid/Framework/Algorithms/src/SofQW2.cpp @@ -1,7 +1,3 @@ -/*WIKI* -Converts a 2D workspace from units of spectrum number/energy transfer to the intensity as a function of momentum transfer and energy. The rebinning is done as a weighted sum of overlapping polygons. - - *WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -241,4 +237,3 @@ namespace Mantid } // namespace Mantid } // namespace Algorithms - diff --git a/Code/Mantid/Framework/Algorithms/src/SofQW3.cpp b/Code/Mantid/Framework/Algorithms/src/SofQW3.cpp index fa6342042ea8..2a9f3511214c 100644 --- a/Code/Mantid/Framework/Algorithms/src/SofQW3.cpp +++ b/Code/Mantid/Framework/Algorithms/src/SofQW3.cpp @@ -1,19 +1,3 @@ -/*WIKI* -Converts a 2D workspace from units of spectrum number, energy transfer to the -intensity as a function of momentum transfer and energy. The rebinning is done -as a weighted sum of overlapping polygons with fractional area tracking. The -result is stored in a new workspace type: '''RebinnedOutput'''. The new workspace -presents the data as the fractional counts divided by the fractional area. -The biggest consequence of this method is that in places where there are no -counts and no acceptance (no fractional areas), '''nan'''s will result. - -The algorithm operates in non-PSD mode by default. This means that all azimuthal -angles and widths are forced to zero. PSD mode will determine the azimuthal -angles and widths from the instrument geometry. This mode is activated by -placing the following named parameter in a Parameter file: ''detector-neighbour-offset''. -The integer value of this parameter should be the number of pixels that separates -two pixels at the same vertical position in adjacent tubes. -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -433,4 +417,3 @@ namespace Algorithms } // namespace Mantid } // namespace Algorithms - diff --git a/Code/Mantid/Framework/Algorithms/src/SolidAngle.cpp b/Code/Mantid/Framework/Algorithms/src/SolidAngle.cpp index 38a628f235dd..d4ca224daae9 100644 --- a/Code/Mantid/Framework/Algorithms/src/SolidAngle.cpp +++ b/Code/Mantid/Framework/Algorithms/src/SolidAngle.cpp @@ -1,16 +1,3 @@ -/*WIKI* - - -The algorithm calculates solid angles from the sample position of the input workspace for all of the spectra selected. If several detectors have been mapped to the same spectrum then the solid angles of this detectors will be summed to provide the solid angle for the spectrum. -The solid angle of a detector that has been masked or marked as dead is considered to be 0 steradians. - -This algorithms can happily accept [[Ragged Workspace|ragged workspaces]] as an input workspace. The result would be a ragged output workspace whose X axis values match the lowest and highest of each the input spectra. - -Note: The Solid angle calculation assumes that the path between the sample and detector is unobstructed by another other instrument components. - - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/SortEvents.cpp b/Code/Mantid/Framework/Algorithms/src/SortEvents.cpp index 6ffba16bc675..d8184c3f904e 100644 --- a/Code/Mantid/Framework/Algorithms/src/SortEvents.cpp +++ b/Code/Mantid/Framework/Algorithms/src/SortEvents.cpp @@ -1,15 +1,3 @@ -/*WIKI* - - - - -In an [[EventWorkspace]], event binning is performed on the fly. The algorithm for binning requires a list of events sorted by time of flight, so it will perform a sort (once) on each pixel - however, this is done on request and without using multiple CPUs). To speed up the calculation, the Sort algorithm pre-sorts by Time of Flight, using multiple CPUs. Using this algorithm is completely optional. - - - - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/SpatialGrouping.cpp b/Code/Mantid/Framework/Algorithms/src/SpatialGrouping.cpp index 7461e26141e2..c253e1cfc23c 100644 --- a/Code/Mantid/Framework/Algorithms/src/SpatialGrouping.cpp +++ b/Code/Mantid/Framework/Algorithms/src/SpatialGrouping.cpp @@ -1,21 +1,3 @@ -/*WIKI* - - -This algorithm creates an XML Grouping file of the form: - -
- - - - - - -
- -Based on information retrieved from the [[Nearest Neighbours]] class in Mantid Geometry. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/SpecularReflectionCalculateTheta.cpp b/Code/Mantid/Framework/Algorithms/src/SpecularReflectionCalculateTheta.cpp index 009708a3e3d3..b6972db48196 100644 --- a/Code/Mantid/Framework/Algorithms/src/SpecularReflectionCalculateTheta.cpp +++ b/Code/Mantid/Framework/Algorithms/src/SpecularReflectionCalculateTheta.cpp @@ -1,17 +1,3 @@ -/*WIKI* - -Uses the Specular reflection condition ThetaIn == ThetaOut to calculate and return a corrected ThetaIn. - - -2*ThetaOut = tan^{-1}\frac{UpOffset}{BeamOffset} - - -The calculated theta value in degrees is returned by the algorithm. - -Also see [[SpecularReflectionPositionCorrect]] - -*WIKI*/ - #include "MantidAlgorithms/SpecularReflectionCalculateTheta.h" #include "MantidKernel/PropertyWithValue.h" #include "MantidGeometry/IComponent.h" diff --git a/Code/Mantid/Framework/Algorithms/src/SpecularReflectionPositionCorrect.cpp b/Code/Mantid/Framework/Algorithms/src/SpecularReflectionPositionCorrect.cpp index d7d273d4caf1..7824160677e8 100644 --- a/Code/Mantid/Framework/Algorithms/src/SpecularReflectionPositionCorrect.cpp +++ b/Code/Mantid/Framework/Algorithms/src/SpecularReflectionPositionCorrect.cpp @@ -1,19 +1,3 @@ -/*WIKI* - -Uses the specular reflection condition along with a supplied theta value to vertically shift the detectors into a corrected location. - -ThetaIn == ThetaOut - -and - - - 2*ThetaOut = tan^{-1}\frac{UpOffset}{BeamOffset} - - -For LineDetectors and MultiDetectors, the algorithm uses an average of grouped detector locations to determine the detector position. - -*WIKI*/ - #include "MantidAlgorithms/SpecularReflectionPositionCorrect.h" #include "MantidAPI/WorkspaceValidators.h" #include "MantidKernel/BoundedValidator.h" diff --git a/Code/Mantid/Framework/Algorithms/src/SphericalAbsorption.cpp b/Code/Mantid/Framework/Algorithms/src/SphericalAbsorption.cpp index 29b6593a9ee6..cd34c0f4708c 100644 --- a/Code/Mantid/Framework/Algorithms/src/SphericalAbsorption.cpp +++ b/Code/Mantid/Framework/Algorithms/src/SphericalAbsorption.cpp @@ -1,9 +1,3 @@ -/*WIKI* - -Calculates bin-by-bin correction factors for attenuation due to absorption and scattering in a '''spherical''' sample. Sample data must be divided by these corrections. -Algorithm calls [[AnvredCorrection]]. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/StripPeaks.cpp b/Code/Mantid/Framework/Algorithms/src/StripPeaks.cpp index c42e3bb94f79..115d9e4d06d4 100644 --- a/Code/Mantid/Framework/Algorithms/src/StripPeaks.cpp +++ b/Code/Mantid/Framework/Algorithms/src/StripPeaks.cpp @@ -1,13 +1,3 @@ -/*WIKI* - - -This algorithm is intended to automatically find all the peaks in a dataset and subtract them, leaving just the residual 'background'. - -====ChildAlgorithms used==== -The [[FindPeaks]] algorithm is used to identify the peaks in the data. - - -*WIKI*/ #include "MantidAlgorithms/StripPeaks.h" #include "MantidKernel/ArrayProperty.h" #include "MantidKernel/PhysicalConstants.h" diff --git a/Code/Mantid/Framework/Algorithms/src/StripVanadiumPeaks.cpp b/Code/Mantid/Framework/Algorithms/src/StripVanadiumPeaks.cpp index 8765d406c01f..0cc002c7cb9b 100644 --- a/Code/Mantid/Framework/Algorithms/src/StripVanadiumPeaks.cpp +++ b/Code/Mantid/Framework/Algorithms/src/StripVanadiumPeaks.cpp @@ -1,15 +1,3 @@ -/*WIKI* - -* A list of vanadium peak positions in d-spacing is used for the central peak positions: 0.5044,0.5191,0.5350,0.5526,0.5936,0.6178,0.6453,0.6768,0.7134,0.7566,0.8089,0.8737,0.9571,1.0701,1.2356,1.5133,2.1401 -** You can specify AlternativePeakPositions to use other value (e.g. in other units). - -* The PeakWidthPercent value is used to estimate the width of the peak (as a percentage of the d-spacing value). -* The algorithm performs a simple linear fit of the background exluding the peak. -** It uses two use averaging regions of 1/2 width, centered at +- width/2 from the center, and interpolates the linear background from it. -** The values between the average regions are replaced with the interpolated linear background drawn as a straight line. - -*WIKI*/ - #include "MantidAlgorithms/StripVanadiumPeaks.h" #include "MantidKernel/PhysicalConstants.h" #include "MantidDataObjects/EventWorkspace.h" diff --git a/Code/Mantid/Framework/Algorithms/src/StripVanadiumPeaks2.cpp b/Code/Mantid/Framework/Algorithms/src/StripVanadiumPeaks2.cpp index 88321b6fda4d..27366fa44781 100644 --- a/Code/Mantid/Framework/Algorithms/src/StripVanadiumPeaks2.cpp +++ b/Code/Mantid/Framework/Algorithms/src/StripVanadiumPeaks2.cpp @@ -1,13 +1,3 @@ -/*WIKI* - -* A list of vanadium peak positions in d-spacing is used for the central peak positions: 0.5044,0.5191,0.5350,0.5526,0.5936,0.6178,0.6453,0.6768,0.7134,0.7566,0.8089,0.8737,0.9571,1.0701,1.2356,1.5133,2.1401 - -* StripPeaks is called by providing the list of vanadium peak positions. - -* The vanadium peaks are fit to a function combined from Gaussian and linear/quadratic background. - -*WIKI*/ - #include "MantidAlgorithms/StripVanadiumPeaks2.h" #include "MantidKernel/System.h" #include "MantidKernel/BoundedValidator.h" @@ -139,4 +129,3 @@ DECLARE_ALGORITHM(StripVanadiumPeaks2) } // namespace Mantid } // namespace Algorithms - diff --git a/Code/Mantid/Framework/Algorithms/src/SumEventsByLogValue.cpp b/Code/Mantid/Framework/Algorithms/src/SumEventsByLogValue.cpp index 678da2e38a94..21335f0bf8ec 100644 --- a/Code/Mantid/Framework/Algorithms/src/SumEventsByLogValue.cpp +++ b/Code/Mantid/Framework/Algorithms/src/SumEventsByLogValue.cpp @@ -1,26 +1,3 @@ -/*WIKI* - -This algorithm counts up the events in a workspace against the values of a log within the workspace. It will most commonly be used as a sub-algorithm of the [[RockingCurve]] algorithm. - -The algorithm has two modes: - -==== Table output ==== - -This option can be used for integer-typed logs and will produce a table with a row for each integer value between the minimum and maximum contained in the log, and a further column containing the total events for which the log had each value. -Further columns will be added for: -* Monitors, if any - this requires an event workspace with the same name as the input workspace plus a '_monitors' suffix (this is what [[LoadEventNexus]] will give). -* The total time duration, in seconds, during which the log had each value. -* The integrated proton charge during the period(s) for which the log had each value. -* The time-weighted average value of any other number-series logs which had more than a single value during the run. - -'''Warning:''' This mode is intended for logs with a small range (e.g. scan index, period number, status). Be aware that if it is used for a log with a large range, it will create a table row for every integer value between the minimum and maximum log value. This might take a long time! - -==== Single-spectrum option ==== - -This option can be used for integer or floating point type logs and requires that the OutputBinning property is specified. It will produce a single spectrum workspace where the X values are derived from the OutputBinning property and the Y values are the total counts in each bin of the log value. - - -*WIKI*/ #include "MantidAlgorithms/SumEventsByLogValue.h" #include "MantidKernel/MandatoryValidator.h" #include "MantidKernel/RebinParamsValidator.h" diff --git a/Code/Mantid/Framework/Algorithms/src/SumNeighbours.cpp b/Code/Mantid/Framework/Algorithms/src/SumNeighbours.cpp index a388385b4a0d..6e4193bedcfd 100644 --- a/Code/Mantid/Framework/Algorithms/src/SumNeighbours.cpp +++ b/Code/Mantid/Framework/Algorithms/src/SumNeighbours.cpp @@ -1,12 +1,3 @@ -/*WIKI* - - - - -The algorithm looks through the [[Instrument]] to find all the [[RectangularDetector]]s defined. For each detector, the SumX*SumY neighboring event lists are summed together and saved in the output workspace as a single spectrum. Therefore, the output workspace will have 1/(SumX*SumY) * the original number of spectra. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/SumRowColumn.cpp b/Code/Mantid/Framework/Algorithms/src/SumRowColumn.cpp index a008d3f777a3..347f50435ad0 100644 --- a/Code/Mantid/Framework/Algorithms/src/SumRowColumn.cpp +++ b/Code/Mantid/Framework/Algorithms/src/SumRowColumn.cpp @@ -1,19 +1,3 @@ -/*WIKI* - - -This algorithm is the equivalent of the COLETTE "DISPLAY H/V" command. -It firsts integrates the input workspace, which must contain all the spectra from -the detector of interest - no more and no less (so 128x128 or 192x192), -between the X values given. Then each row or column is summed between the H/V_Min/Max -values, if given, and the result is a single spectrum of row or column number against -total counts. - -==== ChildAlgorithms used ==== - -The [[Integration]] algorithm is used to sum up each spectrum between XMin & XMax. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/SumSpectra.cpp b/Code/Mantid/Framework/Algorithms/src/SumSpectra.cpp index 174855a851bd..85b2030a53b7 100644 --- a/Code/Mantid/Framework/Algorithms/src/SumSpectra.cpp +++ b/Code/Mantid/Framework/Algorithms/src/SumSpectra.cpp @@ -1,38 +1,3 @@ -/*WIKI* - -Takes a workspace as input and sums all of the spectra within it maintaining the existing bin structure and units. Any masked spectra are ignored. -The result is stored as a new workspace containing a single spectra. - -The algorithm adds to the '''OutputWorkspace''' three additional properties (Log values). The properties (Log) names are: '''"NumAllSpectra"''', -'''"NumMaskSpectra"''' and '''"NumZeroSpectra"''', where: - - NumAllSpectra -- is the number of spectra contributed to the sum - NumMaskSpectra -- the spectra dropped from the summations because they are masked. - If monitors ('''IncludeMonitors'''=false) are not included in the summation, - they are not counted here. - NumZeroSpectra -- number of zero bins in histogram workspace or empty spectra for event workspace. - These spectra are dropped from the summation of histogram workspace - when '''WeightedSum''' property is set to True. - -Assuming '''pWS''' is the output workspace handle, from Python these properties can be accessed by the code: - - nSpectra = pWS.getRun().getLogData("NumAllSpectra").value - nMaskedSpectra = pWS.getRun().getLogData("NumMaskSpectra").value - nZeroSpectra = pWS.getRun().getLogData("NumZeroSpectra").value - -It is also available in stats property obtained by qtiGenie function avrg_spectra - - (avrg,stats) = avrg_spectra(Input_workspace) - stats==[nSpectra,nMaskedSpectra,nZeroSpectra] - - -From C++ they can be reached as strings by the code: - - std::string rez=pWS->run().getLogData("NumAllSpectra")->value(); - std::string rez=pWS->run().getLogData("NumMaskSpectra")->value(); - std::string rez=pWS->run().getLogData("NumZeroSpectra")->value(); - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/TOFSANSResolution.cpp b/Code/Mantid/Framework/Algorithms/src/TOFSANSResolution.cpp index fd84c2ec02be..ce699d557fb5 100755 --- a/Code/Mantid/Framework/Algorithms/src/TOFSANSResolution.cpp +++ b/Code/Mantid/Framework/Algorithms/src/TOFSANSResolution.cpp @@ -1,6 +1,3 @@ -/*WIKI* -Compute the Q resolution for a given I(Q) for a TOF SANS instrument. -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -213,4 +210,3 @@ void TOFSANSResolution::exec() } } // namespace Algorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/Algorithms/src/Transpose.cpp b/Code/Mantid/Framework/Algorithms/src/Transpose.cpp index c57444335fde..9e349cc5df6d 100644 --- a/Code/Mantid/Framework/Algorithms/src/Transpose.cpp +++ b/Code/Mantid/Framework/Algorithms/src/Transpose.cpp @@ -1,12 +1,3 @@ -/*WIKI* - -This algorithm transposes a workspace, so that an N1 x N2 workspace becomes N2 x N1. - -The X-vector-values for the new workspace are taken from the axis value of the old workspace, which is generaly the spectra number but can be other values, if say the workspace has gone through ConvertSpectrumAxis. - -The new axis values are taken from the previous X-vector-values for the first specrum in the workspace. For this reason, use with ragged workspaces is undefined. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -160,4 +151,3 @@ namespace Mantid } // namespace Algorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/Algorithms/src/UnGroupWorkspace.cpp b/Code/Mantid/Framework/Algorithms/src/UnGroupWorkspace.cpp index b7455665de16..868becab8092 100644 --- a/Code/Mantid/Framework/Algorithms/src/UnGroupWorkspace.cpp +++ b/Code/Mantid/Framework/Algorithms/src/UnGroupWorkspace.cpp @@ -1,9 +1,3 @@ -/*WIKI* - -Takes a [[WorkspaceGroup]] as input and ungroups it into several workspaces. -You can perform this from the MantidPlot GUI by selecting the WorkspaceGroup and clicking "Ungroup". - -*WIKI*/ #include "MantidAlgorithms/UnGroupWorkspace.h" #include "MantidKernel/ListValidator.h" diff --git a/Code/Mantid/Framework/Algorithms/src/UnwrapMonitor.cpp b/Code/Mantid/Framework/Algorithms/src/UnwrapMonitor.cpp index ed253f39f1e5..a2c85646b2d0 100644 --- a/Code/Mantid/Framework/Algorithms/src/UnwrapMonitor.cpp +++ b/Code/Mantid/Framework/Algorithms/src/UnwrapMonitor.cpp @@ -1,46 +1,3 @@ -/*WIKI* - -This algorithm is for use with white-beam instruments with choppers. The chopper cuts the range of wavelengths, so all detectors (including monitors) should be reduced to the same wavelength range. This is done using a "reference" flightpath, L_{ref}, which is (usually, see below) the flightpath of the farthest detectors. - -If T_{min} and T_{max} are the beginning and end of the frame, for each detector D at total flightpath L_d the following times are defined: - -: T_1 = T_{max} - \left ( T_{min} \times \left ( 1 - \frac{L_d}{L_{ref}} \right ) \right ) - -: T_2 = T_{max} \times \left ( \frac{L_d}{L_{ref}} \right ) - -Thus if L_d < L_{ref} then T_1 > T_2 - -Neutron velocities (and hence wavelengths) for the detector D are calculated in the following way: - -* For T_{min} < T < T_2, velocities are calculated in the usual way, i.e. v = \frac{L_d}{T} - -* Data in the range T_2 < T < T_1 are ignored (i.e. they are not used in the wavelength-converted histograms) - -* For T_1 < T < T_{max}, velocities are calculated using the formula v = \frac{L_d}{T - T_{max} + T_{min}} - - -Note that the minimum and maximum velocities for the points that are actually ''used'' are: - -: v_{max} = \frac{L_d}{T - T_{max} + T_{min}} = \frac{L_{ref}}{T_{min}} and v_{min} = \frac{L_d}{T_2} = \frac{L_{ref}}{T_{max}} - -In other words, these velocities are the same for all detectors, so the wavelength range in the transformed histogram will correspondingly be the same and this algorithm rebins the data into common bins in this range. - -Occasionally, it may be that some detectors (typically downstream monitors) may be at a *longer* flightpath than L_{ref}. This depends entirely on the chopper aperture/setting. These detectors are "frame-overlapped" - in other words, there is an ambiguity in the definition of the wavelength for certain points, which should therefore be excluded. These points are at the very beginning and at the very end of the frame for a range Dt (equal on both sides) given by - -:D_t = (T_{max} - T_{min}) \times \left (1 - \frac{L_{ref}}{L_d} \right) - -In other words, points between T_{min} and T_{min} + D_t and between T_{max} - D_t and T_{max} should be excluded. For all other points, velocities and wavelengths are calculated in the normal way. - -Note that since we are dealing with histogrammed data, the cut-off values above will almost certainly not fall exactly on a bin boundary. The approach taken by this algorithm is that if any part of a bin has a value that should be excluded, then the entire bin is excluded. What this means in practice is that the edge bins will possibly have a reduced number of counts. - -==== Restrictions on the input workspace ==== -The input workspace must contain histogram data where the X unit is time-of-flight and the Y data is raw counts. The [[instrument]] associated with the workspace must be fully defined because detector, source & sample position are needed. - -====Child algorithms used==== -If the input workspace contains more than a single spectrum, Unwrap makes use of the [[rebin]] algorithm to set the bins on the output workspace to common values which cover the maximum theoretically accessible wavelength range. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/UnwrapSNS.cpp b/Code/Mantid/Framework/Algorithms/src/UnwrapSNS.cpp index 191440785235..42eb4eb2d8e0 100644 --- a/Code/Mantid/Framework/Algorithms/src/UnwrapSNS.cpp +++ b/Code/Mantid/Framework/Algorithms/src/UnwrapSNS.cpp @@ -1,20 +1,3 @@ -/*WIKI* - - -Slow moving (low energy and long wavelength neutrons) maybe detected after the end of the frame in which they entered the experimental apparatus. A schematic example of this is shown below where the neutrons are marked as circles. -
-[[File:UnwrapSNS_inst.png|Schematic diagram of neutrons entering an instrument and being detected|centre|]] -
-The two neutons on the right of the diagram were actually produced in frame 1 but will be recorded in frame 2 at low time of flight (TOF) and a straight [[ConvertUnits]] will bin them at high energy and short wavelength! [[UnwrapSNS]] moves those particles to the end of the spectrum by increasing their time of flight by the duration of a frame multiplied by the number (one or more) of frames they were "late" by. - -To assess if it is impossible for a particle to have arrived in the same frame it was detected a maximum speed for particles is calculated based on LRef and Tmin. The algorithm then calculates the mean speed of all detected particles and corrects those whose speed was greater than the maximum. - -Normally LRef is the total length of the flight path from the source (particle location when t=0) to a detector. For event data, if the detector with the shortest flight path was chosen it maybe possible to leave the Tmin empty and so that a first particle arrival time is used. Otherwise the Tmin should be set to < the arrival time of the fastest neutron at the given detector. - -If Tmin was set either Tmax or DataFrameWidth must be set to ensure the frame duration calculated correctly. If Tmax was set the frame width is the difference between Tmax and Tmin. DataFrameWidth overrides this and the width is the difference between the longest and shortest TOFs in the data. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Algorithms/src/UpdateScriptRepository.cpp b/Code/Mantid/Framework/Algorithms/src/UpdateScriptRepository.cpp index 638a869844e0..e76cf53b11db 100644 --- a/Code/Mantid/Framework/Algorithms/src/UpdateScriptRepository.cpp +++ b/Code/Mantid/Framework/Algorithms/src/UpdateScriptRepository.cpp @@ -1,8 +1,3 @@ -/*WIKI* -It updates the [[ScriptRepository]]. It checkout the information of the central repository -and download all the files marked for AutoUpdate. -*WIKI*/ - #include "MantidAlgorithms/UpdateScriptRepository.h" #include "MantidAPI/ScriptRepositoryFactory.h" #include "MantidAPI/ScriptRepository.h" diff --git a/Code/Mantid/Framework/Algorithms/src/WeightedMean.cpp b/Code/Mantid/Framework/Algorithms/src/WeightedMean.cpp index 287035f01ab7..6313e0b4e6ad 100644 --- a/Code/Mantid/Framework/Algorithms/src/WeightedMean.cpp +++ b/Code/Mantid/Framework/Algorithms/src/WeightedMean.cpp @@ -1,12 +1,3 @@ -/*WIKI* - -The algorithm calculates the weighted mean of two workspaces. This is useful when working with distributions rather than histograms, particularly when counting statistics are poor and it is possible that the value of one data set is statistically insignificant but differs greatly from the other. In such a case simply calculating the average of the two data sets would produce a spurious result. This algorithm will eventually be modified to take a list of workspaces as an input. - -\displaystyle y=\frac{\sum\frac{x_i}{\sigma^{2}_i}}{\sum\frac{1}{\sigma^{2}_i}} - - - -*WIKI*/ #include "MantidAlgorithms/WeightedMean.h" namespace Mantid diff --git a/Code/Mantid/Framework/Algorithms/src/WeightedMeanOfWorkspace.cpp b/Code/Mantid/Framework/Algorithms/src/WeightedMeanOfWorkspace.cpp index 969dd747097e..700d16c9cb85 100644 --- a/Code/Mantid/Framework/Algorithms/src/WeightedMeanOfWorkspace.cpp +++ b/Code/Mantid/Framework/Algorithms/src/WeightedMeanOfWorkspace.cpp @@ -1,18 +1,3 @@ -/*WIKI* - -This algorithm calculates the weighted mean from all the spectra in a given -workspace. Monitors and masked spectra are ignored. Also, individual bins with -IEEE values will be excluded from the result. The weighted mean calculated by -the following: - -\displaystyle y=\frac{\sum\frac{x_i}{\sigma^{2}_i}}{\sum\frac{1}{\sigma^{2}_i}} - -and the variance is calculated by: - -\displaystyle \sigma^{2}_y=\frac{1}{\sum\frac{1}{\sigma^{2}_i}} - -*WIKI*/ - #include "MantidAlgorithms/WeightedMeanOfWorkspace.h" #include "MantidDataObjects/EventWorkspace.h" #include "MantidGeometry/Instrument.h" diff --git a/Code/Mantid/Framework/Crystal/src/AnvredCorrection.cpp b/Code/Mantid/Framework/Crystal/src/AnvredCorrection.cpp index 003c9a72c436..54189edf4ea6 100644 --- a/Code/Mantid/Framework/Crystal/src/AnvredCorrection.cpp +++ b/Code/Mantid/Framework/Crystal/src/AnvredCorrection.cpp @@ -1,40 +1,3 @@ -/*WIKI* - -Following A.J.Schultz's anvred, the weight factors should be: - sin^2(theta) / (lamda^4 * spec * eff * trans) -where -* theta = scattering_angle/2 -* lamda = wavelength (in angstroms?) -* spec = incident spectrum correction -* eff = pixel efficiency -* trans = absorption correction -The quantity: -sin^2(theta) / eff -depends only on the pixel and can be pre-calculated -for each pixel. It could be saved in array pix_weight[]. - -For now, pix_weight[] is calculated by the method: -BuildPixWeights() and just holds the sin^2(theta) values. -The wavelength dependent portion of the correction is saved in -the array lamda_weight[]. - -The time-of-flight is converted to wave length by multiplying -by tof_to_lamda[id], then (int)STEPS_PER_ANGSTROM * lamda -gives an index into the table lamda_weight[]. -The lamda_weight[] array contains values like: -1/(lamda^power * spec(lamda)) -which are pre-calculated for each lamda. These values are -saved in the array lamda_weight[]. The optimal value to use -for the power should be determined when a good incident spectrum -has been determined. Currently, power=3 when used with an -incident spectrum and power=2.4 when used without an incident -spectrum. - -The pixel efficiency and incident spectrum correction are NOT CURRENTLY USED. -The absorption correction, trans, depends on both lamda and the pixel, -Which is a fairly expensive calulation when done for each event. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Crystal/src/CalculatePeaksHKL.cpp b/Code/Mantid/Framework/Crystal/src/CalculatePeaksHKL.cpp index a5ce7fdd218f..f5601c6deff7 100644 --- a/Code/Mantid/Framework/Crystal/src/CalculatePeaksHKL.cpp +++ b/Code/Mantid/Framework/Crystal/src/CalculatePeaksHKL.cpp @@ -1,12 +1,3 @@ -/*WIKI* -Uses the UB matrix on the sample to calculate the Miller indices for all peaks in the peaks workspace. -Unlike [[IndexPeaks]] this algorithm does not perform any mandatory optimization. This algorithm does not -round the Miller indices to the nearest integer. - -== Alternatives == -[[IndexPeaks]] -*WIKI*/ - #include "MantidCrystal/CalculatePeaksHKL.h" #include "MantidGeometry/Crystal/IndexingUtils.h" #include "MantidDataObjects/PeaksWorkspace.h" diff --git a/Code/Mantid/Framework/Crystal/src/CalculateUMatrix.cpp b/Code/Mantid/Framework/Crystal/src/CalculateUMatrix.cpp index 2a751c10c2c2..c232580cd4b1 100644 --- a/Code/Mantid/Framework/Crystal/src/CalculateUMatrix.cpp +++ b/Code/Mantid/Framework/Crystal/src/CalculateUMatrix.cpp @@ -1,110 +1,3 @@ -/*WIKI* - -Given a set of peaks (Q in the goniometer frame, HKL values), and given lattice parameters (a,b,c,\alpha,\beta,\gamma), it will try to find the U matrix, using least squares approach and quaternions [http://www.cs.iastate.edu/~cs577/handouts/quaternion.pdf]. -Units of length are in in \rm \AA, angles are in degrees. - -The algorithm calculates first the B matrix according to Busing and Levi. - -Given a set of peaks in the reference frame of the inner axis of the goniometer, \rm Q_{gon}, indexed by (h_i, k_i, l_i), we want to find the U matrix that maps peaks in the reciprocal space of the sample to the peaks in the goniometer frame - - \rm U \rm B \left( - - \begin{array}{c} - - h_i \\ - - k_i \\ - - l_i \\ - - \end{array} - - \right) = \rm Q_{gon,i} (1) - -For simplicity, we define - -\rm Q_{hkl,i} = \rm B \left( - - \begin{array}{c} - - h_i \\ - - k_i \\ - - l_i \\ - - \end{array} - - \right) (2) - -In the real world, such a matrix is not always possible to find. Therefore we just try minimize the difference between the two sets of p - -\sum_i |\rm U \rm Q_{hkl,i} - \rm Q_{gon,i}|^2 = \sum_i \left(|\rm U \rm Q_{hkl,i}|^2 + |\rm Q_{gon,i}|^2 -2 \rm U \rm Q_{hkl,i} \cdot \rm Q_{gon,i}\right) (3) - -In equation (3) \left|\rm U \rm Q_{hkl,i}\right|^2 = |\rm Q_{hkl,i}|^2, so the first two terms on the left side are U independent. Therefore we want to maximize - -\sum_i \left(\rm U \rm Q_{hkl,i} \cdot \rm Q_{gon,i}\right) (4) - -We are going to write the scalar product of the vectors in terms of quaternions[http://en.wikipedia.org/wiki/Quaternion]. We define -q_{hkl,i} = \left(0, Q_{hkl,i}\right), q_{gon,i} = \left(0, Q_{gon,i}\right) and the rotation U is described by quaternion u = \left(w,x,y,z\right) - -Then equation (4) will be written as - -\sum_i \left(\rm U \rm Q_{hkl,i} \cdot \rm Q_{gon,i}\right) = 0.5 \cdot \left(u q_{hkl,i} u^*\right) q_{gon,i}\ + 0.5 \cdot q_{gon,i} \left(u q_{hkl,i} u^*\right) (5) - -We define matrices H_i= \left(\begin{array}{cccc} -0 & -q_{hkl,i,x} & -q_{hkl,i,y} & -q_{hkl,i,z} \\ -q_{hkl,i,x} & 0 & q_{hkl,i,z} & -q_{hkl,i,y} \\ -q_{hkl,i,y} & -q_{hkl,i,z} & 0 & q_{hkl,i,x} \\ -q_{hkl,i,z} & q_{hkl,i,y} & -q_{hkl,i,x} & 0 -\end{array} \right) (6) - -and - S_i= \left(\begin{array}{cccc} -0 & -q_{gonl,i,x} & -q_{gon,i,y} & -q_{gon,i,z} \\ -q_{gon,i,x} & 0 & -q_{gon,i,z} & q_{gon,i,y} \\ -q_{gon,i,y} & q_{gon,i,z} & 0 & -q_{gon,i,x} \\ -q_{gon,i,z} & -q_{gon,i,y} & q_{gon,i,x} & 0 -\end{array} \right) (7) - -Then, we can rewrite equation (5) using matrices[http://en.wikipedia.org/wiki/Quaternions_and_spatial_rotation#Pairs_of_unit_quaternions_as_rotations_in_4D_space],[http://www.cs.iastate.edu/~cs577/handouts/quaternion.pdf]: - -\sum_i \left(\rm U \rm Q_{hkl,i} \cdot \rm Q_{gon,i}\right) = \left(\begin{array}{cccc} -w & x & y & z\end{array} \right) \sum_i H_i S_i \left( - \begin{array}{c} - w \\ - x \\ - y \\ -z - \end{array} - - \right) (8) - -The problem of finding \left(w,x,y,z\right) that maximizes the sum can now be rewritten in terms of eigenvectors of HS= \sum_i \left(H_i S_i\right) . -Let \epsilon_j and \nu_j be the eigenvalues and corresponding eigenvectors of HS, with \epsilon_0 > \epsilon_1 > \epsilon_2 > \epsilon_3 . We can write any vector (w,x,y,z) as a linear combination of the eigenvectors of HS: - -\left(w,x,y,z\right) = \delta_0 \nu_0 +\delta_1 \nu_1 +\delta_2 \nu_2 +\delta_3 \nu_3 (9) - -\left(\begin{array}{cccc} -w & x & y & z\end{array} \right) HS \left( - \begin{array}{c} - w \\ - x \\ - y \\ -z - \end{array} - - \right) = \delta_0^2 \nu_0 HS \nu_0 + \delta_1^2 \nu_1 HS \nu_1 +\delta_2^2 \nu_2 HS \nu_2 +\delta_3 \nu_3 HS \nu_3 (10) - - = \delta_0^2 \epsilon_0 + \delta_1^2 \epsilon_1 +\delta_2^2 \epsilon_2 +\delta_3 ^2 \epsilon_3 (11) - -u is a unit quaternion, \delta_0^2 + \delta_1^2 +\delta_2^2 +\delta_3 ^2=1 (12) - -Then the sum in equation (11) is maximized for \epsilon_0 =1, \epsilon_1 =0, \epsilon_2 =0 \epsilon_3 =0 (13) - -Therefore U is the rotation represented by the quaternion u, which is the eigenvector corresponding to the largest eigenvalue of HS. - -*WIKI*/ #include "MantidCrystal/CalculateUMatrix.h" #include "MantidDataObjects/PeaksWorkspace.h" #include "MantidDataObjects/Peak.h" @@ -239,4 +132,3 @@ namespace Crystal } // namespace Mantid } // namespace Crystal - diff --git a/Code/Mantid/Framework/Crystal/src/CentroidPeaks.cpp b/Code/Mantid/Framework/Crystal/src/CentroidPeaks.cpp index 0852c655b94d..77c0a804bb0d 100644 --- a/Code/Mantid/Framework/Crystal/src/CentroidPeaks.cpp +++ b/Code/Mantid/Framework/Crystal/src/CentroidPeaks.cpp @@ -1,10 +1,3 @@ -/*WIKI* - -This algorithm starts with a PeaksWorkspace containing the expected positions of peaks in detector space. -It calculates the centroid of the peak by calculating the average of the coordinates of all events within a given radius of the peak, weighted by the weight (signal) of the event for event workspaces or the intensity for histogrammed workspaces. - -*WIKI*/ - #include "MantidDataObjects/PeaksWorkspace.h" #include "MantidKernel/System.h" #include "MantidCrystal/CentroidPeaks.h" diff --git a/Code/Mantid/Framework/Crystal/src/ClearUB.cpp b/Code/Mantid/Framework/Crystal/src/ClearUB.cpp index 6f500e43f7e5..f55ebb46c1f0 100644 --- a/Code/Mantid/Framework/Crystal/src/ClearUB.cpp +++ b/Code/Mantid/Framework/Crystal/src/ClearUB.cpp @@ -1,9 +1,3 @@ -/*WIKI* - -Clears the OrientedLattice of each ExperimentInfo attached to the intput [[Workspace]]. Works with both single ExperimentInfos and MultipleExperimentInfo instances. - - *WIKI*/ - #include "MantidCrystal/ClearUB.h" #include "MantidAPI/MultipleExperimentInfos.h" diff --git a/Code/Mantid/Framework/Crystal/src/CombinePeaksWorkspaces.cpp b/Code/Mantid/Framework/Crystal/src/CombinePeaksWorkspaces.cpp index 0098e8867846..1d7dff32912f 100644 --- a/Code/Mantid/Framework/Crystal/src/CombinePeaksWorkspaces.cpp +++ b/Code/Mantid/Framework/Crystal/src/CombinePeaksWorkspaces.cpp @@ -1,13 +1,3 @@ -/*WIKI* -This algorithm can be used to combine lists of single crystal peaks, -possibly obtained by different methods, in to a single list (contained in a PeaksWorkspace). -With the default options, this will simply append the lists of peaks. If CombineMatchingPeaks is -selected then an attempt will be made to identify identical peaks by matching them in Q within the specified tolerance. -The peaks in each workspace are traversed in the order they are found in the workspace (RHSWorkspace first) and -if a match is found (the search stops at the first match for each RHSWorkspace peak) then the peak in the -LHSWorkspace is retained. -*WIKI*/ - #include "MantidCrystal/CombinePeaksWorkspaces.h" #include "MantidKernel/BoundedValidator.h" #include "MantidKernel/EnabledWhenProperty.h" diff --git a/Code/Mantid/Framework/Crystal/src/DiffPeaksWorkspaces.cpp b/Code/Mantid/Framework/Crystal/src/DiffPeaksWorkspaces.cpp index 859eb09d0219..6ae37cb7c9c9 100644 --- a/Code/Mantid/Framework/Crystal/src/DiffPeaksWorkspaces.cpp +++ b/Code/Mantid/Framework/Crystal/src/DiffPeaksWorkspaces.cpp @@ -1,7 +1,3 @@ -/*WIKI* -This algorithm takes an input workspace (the LHSWorkspace) and removes from it's list of peaks any that are also found in a second workspace (the RHSWorkspace) in the same position in Q space within the specified tolerance. Each peak in the RHSWorkspace is taken in turn and compared to each peak in the LHSWorkspace in turn. The first match encountered is used, and the matching peak removed from the output before moving onto the next RHSWorkspace peak. -*WIKI*/ - #include "MantidCrystal/DiffPeaksWorkspaces.h" #include "MantidKernel/BoundedValidator.h" #include "MantidDataObjects/PeaksWorkspace.h" diff --git a/Code/Mantid/Framework/Crystal/src/FilterPeaks.cpp b/Code/Mantid/Framework/Crystal/src/FilterPeaks.cpp index f5a0ae7f140a..b37c32d939e3 100644 --- a/Code/Mantid/Framework/Crystal/src/FilterPeaks.cpp +++ b/Code/Mantid/Framework/Crystal/src/FilterPeaks.cpp @@ -1,7 +1,3 @@ -/*WIKI* -Filters a [[PeaksWorkspace]] using a set number of queries. Outputs a filtered PeaksWorkspace. -*WIKI*/ - #include "MantidCrystal/FilterPeaks.h" #include "MantidKernel/ListValidator.h" #include "MantidKernel/MandatoryValidator.h" diff --git a/Code/Mantid/Framework/Crystal/src/FindClusterFaces.cpp b/Code/Mantid/Framework/Crystal/src/FindClusterFaces.cpp index 25b79298abb9..6259f9d767e6 100644 --- a/Code/Mantid/Framework/Crystal/src/FindClusterFaces.cpp +++ b/Code/Mantid/Framework/Crystal/src/FindClusterFaces.cpp @@ -1,17 +1,3 @@ -/*WIKI* - -Algorithm takes an image workspace (a.k.a [[IMDHistoWorkspace]]) and determines the faces of the clusters contained within the image. -The image is expected to be a labeled image workspace outputted from [[IntegratePeaksUsingClusters]]. The algorithm generates a -[[TableWorkspace]] as output, which contains all the cluster edge faces required to draw the outer edge of all clusters within the workspace. - -You may optionally provide a FilterWorkspace, which is a [[PeaksWorkspace]]. If provided, the Peak locations are projected onto the InputWorkspace -and the center locations are used to restrict the output to only include the clusters that are the union between the peak locations and the image clusters. - -If LimitRows is set to True (default), then you may specify a maximum number of rows to report. If the algorithm generates more rows that the -MaximumRows that you set, then it will emit a warning, and also, set the TruncatedOutput output property to false. - -*WIKI*/ - #include "MantidCrystal/FindClusterFaces.h" #include "MantidKernel/BoundedValidator.h" diff --git a/Code/Mantid/Framework/Crystal/src/FindSXPeaks.cpp b/Code/Mantid/Framework/Crystal/src/FindSXPeaks.cpp index 27fd9e19dea2..cba64cd2f5fb 100644 --- a/Code/Mantid/Framework/Crystal/src/FindSXPeaks.cpp +++ b/Code/Mantid/Framework/Crystal/src/FindSXPeaks.cpp @@ -1,15 +1,3 @@ -/*WIKI* - -Detector-space, single crystal peak finding. Finds peaks by searching through each spectra and looking for high intensity bins. If a bin has high intensity it is a candidate for a peak. - -Notable points: - -* The highest intensity bin is taken to be the peak, so only finds one peak per spectra -* Peaks that are not above the background are culled. The background is calculated as the average of the start and end intensity multiplied by the provided SignalBackground parameter. -* Calculated Qlab follows the Busy, Levy 1967 convention. - -*WIKI*/ - //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Crystal/src/FindUBUsingFFT.cpp b/Code/Mantid/Framework/Crystal/src/FindUBUsingFFT.cpp index 13759c851e47..6a6666406185 100644 --- a/Code/Mantid/Framework/Crystal/src/FindUBUsingFFT.cpp +++ b/Code/Mantid/Framework/Crystal/src/FindUBUsingFFT.cpp @@ -1,20 +1,3 @@ -/*WIKI* - - -Given a set of peaks, and given a range of possible a,b,c values, this algorithm will attempt to find a UB matrix, corresponding to the Niggli reduced cell, that fits the data. -The algorithm projects the peaks on many possible direction vectors and calculates a Fast Fourier Transform of the projections to identify regular patterns in the collection of peaks. -Based on the calcuated FFTs, a list of directions corresponding to possible real space unit cell edge vectors is formed. -The directions and lengths of the vectors in this list are optimized (using a least squares approach) to index the maximum number of peaks, after which the list is sorted in order of increasing length and duplicate vectors are removed from the list. - -The algorithm then chooses three of the remaining vectors with the shortest lengths that are linearly independent, form a unit cell with at least a minimum volume and for which the corresponding UB matrix indexes at least 80% of the maximum number of indexed using any set of three vectors chosen from the list. - -A UB matrix is formed using these three vectors and the resulting UB matrix is again optimized using a least squares method. Finally, starting from this matrix, -a matrix corresponding to the Niggli reduced cell is calculated and returned as the UB matrix. -If the specified peaks are accurate and belong to a single crystal, this method should produce the UB matrix corresponding to the Niggli reduced cell. However, other software will usually be needed to adjust this UB to match a desired conventional cell. -While this algorithm will occasionally work for as few as four peaks, it works quite consistently with at least ten peaks, and in general works best with a larger number of peaks. - - -*WIKI*/ #include "MantidCrystal/FindUBUsingFFT.h" #include "MantidDataObjects/PeaksWorkspace.h" #include "MantidDataObjects/Peak.h" @@ -154,4 +137,3 @@ namespace Crystal } // namespace Mantid } // namespace Crystal - diff --git a/Code/Mantid/Framework/Crystal/src/FindUBUsingIndexedPeaks.cpp b/Code/Mantid/Framework/Crystal/src/FindUBUsingIndexedPeaks.cpp index ec2a5d8523e4..03ebb5794105 100644 --- a/Code/Mantid/Framework/Crystal/src/FindUBUsingIndexedPeaks.cpp +++ b/Code/Mantid/Framework/Crystal/src/FindUBUsingIndexedPeaks.cpp @@ -1,10 +1,3 @@ -/*WIKI* - - -Given a set of peaks at least three of which have been assigned Miller indices, this algorithm will find the UB matrix, that best maps the integer (h,k,l) values to the corresponding Q vectors. The set of indexed peaks must include three linearly independent Q vectors. The (h,k,l) values from the peaks are first rounded to form integer (h,k,l) values. The algorithm then forms a possibly over-determined linear system of equations representing the mapping from (h,k,l) to Q for each indexed peak. The system of linear equations is then solved in the least squares sense, using QR factorization. - - -*WIKI*/ #include "MantidCrystal/FindUBUsingIndexedPeaks.h" #include "MantidDataObjects/Peak.h" #include "MantidDataObjects/PeaksWorkspace.h" @@ -156,4 +149,3 @@ namespace Crystal } // namespace Mantid } // namespace Crystal - diff --git a/Code/Mantid/Framework/Crystal/src/FindUBUsingLatticeParameters.cpp b/Code/Mantid/Framework/Crystal/src/FindUBUsingLatticeParameters.cpp index 315e619a957c..cb86702db3c8 100644 --- a/Code/Mantid/Framework/Crystal/src/FindUBUsingLatticeParameters.cpp +++ b/Code/Mantid/Framework/Crystal/src/FindUBUsingLatticeParameters.cpp @@ -1,30 +1,3 @@ -/*WIKI* - -Given a set of peaks, and given lattice parameters (a,b,c,alpha,beta,gamma), this algorithm -will find the UB matrix, that best fits the data. The algorithm searches over a large range of possible -orientations for the orientation for which the rotated B matrix best fits the data. The search for the -best orientation involves several steps. - -During the first step, a reduced set of peaks typically at lower |Q| are used, since it is easier -to index peaks at low |Q|. Specifically, if there are at least 5 peaks, the peaks are shifted to -be centered at the strongest peaks and then sorted in order of increasing distance from the -strongest peak. If there are fewer than 5 peaks the list is just sorted in order of increasing |Q|. -Only peaks from the initial portion of this sorted list are used in the first step. The number of -peaks from this list to be used initially is specified by the user with the parameter NumInitial. -The search first finds a list of possible orientations for which the UB matrix will index the -maximum number of peaks from the initial set of peaks to within the specified tolerance on h,k,l values. -Subsequently, only the UB matrix that indexes that maximum number of peaks with the minimum distance -between the calculated h,k,l values and integers is kept and passed on to the second step. - -During the second step, additional peaks are gradually added to the initial list of peaks. Each time -peaks are added to the list, the subset of peaks from the new list that are indexed within the specified -tolerance on k,k,l are used in a least squares calculation to optimize the UB matrix to best index those -peaks. The process of gradually adding more peaks from the sorted list and optimizing the -UB based on the peaks that are indexed, continues until all peaks have been added to the list. -Finally, one last optimization of the UB matrix is carried out using the full list of peaks. - - -*WIKI*/ #include "MantidCrystal/FindUBUsingLatticeParameters.h" #include "MantidDataObjects/PeaksWorkspace.h" #include "MantidDataObjects/Peak.h" @@ -197,4 +170,3 @@ namespace Crystal } // namespace Mantid } // namespace Crystal - diff --git a/Code/Mantid/Framework/Crystal/src/FindUBUsingMinMaxD.cpp b/Code/Mantid/Framework/Crystal/src/FindUBUsingMinMaxD.cpp index 9b556b3b1cc7..2e17531f604d 100644 --- a/Code/Mantid/Framework/Crystal/src/FindUBUsingMinMaxD.cpp +++ b/Code/Mantid/Framework/Crystal/src/FindUBUsingMinMaxD.cpp @@ -1,10 +1,3 @@ -/*WIKI* - -Given a set of peaks, and given a range of possible a,b,c values, this algorithm will attempt to find a UB matrix, corresponding to the [http://nvlpubs.nist.gov/nistpubs/sp958-lide/188-190.pdf Niggli reduced cell], that fits the data. The algorithm searches over a range of possible directions and unit cell lengths for directions and lengths that match plane normals and plane spacings in reciprocal space. It then chooses three of these vectors with the shortest lengths that are linearly independent and that are separated by at least a minimum angle. An initial UB matrix is formed using these three vectors and the resulting UB matrix is optimized using a least squares method. Finally, starting from this matrix, a matrix corresponding to the Niggli reduced cell is calculated and returned as the UB matrix. If the specified peaks are accurate and belong to a single crystal, this method should produce some UB matrix that indexes the peaks. However, other software will usually be needed to adjust this UB to match a desired conventional cell. - - - -*WIKI*/ #include "MantidCrystal/FindUBUsingMinMaxD.h" #include "MantidKernel/BoundedValidator.h" #include "MantidDataObjects/PeaksWorkspace.h" @@ -183,4 +176,3 @@ namespace Crystal } // namespace Mantid } // namespace Crystal - diff --git a/Code/Mantid/Framework/Crystal/src/GoniometerAnglesFromPhiRotation.cpp b/Code/Mantid/Framework/Crystal/src/GoniometerAnglesFromPhiRotation.cpp index 70e4abadd18a..8faa4dd50e01 100644 --- a/Code/Mantid/Framework/Crystal/src/GoniometerAnglesFromPhiRotation.cpp +++ b/Code/Mantid/Framework/Crystal/src/GoniometerAnglesFromPhiRotation.cpp @@ -1,14 +1,3 @@ - -/*WIKI* - -This algorithm is used for finding Goniometer angles when instrument readings are basically unknown. -The inputs are two PeaksWorkspaces corresponding to sample orientations of the SAME crystal -that differ only in their phi rotation. - -If the phi angles are known, this algorithm attempts to find the common chi and omega rotations. - - *WIKI*/ - #include "MantidAPI/Algorithm.h" #include "MantidAPI/FrameworkManager.h" #include "MantidAPI/IAlgorithm.h" diff --git a/Code/Mantid/Framework/Crystal/src/HasUB.cpp b/Code/Mantid/Framework/Crystal/src/HasUB.cpp index 3d9ec91267d8..82eda5532e53 100644 --- a/Code/Mantid/Framework/Crystal/src/HasUB.cpp +++ b/Code/Mantid/Framework/Crystal/src/HasUB.cpp @@ -1,8 +1,3 @@ -/*WIKI* -Determine if a workspace has a UB matrix on any of it's samples. Returns True if one is found. Returns false if none can be found, or if the -workspace type is incompatible. -*WIKI*/ - #include "MantidCrystal/HasUB.h" using namespace Mantid::API; diff --git a/Code/Mantid/Framework/Crystal/src/IndexPeaks.cpp b/Code/Mantid/Framework/Crystal/src/IndexPeaks.cpp index b7fedb7627a3..2800dfd652d0 100644 --- a/Code/Mantid/Framework/Crystal/src/IndexPeaks.cpp +++ b/Code/Mantid/Framework/Crystal/src/IndexPeaks.cpp @@ -1,20 +1,3 @@ -/*WIKI* - - -Given a PeaksWorkspace with a UB matrix stored with the sample, this algorithm will use UB inverse -to index the peaks. If there are peaks from multiple runs in the workspace, the stored UB will be -used to get an initial indexing for the peaks from each individual run. Subsequently, a temporary -UB will be optimzed for the peaks from each individual run, and used to index the peaks from that -run. In this way, a consistent indexing of the peaks from multiple runs will be obtained, which -indexes the largest number of peaks, although one UB may not produce exactly that indexing for -all peaks, within the specified tolerance. - -Any peak with any Miller index more than the specified tolerance away from an integer will have its -(h,k,l) set to (0,0,0). The calculated Miller indices can either be rounded to the nearest integer -value, or can be left as decimal fractions. - - -*WIKI*/ #include "MantidCrystal/IndexPeaks.h" #include "MantidDataObjects/PeaksWorkspace.h" #include "MantidDataObjects/Peak.h" @@ -242,4 +225,3 @@ namespace Crystal } // namespace Mantid } // namespace Crystal - diff --git a/Code/Mantid/Framework/Crystal/src/IndexSXPeaks.cpp b/Code/Mantid/Framework/Crystal/src/IndexSXPeaks.cpp index 500ef98c47bc..5e3dea0b0fa8 100644 --- a/Code/Mantid/Framework/Crystal/src/IndexSXPeaks.cpp +++ b/Code/Mantid/Framework/Crystal/src/IndexSXPeaks.cpp @@ -1,14 +1,3 @@ -/*WIKI* - -Given a PeaksWorkspace and a set of lattice parameters, attempts to tag each peak with a HKL value -by comparing d-spacings between potential HKL matches and the peaks as well as angles between Q vectors. - -==Usage Notes== -This algorithm does not generate a UB Matrix, it will only index peaks. Run CalculateUMatrix algorithm after executing this algorithm in order -to attach a UB Matrix onto the sample. The CopySample algorithm will allow this UB Matrix to be transfered between workspaces. - -*WIKI*/ - //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Crystal/src/IntegratePeakTimeSlices.cpp b/Code/Mantid/Framework/Crystal/src/IntegratePeakTimeSlices.cpp index f24bc7fde36a..21fe4e2c7a4d 100644 --- a/Code/Mantid/Framework/Crystal/src/IntegratePeakTimeSlices.cpp +++ b/Code/Mantid/Framework/Crystal/src/IntegratePeakTimeSlices.cpp @@ -1,30 +1,3 @@ -/*WIKI* - - -This algorithm fits a bivariate normal distribution( plus background) to the data on each time slice. The Fit program uses [[BivariateNormal]] for the Fit Function. - -The area used for the fitting is calculated based on the dQ parameter. A good value for dQ is 1/largest unit cell length. This parameter dictates the size of the area used to approximate the intensity of the peak. The estimate .1667/ max(a,b,c) assumes |Q|=1/d. - -The result is returned in this algorithm's output "Intensity" and "SigmaIntensity" properties. The peak object is NOT CHANGED. - - -The table workspace is also a result. Each line contains information on the fit for each good time slice. The column names( and information) in the table are: - Time, Channel, Background, Intensity, Mcol, Mrow, SScol,SSrow, SSrc, NCells, - ChiSqrOverDOF, TotIntensity, BackgroundError, FitIntensityError, ISAWIntensity, - ISAWIntensityError,TotalBoundary, NBoundaryCells, Start Row, End Row,Start Col, and End Col. - The last column has a comma separated List of sepctral ID's used in the time slice. - - -The final Peak intensity is the sum of the IsawIntensity for each time slice. The error is the square root of the sum of squares of the IsawIntensityError values. - -The columns whose names are Background, Intensity, Mcol, Mrow, SScol, SSrow, and SSrc correspond to the parameters for the BivariateNormal curve fitting function. - -This algorithm has been carefully tweaked to give good results for interior peaks only. Peaks close to the edge of the detector may not give good results. - -This Algorithm is also used by the [[PeakIntegration]] algorithm when the Fit tag is selected. - -*WIKI*/ - /* * IntegratePeakTimeSlices.cpp * diff --git a/Code/Mantid/Framework/Crystal/src/IntegratePeaksUsingClusters.cpp b/Code/Mantid/Framework/Crystal/src/IntegratePeaksUsingClusters.cpp index 05d9a290efa6..2185f1b5c4a5 100644 --- a/Code/Mantid/Framework/Crystal/src/IntegratePeaksUsingClusters.cpp +++ b/Code/Mantid/Framework/Crystal/src/IntegratePeaksUsingClusters.cpp @@ -1,48 +1,3 @@ -/*WIKI* -Integrates arbitary shaped single crystal peaks defined on an [[MDHistoWorkspace]] using connected component analysis to determine -regions of interest around each peak of the [[PeaksWorkspace]]. The output is an integrated [[PeaksWorkspace]] as well as an image -containing the labels assigned to each cluster for diagnostic and visualisation purposes. - -'''The algorithm makes no assmptions about Peak shape or size''' and can therfore be used where integration over defined shapes -[[IntegratePeaksMD]] and [[IntegrateEllipsoids]], for example, will not work. - -[[File:ClusterImage.png|400px]] - -''Cluster Label region displayed in the [[SliceViewer]]. Peak centre is marked with an X. The green circle illustrates the integration region used by [[IntegratePeaksMD]]'' - -A threshold for the Peak should be defined below which, parts of the image are treated as background. The normalization method in combination with the -threshold may both be used to define a background. We suggest keeping the default of VolumeNormalization so that changes in the effective bin size -do not affect the background filtering. - -This algorithm uses an imaging technique, and it is therefore important that the MDHistoWorkspace you are using is binned to a sufficient -resolution via [[BinMD]]. You can overlay the intergrated peaks workspace in the [[MantidPlot:_SliceViewer#Viewing_Peaks_Workspaces|Slice Viewer]] over -the generated Cluster Labeled OutputWorkspaceMD to see what the interation region used for each peak amounts to. - -== Notes for running == - -It is suggested that you '''initially run the algorithm on a coarse image'''. This will help you tune the Threshold parameters. The algorithm generates -a large memory footprint, so it is suggested that you keep the initial image small, and run on hardware with sufficient memory to store multiple workspace -of equal size to the input MDWorkspace (generated as part of the connected component analysis). - -== Warnings and Logging == -The algorithm will generate warning. There are three main warning to know about. -=== Off the Image Edge === -The algorithm will warn about unreachable peaks (off the image). This may be because the peaks detected were off -the edge of the detector, or because the image was cropped in BinMD in such a way that that part of the detector/TOF space is no -longer accessible. -=== No Cluster Corresponding to Peak === -This is because the input [[PeaksWorkspace]] has peaks that do not align with peaks in the image. The error could either -be on the side of the input PeaksWorkspace (spurious peaks), or of the [[MDHistoWorkspace]] generated as part of processing. One thing to verify -is that the combination of Threshold and Normalization input parameters are not so low that they are treating genuine peaks in the image -as background. -=== Multiple Peaks Assigned to the same Cluster === -This means overlapping peaks in the image. This is a problem because both peaks will be given an integrated value that is the sum -of the entire cluster. You may need to increase the Threshold parameter to resolve this problem. - -For more in-depth analysis, the algorithm will produce debug log messages. - - *WIKI*/ - #include "MantidCrystal/IntegratePeaksUsingClusters.h" #include "MantidCrystal/ICluster.h" #include "MantidCrystal/ConnectedComponentLabeling.h" diff --git a/Code/Mantid/Framework/Crystal/src/LatticeErrors.cpp b/Code/Mantid/Framework/Crystal/src/LatticeErrors.cpp index 24d16d83813f..6e934281c00b 100644 --- a/Code/Mantid/Framework/Crystal/src/LatticeErrors.cpp +++ b/Code/Mantid/Framework/Crystal/src/LatticeErrors.cpp @@ -1,8 +1,3 @@ -/*WIKI* - - -*WIKI*/ - /* * LatticeErrors.cpp * diff --git a/Code/Mantid/Framework/Crystal/src/LoadHKL.cpp b/Code/Mantid/Framework/Crystal/src/LoadHKL.cpp index 94daa9872d18..82cfb1317096 100644 --- a/Code/Mantid/Framework/Crystal/src/LoadHKL.cpp +++ b/Code/Mantid/Framework/Crystal/src/LoadHKL.cpp @@ -1,37 +1,3 @@ -/*WIKI* -Loads an ASCII .hkl file to a PeaksWorkspace. - -File has same format that works successfully in GSAS and SHELX from ISAW: - -hklFile.write('%4d%4d%4d%8.2f%8.2f%4d%8.4f%7.4f%7d%7d%7.4f%4d%9.5f%9.4f\n'% (H, K, L, FSQ, SIGFSQ, hstnum, WL, TBAR, CURHST, SEQNUM, TRANSMISSION, DN, TWOTH, DSP)) - -HKL is flipped by -1 due to different q convention in ISAW vs Mantid. - -FSQ = integrated intensity of peak (scaled) - -SIGFSQ = sigma from integrating peak - -hstnum = number of sample orientation (starting at 1) - -WL = wavelength of peak - -TBAR = output of absorption correction (-log(transmission)/mu) - -CURHST = run number of sample - -SEQNUM = peak number (unique number for each peak in file) - -TRANSMISSION = output of absorption correction (exp(-mu*tbar)) - -DN = detector bank number - -TWOTH = two-theta scattering angle - -DSP = d-Spacing of peak (Angstroms)/TR - -Last line must have all 0's - -*WIKI*/ #include "MantidAPI/FileProperty.h" #include "MantidAPI/WorkspaceValidators.h" #include "MantidCrystal/LoadHKL.h" @@ -205,4 +171,3 @@ namespace Crystal } // namespace Mantid } // namespace Crystal - diff --git a/Code/Mantid/Framework/Crystal/src/LoadIsawPeaks.cpp b/Code/Mantid/Framework/Crystal/src/LoadIsawPeaks.cpp index c1563b7e2990..c707c8147c88 100644 --- a/Code/Mantid/Framework/Crystal/src/LoadIsawPeaks.cpp +++ b/Code/Mantid/Framework/Crystal/src/LoadIsawPeaks.cpp @@ -1,13 +1,3 @@ -/*WIKI* - - - -Reads an ISAW-style .peaks or .integrate file into a PeaksWorkspace. Any detector calibration information is ignored. - -NOTE: The instrument used is determined by reading the 'Instrument:' and 'Date:' tags at the start of the file.If the date is not present, the latest [[Instrument Definition File]] is used. - - -*WIKI*/ #include "MantidAPI/FileProperty.h" #include "MantidAPI/RegisterFileLoader.h" #include "MantidCrystal/LoadIsawPeaks.h" @@ -649,4 +639,3 @@ namespace Crystal } // namespace Mantid } // namespace Crystal - diff --git a/Code/Mantid/Framework/Crystal/src/LoadIsawSpectrum.cpp b/Code/Mantid/Framework/Crystal/src/LoadIsawSpectrum.cpp index f1b8b68626ad..ebd86e7ca671 100644 --- a/Code/Mantid/Framework/Crystal/src/LoadIsawSpectrum.cpp +++ b/Code/Mantid/Framework/Crystal/src/LoadIsawSpectrum.cpp @@ -1,8 +1,3 @@ -/*WIKI* -Load incident spectrum and detector efficiency correction file containing spectra for each detector. -The spectra are created by "TOPAZ_spectrum.py" from files of vanadium or TiZr and background. - -*WIKI*/ #include "MantidAPI/FileProperty.h" #include "MantidAPI/WorkspaceValidators.h" #include "MantidCrystal/LoadIsawSpectrum.h" @@ -339,4 +334,3 @@ namespace Crystal } // namespace Mantid } // namespace Crystal - diff --git a/Code/Mantid/Framework/Crystal/src/LoadIsawUB.cpp b/Code/Mantid/Framework/Crystal/src/LoadIsawUB.cpp index 313c52a3fa4f..867c3e32833e 100644 --- a/Code/Mantid/Framework/Crystal/src/LoadIsawUB.cpp +++ b/Code/Mantid/Framework/Crystal/src/LoadIsawUB.cpp @@ -1,17 +1,3 @@ -/*WIKI* - -Loads the UB matrix into a workspace from an ISAW-style UB matrix ASCII file. - -You can use the [[SaveIsawUB]] algorithm to save to this format. - -The matrix in the file is the transpose of the UB Matrix. -The UB matrix maps the column vector (h,k,l ) to the column vector (q'x,q'y,q'z). -|Q'|=1/dspacing and its coordinates are a right-hand coordinate system where x -is the beam direction and z is vertically upward. (IPNS convention) - -Note: for an MDEventWorkspace, all experimentInfo objects will contain teh oriented lattice loaded from the IsawUB file - -*WIKI*/ #include "MantidAPI/FileProperty.h" #include "MantidCrystal/LoadIsawUB.h" #include "MantidKernel/Matrix.h" @@ -174,4 +160,3 @@ namespace Crystal } // namespace Mantid } // namespace Crystal - diff --git a/Code/Mantid/Framework/Crystal/src/MaskPeaksWorkspace.cpp b/Code/Mantid/Framework/Crystal/src/MaskPeaksWorkspace.cpp index 91f87e9c2f1a..247f48b89f03 100644 --- a/Code/Mantid/Framework/Crystal/src/MaskPeaksWorkspace.cpp +++ b/Code/Mantid/Framework/Crystal/src/MaskPeaksWorkspace.cpp @@ -1,9 +1,3 @@ -/*WIKI* - -Mask pixels in an Workspace close to peak positions from a PeaksWorkspace. -Peaks could come from ISAW diamond stripping routine for SNAP data. Only works on Workspaces and for instruments with RectangularDetector's. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Crystal/src/NormaliseVanadium.cpp b/Code/Mantid/Framework/Crystal/src/NormaliseVanadium.cpp index 87b85e1d8926..71b5189ad8f6 100644 --- a/Code/Mantid/Framework/Crystal/src/NormaliseVanadium.cpp +++ b/Code/Mantid/Framework/Crystal/src/NormaliseVanadium.cpp @@ -1,7 +1,3 @@ -/*WIKI* -Normalises all spectra of workspace to a specified wavelength. Following A.J.Schultz's anvred, scales the vanadium spectra. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Crystal/src/OptimizeCrystalPlacement.cpp b/Code/Mantid/Framework/Crystal/src/OptimizeCrystalPlacement.cpp index f5a7a0dee61c..ab4ab575525b 100644 --- a/Code/Mantid/Framework/Crystal/src/OptimizeCrystalPlacement.cpp +++ b/Code/Mantid/Framework/Crystal/src/OptimizeCrystalPlacement.cpp @@ -1,30 +1,3 @@ -/*WIKI* - -This algorithm basically optimizes h,k, and l offsets from an integer by varying the parameters sample positions, sample orientations -( chi,phi, and omega), and/or the tilt of the goniometer for an experiment. - --If the crystal orientation matrix, UB, was created from one run, that run may not need to have its goniometer -settings optimized. There is a property to list the run numbers to NOT have their goniometer settings changed. This -entry is IGNORED if the tilt or sample positions are included in the optimization. In this case NONE of the goniometer angles, -relative to any tilt, will be changed. - --The goniometer angles displayed are relative to the tilt,i,e, phi is the rotation around the axis perpendicular to the tilted -plane. The resultant PeaksWorkspace has the goniometer angles relative to the Y and Z axes at that time. - --The crystal orientation matrix, UB, from the PeaksWorkspace should index all the runs "very well". Otherwise iterations -that slowly build a UB with corrected sample orientations may be needed. - --The parameters for the tilt are GonRotx, GonRoty, and GonRotz in degrees. The usage for this information is as follows: - rotate('x',GonRotx)*rotate('y',GonRoty)*rotate('z',GonRotz)* SampleOrientation( i.e. omegaRot*chiRot*phiRot)). - --Note: To optimize by the tilt in the goniometer and then by the angles or by the sample position, it is possible to -run with one optimization, then using the resultant PeaksWorkspace for input, run another optimization. - -Rerunning the same optimization with the result is also a good idea. If the first guess is very close, the optimize algorithm -does try cases far away and may not get back to the best value. Check the chisquared values. If they increase, that optimization -should probably not be used. - - *WIKI*/ /* * OptimizeCrystalPlacement.cpp * diff --git a/Code/Mantid/Framework/Crystal/src/OptimizeExtinctionParameters.cpp b/Code/Mantid/Framework/Crystal/src/OptimizeExtinctionParameters.cpp index 28e7ac009c2f..622ccdfa3aa1 100644 --- a/Code/Mantid/Framework/Crystal/src/OptimizeExtinctionParameters.cpp +++ b/Code/Mantid/Framework/Crystal/src/OptimizeExtinctionParameters.cpp @@ -1,7 +1,3 @@ -/*WIKI* - - -*WIKI*/ #include "MantidCrystal/OptimizeExtinctionParameters.h" #include "MantidCrystal/GSLFunctions.h" #include "MantidDataObjects/PeaksWorkspace.h" diff --git a/Code/Mantid/Framework/Crystal/src/OptimizeLatticeForCellType.cpp b/Code/Mantid/Framework/Crystal/src/OptimizeLatticeForCellType.cpp index 434eefbeb1e6..baf4ba6183d6 100644 --- a/Code/Mantid/Framework/Crystal/src/OptimizeLatticeForCellType.cpp +++ b/Code/Mantid/Framework/Crystal/src/OptimizeLatticeForCellType.cpp @@ -1,15 +1,3 @@ -/*WIKI* -This does a least squares fit between indexed peaks and Q values -for a set of runs producing an overall leastSquare orientation matrix. - -Get estimates of the standard deviations of the parameters, by -approximating chisq by a quadratic polynomial through three points -and finding the change in the parameter that would cause a change -of 1 in chisq. (See Bevington, 2nd ed., pg 147, eqn: 8.13 ) -In this version, we calculate a sequence of approximations for -each parameter, with delta ranging over 10 orders of magnitude -and keep the value in the sequence with the smallest relative change. -*WIKI*/ #include "MantidCrystal/OptimizeLatticeForCellType.h" #include "MantidCrystal/GSLFunctions.h" #include "MantidDataObjects/PeaksWorkspace.h" diff --git a/Code/Mantid/Framework/Crystal/src/PeakHKLErrors.cpp b/Code/Mantid/Framework/Crystal/src/PeakHKLErrors.cpp index 28ade44086e0..6a3eb3f0ffa3 100644 --- a/Code/Mantid/Framework/Crystal/src/PeakHKLErrors.cpp +++ b/Code/Mantid/Framework/Crystal/src/PeakHKLErrors.cpp @@ -1,39 +1,3 @@ -/*WIKI* - == - This function calculates, for each peak, its h,k,and l offsets from an integer using goniometer settings and/or tilt and sample offsets from the parameters. - -The original PeaksWorkspace is unchanged. - -===Attributes=== - -# OptRuns : a list of run numbers whose sample orientations are to be optimized. The list is separated by "/". -# PeakWorkspaceName : The name of the PeaksWorkspace in the AnalysisDataService - - -===Parameters=== - -#SampleXOffset- XOffset of Goniometer center from instrument center in meters -#SampleYOffset- YOffset of Goniometer center from instrument center in meters -#SampleZOffset- YOffset of Goniometer center from instrument center in meters - -#GonRotx- For Goniometer tilt. Rotation about x-axis in degrees where Tilt = Rotx(GonRotx)*Roty(GonRoty)*Rotz(GonRotz) -#GonRoty- For Goniometer tilt. Rotation about y-axis -#GonRotz- For Goniometer tilt. Rotation about z-axis( done 1st AFTER phi-chi-omega rotations) - -#chixxx - xxx is a run number from OptRuns. This is the chi angle in degrees that will be used for that run( before tilting) -#phixxx - xxx is a run number from OptRuns. This is the phi angle in degrees that will be used for that run -#omegaxxx - xxx is a run number from OptRuns. This is the omega angle in degrees that will be used for that run - -NOTE:When used in fitting, some or all of the first 6 parameters could be tied to zero. - -===Outputs=== -The PeaksWorkspace is NOT changed. - -The argument out in function1D has ,for each peak, the h,k, and l offsets from an integer using the current parameter values. - - -*WIKI*/ - /* * PeakHKLErrors.cpp * diff --git a/Code/Mantid/Framework/Crystal/src/PeakIntegration.cpp b/Code/Mantid/Framework/Crystal/src/PeakIntegration.cpp index ff5f5e15e0b8..ae8150c3be1e 100644 --- a/Code/Mantid/Framework/Crystal/src/PeakIntegration.cpp +++ b/Code/Mantid/Framework/Crystal/src/PeakIntegration.cpp @@ -1,10 +1,3 @@ -/*WIKI* - - -Integrate and calculate error of integration of each peak from single crystal data and place results into peak workspace. Uses IkedaCarpenter function to fit TOF. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/Crystal/src/PeakIntensityVsRadius.cpp b/Code/Mantid/Framework/Crystal/src/PeakIntensityVsRadius.cpp index 1c4ed093085a..adf046672310 100644 --- a/Code/Mantid/Framework/Crystal/src/PeakIntensityVsRadius.cpp +++ b/Code/Mantid/Framework/Crystal/src/PeakIntensityVsRadius.cpp @@ -1,54 +1,3 @@ -/*WIKI* - -Integrates SCD peaks with a range of radii, in order to plot graphs of the integrated intensity vs radius. This can be useful to determine the correct integration radius for each peak. - -[[File:PeakIntensityVsRadius_fig.png|center|350px|{Integrated peak intensity vs integration radius for 3 SCD peaks}]] - -The algorithm requires a [[MDWorkspace]] of SCD data in reciprocal space; generated by e.g. [[ConvertToDiffractionMDWorkspace]]. -Also, you will need a [[PeaksWorkspace]] as the list of peaks to integrate. This can be generated using [[FindPeaksMD]], for example. - -The output will be -a [[Workspace2D]] with one spectrum per peak, where: -* X = peak radius -* Y/E = integrated intensity and error for the corresponding radius. -* Each peak is labeled with a string with "H K L". Use [[IndexPeaks]] to automatically find HKL values for peaks. - -This algorithm calls [[IntegratePeaksMD]] repeatedly, with the following -parameters filled in: -* '''PeakRadius''' = the radius, ranging from RadiusStart to RadiusEnd in NumSteps steps. -* '''BackgroundInnerRadius''' = radius * BackgroundInnerFactor ''OR'' BackgroundInnerRadius -* '''BackgroundOuterRadius''' = radius * BackgroundOuterFactor ''OR'' BackgroundOuterRadius - -=== Sample Usage === - - -# Load a SCD data set and find the peaks -LoadEventNexus(Filename=r'TOPAZ_3131_event.nxs',OutputWorkspace='TOPAZ_3131_nxs') -ConvertToDiffractionMDWorkspace(InputWorkspace='TOPAZ_3131_nxs',OutputWorkspace='TOPAZ_3131_md',LorentzCorrection='1') -FindPeaksMD(InputWorkspace='TOPAZ_3131_md',PeakDistanceThreshold='0.15',MaxPeaks='100',OutputWorkspace='peaks') -FindUBUsingFFT(PeaksWorkspace='peaks',MinD='2',MaxD='16') -IndexPeaks(PeaksWorkspace='peaks') - -# Run the PeakIntensityVsRadius algorithm, where the background shell scales with the PeakRadius -PeakIntensityVsRadius(InputWorkspace='TOPAZ_3131_md',PeaksWorkspace='peaks', - RadiusStart=0.00, RadiusEnd=0.15, NumSteps=51, - BackgroundInnerFactor=1.5,BackgroundOuterFactor=2, - OutputWorkspace='peak_vs_rad') - -# Run the PeakIntensityVsRadius algorithm, with fixed background shell radius -PeakIntensityVsRadius(InputWorkspace='TOPAZ_3131_md',PeaksWorkspace='peaks', - RadiusStart=0.00, RadiusEnd=0.15, NumSteps=51, - BackgroundInnerRadius=0.15,BackgroundOuterRadius=0.2, - OutputWorkspace='peak_vs_rad_fixed') - -# Plot a few of the peaks -plotSpectrum('peak_vs_rad', [0,2,3], error_bars=True) - - - - -*WIKI*/ - #include "MantidCrystal/PeakIntensityVsRadius.h" #include "MantidKernel/Strings.h" #include "MantidDataObjects/PeaksWorkspace.h" diff --git a/Code/Mantid/Framework/Crystal/src/PeaksInRegion.cpp b/Code/Mantid/Framework/Crystal/src/PeaksInRegion.cpp index 55d8f40bee32..1906528a4b00 100644 --- a/Code/Mantid/Framework/Crystal/src/PeaksInRegion.cpp +++ b/Code/Mantid/Framework/Crystal/src/PeaksInRegion.cpp @@ -1,8 +1,3 @@ -/*WIKI* -Determines which peaks intersect a defined box region in either QLab, QSample or HKL space. Similar to [[PeaksOnSurface]]. -*WIKI*/ - - #include "MantidCrystal/PeaksInRegion.h" #include "MantidKernel/ArrayProperty.h" #include "MantidKernel/MandatoryValidator.h" diff --git a/Code/Mantid/Framework/Crystal/src/PeaksOnSurface.cpp b/Code/Mantid/Framework/Crystal/src/PeaksOnSurface.cpp index a991049136eb..09b737250a20 100644 --- a/Code/Mantid/Framework/Crystal/src/PeaksOnSurface.cpp +++ b/Code/Mantid/Framework/Crystal/src/PeaksOnSurface.cpp @@ -1,7 +1,3 @@ -/*WIKI* -Determine whether a peak intersects a surface. Similar to [[PeaksInRegion]]. The vertexes of the surface must be provided. The vertexes must be provided in clockwise ordering starting at the lower left. -*WIKI*/ - #include "MantidCrystal/PeaksOnSurface.h" #include "MantidKernel/ArrayProperty.h" #include "MantidKernel/MandatoryValidator.h" @@ -240,4 +236,4 @@ namespace Crystal } // namespace Crystal -} // namespace Mantid \ No newline at end of file +} // namespace Mantid diff --git a/Code/Mantid/Framework/Crystal/src/PredictFractionalPeaks.cpp b/Code/Mantid/Framework/Crystal/src/PredictFractionalPeaks.cpp index 2a00b4238ce0..d330bcd872cb 100644 --- a/Code/Mantid/Framework/Crystal/src/PredictFractionalPeaks.cpp +++ b/Code/Mantid/Framework/Crystal/src/PredictFractionalPeaks.cpp @@ -1,26 +1,3 @@ -/*WIKI* -This Algorithm creates a PeaksWorkspace with peaks occurring at specific fractional offsets from -h,k,or l values. - -There are options to create Peaks offset from peaks from the input PeaksWorkspace, or to create peaks -offset from h,k, and l values in a range. Zero offsets are allowed if some or all integer h,k, or -l values are desired - -The input PeaksWorkspace must contain an orientation matrix and have been INDEXED by THIS MATRIX -when the new peaks are not created from a range of h ,k, and l values - -=== Example usage === - -from mantidsimple import * -PeaksWrkSpace=mtd["PeaksQa"] -#Can be created via PredictPeaks( then do NOT use next line) -FindUBUsingFFT(PeaksWrkSpace,3,15,.12) -IndexPeaks(PeaksWrkSpace,.12,1) -PredictFractionalPeaks(PeaksWrkSpace,"FracPeaks","-.5,0,.5","-.5,.5","0") -#NOTE: There are editing options on PeaksWorkspaces, like combining 2 PeaksWorkspaces. - - -*WIKI*/ /* * PredictFractionalPeaks.cpp * diff --git a/Code/Mantid/Framework/Crystal/src/PredictPeaks.cpp b/Code/Mantid/Framework/Crystal/src/PredictPeaks.cpp index 76036ad8261b..afce20ffdb8f 100644 --- a/Code/Mantid/Framework/Crystal/src/PredictPeaks.cpp +++ b/Code/Mantid/Framework/Crystal/src/PredictPeaks.cpp @@ -1,31 +1,3 @@ -/*WIKI* - -This algorithm will predict the position of single-crystal diffraction peaks (both in detector position/TOF and Q-space) and -create an output [[PeaksWorkspace]] containing the result. - -This algorithm uses the InputWorkspace to determine the instrument in use, as well as the UB Matrix and Unit Cell of the sample used. -You can use the [[CopySample]] algorithm (with CopyLattice=1) to copy a UB matrix from -a PeaksWorkspace to another workspace. - -The algorithm operates by calculating the scattering direction (given the UB matrix) for a particular HKL, and determining whether that hits a detector. -The Max/MinDSpacing parameters are used to determine what HKL's to try. - -The parameters of WavelengthMin/WavelengthMax also limit the peaks attempted to those that can be detected/produced by your instrument. - -=== Using HKLPeaksWorkspace === - -If you specify the HKLPeaksWorkspace parameter, then the algorithm will use the list of HKL in that workspace as the -starting point of HKLs, instead of doing all HKLs within range of Max/MinDSpacing and WavelengthMin/WavelengthMax. - -A typical use case for this method is to use [[FindPeaksMD]] followed by [[IndexPeaks]] to find the HKL of each peak. -The HKLs found will be floats, so specify RoundHKL=True in PredictPeaks to predict the position at the exact integer HKL. -This may help locate the center of peaks. - -Another way to use this algorithm is to use [[CreatePeaksWorkspace]] to create a workspace with the desired number of peaks. -Use python or the GUI to enter the desired HKLs. If these are fraction (e.g. magnetic peaks) then make sure RoundHKL=False. - -*WIKI*/ - #include "MantidCrystal/PredictPeaks.h" #include "MantidDataObjects/Peak.h" #include "MantidDataObjects/PeaksWorkspace.h" @@ -374,4 +346,3 @@ namespace Crystal } // namespace Mantid } // namespace Crystal - diff --git a/Code/Mantid/Framework/Crystal/src/SCDCalibratePanels.cpp b/Code/Mantid/Framework/Crystal/src/SCDCalibratePanels.cpp index de3741beca44..eb88525e2174 100644 --- a/Code/Mantid/Framework/Crystal/src/SCDCalibratePanels.cpp +++ b/Code/Mantid/Framework/Crystal/src/SCDCalibratePanels.cpp @@ -1,72 +1,3 @@ -/*WIKI* - - -This algorithm calibrates sets of Rectangular Detectors in one instrument. -The initial path, time offset,panel widths, panel heights, panel locations and orientation are all -adjusted so the error in q positions from the theoretical q positions is minimized. Also, there -are optimize options that take into account sample position and the need for rigid rotations. - -Some features: - -1) Panels can be grouped. - All panels in a group will move the same way and rotate the same way. If rigid rotations are - used, each panel is rotated about the center of the instrument, along with panel pixels rotating - around the panel's center. The height and widths of the panels in a group will - all change by the same factor - -2) The user can select which quantities to keep fixed during the optimization. - -3) The results can be saved to an ISAW-like DetCal file or in an xml file that can be used with the LoadParameter algorithm. - -4) Results from a previous optimization can be applied before another optimization is done. - The Levenberg-Marquardt optimization algorithm is used. Later iterations may have too small of changes for the parameters to - get to another optimum value. Restarting allows for the consideration of parameter values further away and also can change - constraints for the parameter values. This is also useful when fine tuning parameters that do not influence the errors as - much as other parameters. - -5) There are several output tables indicating the results of the fit - A) ResultWorkspace contains the results from fitting. - -t0 is in microseconds - -L0 is in meters - -*Xoffset,*Yoffset,and *Zoffset are in meters - -*Xrot,*Yrot, and *Zrot are in degrees. Note that Zrot is done first, then Yrot , the Xrot. - - B)QErrorWorkspace contains the Error in Q values for each peak, along with other associated information about the peak - - C)CovarianceInfo contains the "correlations"(*100) between each of the parameters - - 6) Maximum changes in the quantities that are altered during optimization are now settable. - -== "A" Workflow == - -Optimizing all variables at once may not be the best option. The errors become too large, so optimization in several stages -subsets of the variables are optimized at each stage. - -First: NOTE that the input PeaksWorkspace does NOT CHANGE. This means you should be able to keep trying different sets of -variables until things look good. - -To work on another set of variables with the optimized first round of optimized values - -#Use Preprocessinstrument to apply the previous DetCal or xml file before optimizing AND - -#Change the name of the target DetCal file, in case the choice of variables is not good. Then you will not clobber the good -DetCal file. AND - -#Change the name of the ResultWorkspace in the properties list. This means you will have a copy of the results from the -previous trial(s)( along with chiSq values) to compare results. - -Do check the chiSquared values. If they do not decrease, you were close to a minimum and the optimization could not get back -to that minimum. It makes a large jump at the beginning. - - -== After Calibration == - -After calibration, you can save the workspace to Nexus (or Nexus processed) and get it back by loading in a later Mantid session. -You can copy the calibration to another workspace using the same instrument by means of the [[CopyInstrumentParameters]] algorithm. -To do so select the workspace, which you have calibrated as the InputWorkspace and the workspace you want to copy the calibration to, the OutputWorkspace. - -*WIKI*/ - #include "MantidCrystal/SCDCalibratePanels.h" #include "MantidAPI/Algorithm.h" #include "MantidAPI/ConstraintFactory.h" diff --git a/Code/Mantid/Framework/Crystal/src/SCDPanelErrors.cpp b/Code/Mantid/Framework/Crystal/src/SCDPanelErrors.cpp index 47cf04900827..93b045be3300 100644 --- a/Code/Mantid/Framework/Crystal/src/SCDPanelErrors.cpp +++ b/Code/Mantid/Framework/Crystal/src/SCDPanelErrors.cpp @@ -1,68 +1,3 @@ -/*WIKI* - *This fit function is used for calibrating RectangularDetectors by adjusting L0, time offset, panel width, -panel height, panel center, panel orientation, and allow for the sample being offset from the instrument center. - - -===Attributes=== -This fit function is used for calibrating RectangularDetectors by adjusting L0, time offset, panel width, -panel height, panel center, panel orientation, and allow for the sample being offset from the instrument center. - - -===Attributes=== -* a -The lattice parameter a -* b -The lattice parameter b -* c -The lattice parameter c -* alpha -The lattice parameter alpha in degrees -* beta -The lattice parameter beta in degrees -* gamma -The lattice parameter gamma in degrees -* PeakWorkspaceName-The name of the PeaksWorkspace in the Analysis Data Service. -:This peak must be indexed by a UB matrix whose lattice parameters are CLOSE to the above -:lattice paramters -* NGroups-The number of grouping of banks to be considered -* BankNames-a list of banknames separated by "/" or a "!" if the next bank is in a different group. -:Bank names from the same group belong together("Requirement" for use with the Fit algorithm) -* startX- -1 or starting position in the workspace( see below) to start calculating the outputs -* endX- -1 or 1+ ending position in the workspace( see below) to start calculating the outputs -* RotateCenters-Boolean. If false Rotations are only about the center of the banks. Otherwise rotations are ALSO -:around center of the instrument( For groups of banks, this will result in a rotation about the center of all pixels.) -* SampleOffsets-Boolean. A sample being off from the center of the goniometer can result in larger errors. - -===Workspace=== - -A Workspace2D with 1 spectra. The xvalues of the spectra are for each peak, the peak index repeated 3 times. The -y values are all zero and the errors are all 1.0 - -This spectra may have to be copied 3 times because of requirements from the fitting system. - -===Parameters=== -* l0- the initial Flight path in units from Peak.getL1 -* t0-Time offset in the same units returned with Peak.getTOF) -* SampleX-Sample x offset in the same units returned with Peak.getDetPos().norm() -* SampleY-Sample y offset in the same units returned with Peak.getDetPos().norm() -* SampleZ-Sample z offset in the same units returned with Peak.getDetPos().norm() -* f*_detWidthScale-panel Width for Group* in the same units returned with Peak.getDetPos().norm() -* f*_detHeightScale-panel Height for Group* in the same units returned with Peak.getDetPos().norm() -* f*_Xoffset-Panel Center x offsets for Group* banks in the same units returned with Peak.getDetPos().norm() -* f*_Yoffset-Panel Center y offsets for Group* banks in the same units returned with Peak.getDetPos().norm() -* f*_Zoffset-Panel Center z offsets for Group* banks in the same units returned with Peak.getDetPos().norm() -* f*_Xrot-Rotations(degrees) for Group* banks around "Center" in x axis direction -* f*_Yrot-Rotations(degrees) for Group* banks around "Center" in y axis direction -* f*_Zrot-Rotations(degrees) for Group* banks around "Center" in z axis direction -* SampleX -sample X offset in meters(Really Goniometer X offset) -* SampleY- sample Y offset in meters -* SampleZ- sample Z offset in meters - -The order of rotations correspond to the order used in all of Mantid. - -===Output=== -The argument out from function1D ,for each peak, gives the error in qx, qy, and qz. -The theoretical values for the qx, qy and qz are found as follows: -* Calculating the best fitting UB for the given indexing and parameter values -* Find U -* The theoretical UB is then U*B0 where B0 is formed from the supplied lattice parameters -* The theoretical qx,qy,and qz can be obtained by multiplying the hkl for the peak by this matrix(/2π) - - *WIKI*/ #include "MantidCrystal/SCDPanelErrors.h" #include "MantidCrystal/SCDCalibratePanels.h" #include "MantidAPI/WorkspaceFactory.h" diff --git a/Code/Mantid/Framework/Crystal/src/SaveHKL.cpp b/Code/Mantid/Framework/Crystal/src/SaveHKL.cpp index b11cc8805646..1eacba2ab53f 100644 --- a/Code/Mantid/Framework/Crystal/src/SaveHKL.cpp +++ b/Code/Mantid/Framework/Crystal/src/SaveHKL.cpp @@ -1,37 +1,3 @@ -/*WIKI* -Used same format that works successfully in GSAS and SHELX from ISAW: - -hklFile.write('%4d%4d%4d%8.2f%8.2f%4d%8.4f%7.4f%7d%7d%7.4f%4d%9.5f%9.4f\n'% (H, K, L, FSQ, SIGFSQ, hstnum, WL, TBAR, CURHST, SEQNUM, TRANSMISSION, DN, TWOTH, DSP)) - -HKL is flipped by -1 due to different q convention in ISAW vs Mantid. - -FSQ = integrated intensity of peak (scaled) - -SIGFSQ = sigma from integrating peak - -hstnum = number of sample orientation (starting at 1) - -WL = wavelength of peak - -TBAR = output of absorption correction (-log(transmission)/mu) - -CURHST = run number of sample - -SEQNUM = peak number (unique number for each peak in file) - -TRANSMISSION = output of absorption correction (exp(-mu*tbar)) - -DN = detector bank number - -TWOTH = two-theta scattering angle - -DSP = d-Spacing of peak (Angstroms)/TR - -Last line must have all 0's - - - -*WIKI*/ #include "MantidAPI/FileProperty.h" #include "MantidAPI/WorkspaceValidators.h" #include "MantidCrystal/SaveHKL.h" @@ -572,4 +538,3 @@ namespace Crystal } // namespace Mantid } // namespace Crystal - diff --git a/Code/Mantid/Framework/Crystal/src/SaveIsawPeaks.cpp b/Code/Mantid/Framework/Crystal/src/SaveIsawPeaks.cpp index 197fac0b50f4..86b384c22a61 100644 --- a/Code/Mantid/Framework/Crystal/src/SaveIsawPeaks.cpp +++ b/Code/Mantid/Framework/Crystal/src/SaveIsawPeaks.cpp @@ -1,12 +1,3 @@ -/*WIKI* - - - -Save a PeaksWorkspace to a ISAW-style ASCII .peaks file. - - - -*WIKI*/ #include "MantidAPI/FileProperty.h" #include "MantidAPI/WorkspaceValidators.h" #include "MantidCrystal/SaveIsawPeaks.h" diff --git a/Code/Mantid/Framework/Crystal/src/SaveIsawUB.cpp b/Code/Mantid/Framework/Crystal/src/SaveIsawUB.cpp index 54e8e3aea902..b60282afa10b 100644 --- a/Code/Mantid/Framework/Crystal/src/SaveIsawUB.cpp +++ b/Code/Mantid/Framework/Crystal/src/SaveIsawUB.cpp @@ -1,16 +1,3 @@ -/*WIKI* - -This saves a workspace's UB matrix to an ISAW-style UB matrix text file. - -The resulting file can be loaded again into another workspace by using the [[LoadIsawUB]] algorithm. - -The matrix saved is the transpose of the UB Matrix. -The UB matrix maps the column vector (h,k,l ) to the column vector (q'x,q'y,q'z). -|Q'|=1/dspacing and its coordinates are a right-hand coordinate system where x -is the beam direction and z is vertically upward. (IPNS convention) - - -*WIKI*/ #include "MantidAPI/FileProperty.h" #include "MantidCrystal/SaveIsawUB.h" #include "MantidKernel/Matrix.h" @@ -203,4 +190,3 @@ namespace Crystal } // namespace Mantid } // namespace Crystal - diff --git a/Code/Mantid/Framework/Crystal/src/SelectCellOfType.cpp b/Code/Mantid/Framework/Crystal/src/SelectCellOfType.cpp index b39113de7629..317d8c4d3bc8 100644 --- a/Code/Mantid/Framework/Crystal/src/SelectCellOfType.cpp +++ b/Code/Mantid/Framework/Crystal/src/SelectCellOfType.cpp @@ -1,25 +1,3 @@ -/*WIKI* - - -Given a PeaksWorkspace with a UB matrix corresponding to a Niggli reduced cell, -this algorithm will allow the user to select a conventional cell with a -specified cell type and centering. If the apply flag is not set, the -information about the selected cell will just be displayed. If the apply -flag is set, the UB matrix associated with the sample in the PeaksWorkspace -will be updated to a UB corresponding to the selected cell AND the peaks will -be re-indexed using the new UB matrix. NOTE: The possible conventional cells, -together with the corresponding errors in the cell scalars can be seen by -running the ShowPossibleCells algorithm, provided the stored UB matrix -corresponds to a Niggli reduced cell. - -This algorithm is based on the paper: "Lattice Symmetry and Identification --- The Fundamental Role of Reduced Cells in Materials Characterization", -Alan D. Mighell, Vol. 106, Number 6, Nov-Dec 2001, Journal of Research of -the National Institute of Standards and Technology, available from: -nvlpubs.nist.gov/nistpubs/jres/106/6/j66mig.pdf. - - -*WIKI*/ #include "MantidCrystal/SelectCellOfType.h" #include "MantidCrystal/IndexPeaks.h" #include "MantidDataObjects/PeaksWorkspace.h" @@ -197,4 +175,3 @@ namespace Crystal } // namespace Mantid } // namespace Crystal - diff --git a/Code/Mantid/Framework/Crystal/src/SelectCellWithForm.cpp b/Code/Mantid/Framework/Crystal/src/SelectCellWithForm.cpp index 8332b9d49b5f..f790dd0fe805 100644 --- a/Code/Mantid/Framework/Crystal/src/SelectCellWithForm.cpp +++ b/Code/Mantid/Framework/Crystal/src/SelectCellWithForm.cpp @@ -1,25 +1,3 @@ -/*WIKI* - - -Given a PeaksWorkspace with a UB matrix corresponding to a Niggli reduced cell, -this algorithm will allow the user to select a conventional cell corresponding -to a specific form number from the Mighell paper. If the apply flag is not set, -the information about the selected cell will just be displayed. If the apply -flag is set, the UB matrix associated with the sample in the PeaksWorkspace -will be updated to a UB corresponding to the selected cell AND the peaks will -be re-indexed using the new UB matrix. NOTE: The possible conventional cells, -together with the corresponding errors in the cell scalars can be seen by -running the ShowPossibleCells algorithm, provided the stored UB matrix -corresponds to a Niggli reduced cell. - -This algorithm is based on the paper: "Lattice Symmetry and Identification --- The Fundamental Role of Reduced Cells in Materials Characterization", -Alan D. Mighell, Vol. 106, Number 6, Nov-Dec 2001, Journal of Research of -the National Institute of Standards and Technology, available from: -nvlpubs.nist.gov/nistpubs/jres/106/6/j66mig.pdf. - - -*WIKI*/ #include "MantidCrystal/SelectCellWithForm.h" #include "MantidCrystal/IndexPeaks.h" #include "MantidDataObjects/PeaksWorkspace.h" @@ -235,4 +213,3 @@ namespace Crystal } // namespace Mantid } // namespace Crystal - diff --git a/Code/Mantid/Framework/Crystal/src/SetGoniometer.cpp b/Code/Mantid/Framework/Crystal/src/SetGoniometer.cpp index ca2ce08e888d..5a2fd9ef5625 100644 --- a/Code/Mantid/Framework/Crystal/src/SetGoniometer.cpp +++ b/Code/Mantid/Framework/Crystal/src/SetGoniometer.cpp @@ -1,21 +1,3 @@ -/*WIKI* - - - -Use this algorithm to define your goniometer. Enter each axis in the order of rotation, starting with the one farthest from the sample. - -You may enter up to 6 axes, for which you must define (separated by commas): -* The name of the axis, which MUST match the name in your sample logs. You can specify a number, and a log value will be created (GoniometerAxis?_FixedValue, where ? is the axis number) -* The X, Y, Z components of the vector of the axis of rotation. Right-handed coordinates with +Z=beam direction; +Y=Vertically up (against gravity); +X to the left. -* The sense of rotation as 1 or -1: 1 for counter-clockwise, -1 for clockwise rotation. - -The run's sample logs will be used in order to determine the actual angles of rotation: for example, if you have an axis called 'phi', then the first value of the log called 'phi' will be used as the rotation angle. Units are assumed to be degrees. - -The "Universal" goniometer at SNS is equivalent to Axis0 tied to the "omega" log pointing vertically upward, Axis1 tied to "chi" log, pointing along the beam, and Axis2 tied to "phi", pointing vertically upward. - -SetGoniometer(w,"Universal") is the same as SetGoniometer(w,Axis0="omega,0,1,0,1",Axis1="chi,0,0,1,1",Axis1="phi,0,1,0,1") - -*WIKI*/ #include "MantidCrystal/SetGoniometer.h" #include "MantidKernel/System.h" #include @@ -172,4 +154,3 @@ namespace Crystal } // namespace Mantid } // namespace Crystal - diff --git a/Code/Mantid/Framework/Crystal/src/SetSpecialCoordinates.cpp b/Code/Mantid/Framework/Crystal/src/SetSpecialCoordinates.cpp index 642a1d660415..7cd4ddb6a080 100644 --- a/Code/Mantid/Framework/Crystal/src/SetSpecialCoordinates.cpp +++ b/Code/Mantid/Framework/Crystal/src/SetSpecialCoordinates.cpp @@ -1,9 +1,3 @@ -/*WIKI* -[[MDEventWorkspace]]s and [[MDHistoWorkspace]]s can be used with any type of coordinate system. On the other hand [[PeaksWorkspace]]s may be plotted either in QLab, QSample or HKL. There is an inherent link between a PeaksWorkspace and a MDWorkspace in that an MDWorkspace may utilise the same coordinate systems as the PeaksWorkspaces. For example, workspaces created via [[ConvertToMD]] or [[ConvertToDiffractionMDWorkspace]] may be generated in a special set of V3D coordinates, which are the same as those for the PeaksWorkspace (QLab, QSample, HKL). Amongst other usages, in order to be able to simultaneously plot MDWorkspaces and PeaksWorkspaces, it is necessary to be able to determine what (if any) special coordinates the Workspaces were created in, or are currently using. - -This algorithm is for backwards compatibility. The special coordinates flags are new, and legacy workspaces will need to be corrected in order for them to work as expected with the Mantid tools. -*WIKI*/ - #include "MantidCrystal/SetSpecialCoordinates.h" #include "MantidAPI/WorkspaceValidators.h" #include "MantidAPI/IMDWorkspace.h" diff --git a/Code/Mantid/Framework/Crystal/src/SetUB.cpp b/Code/Mantid/Framework/Crystal/src/SetUB.cpp index e0f24543014b..9e862a781f16 100644 --- a/Code/Mantid/Framework/Crystal/src/SetUB.cpp +++ b/Code/Mantid/Framework/Crystal/src/SetUB.cpp @@ -1,10 +1,3 @@ -/*WIKI* -The algorithms will attach an OrientedLattice object to a sample in the workspace. For MD workspaces, you can select to which sample to attach it. If nothing entered, it will attach to all. If bad number is enetered, it will attach to first sample. - -If UB matrix elements are entered, lattice parameters and orientation vectors are ignored. The algorithm will throw an exception if the determinant is 0. -If the UB matrix is all zeros (default), it will calculate it from lattice parameters and orientation vectors. The algorithm will throw an exception if u and v are collinear, or one of them is very small in magnitude. -*WIKI*/ - #include "MantidCrystal/SetUB.h" #include "MantidKernel/System.h" #include "MantidKernel/ArrayProperty.h" diff --git a/Code/Mantid/Framework/Crystal/src/ShowPeakHKLOffsets.cpp b/Code/Mantid/Framework/Crystal/src/ShowPeakHKLOffsets.cpp index 6e2cb82b4d0c..f6e949d6fe86 100644 --- a/Code/Mantid/Framework/Crystal/src/ShowPeakHKLOffsets.cpp +++ b/Code/Mantid/Framework/Crystal/src/ShowPeakHKLOffsets.cpp @@ -1,11 +1,3 @@ -/*WIKI* -Creates a TableWorkspace with offsets of h,k,and l from an integer along with bank and run number. - -The maximum of these offsets is also included. - -Histograms, scatterplots, etc. of this data can be used to detect problems. - -*WIKI*/ #include "MantidDataObjects/PeaksWorkspace.h" #include "MantidAPI/WorkspaceProperty.h" #include "MantidKernel/Property.h" @@ -135,5 +127,3 @@ namespace Mantid } //namespace Crystal } //namespace Mantid - - diff --git a/Code/Mantid/Framework/Crystal/src/ShowPossibleCells.cpp b/Code/Mantid/Framework/Crystal/src/ShowPossibleCells.cpp index 0fc69e18ba6f..b4d678d40502 100644 --- a/Code/Mantid/Framework/Crystal/src/ShowPossibleCells.cpp +++ b/Code/Mantid/Framework/Crystal/src/ShowPossibleCells.cpp @@ -1,22 +1,3 @@ -/*WIKI* - - -Given a PeaksWorkspace with a UB matrix corresponding to a Niggli reduced cell, -this algorithm will display a list of possible conventional cells. The -max scalar error property sets a limit on the maximum allowed error in the -cell scalars, to restrict the list to possible cells that are a good match -for the current reduced cell. The list can also be forced to contain only -the best fitting conventional cell for each Bravais lattice type, by setting -the best only property to true. - -This algorithm is based on the paper: "Lattice Symmetry and Identification --- The Fundamental Role of Reduced Cells in Materials Characterization", -Alan D. Mighell, Vol. 106, Number 6, Nov-Dec 2001, Journal of Research of -the National Institute of Standards and Technology, available from: -nvlpubs.nist.gov/nistpubs/jres/106/6/j66mig.pdf. - - -*WIKI*/ #include "MantidCrystal/ShowPossibleCells.h" #include "MantidDataObjects/PeaksWorkspace.h" #include "MantidDataObjects/Peak.h" @@ -129,4 +110,3 @@ namespace Crystal } // namespace Mantid } // namespace Crystal - diff --git a/Code/Mantid/Framework/Crystal/src/SortHKL.cpp b/Code/Mantid/Framework/Crystal/src/SortHKL.cpp index 7a8071990565..53b3a2939827 100644 --- a/Code/Mantid/Framework/Crystal/src/SortHKL.cpp +++ b/Code/Mantid/Framework/Crystal/src/SortHKL.cpp @@ -1,7 +1,3 @@ -/*WIKI* -Peaks are sorted first by H, then K, and then L. For equivalent HKL in the point group, the intensity is averaged and all the equivalent HKLs have the same average intensity. Outliers with zscore > 3 from each group of equivalent HKLs are not included in the average. - -*WIKI*/ #include "MantidAPI/FileProperty.h" #include "MantidAPI/WorkspaceValidators.h" #include "MantidCrystal/SortHKL.h" @@ -241,4 +237,3 @@ namespace Crystal } // namespace Mantid } // namespace Crystal - diff --git a/Code/Mantid/Framework/Crystal/src/SortPeaksWorkspace.cpp b/Code/Mantid/Framework/Crystal/src/SortPeaksWorkspace.cpp index 5adddec7d1b8..ec49f14cb27e 100644 --- a/Code/Mantid/Framework/Crystal/src/SortPeaksWorkspace.cpp +++ b/Code/Mantid/Framework/Crystal/src/SortPeaksWorkspace.cpp @@ -1,17 +1,3 @@ -/*WIKI* -Sort a peaks workspace by a single column. Sorting of that PeaksWorkspace by that column can either happen in an ascending or descending fashion. The algorithm can either be used to generate a new OutputWorkspace, which is sorted as requested, or to perform an in-place sort of the InputWorkspace. - - *WIKI*/ -/*WIKI_USAGE* -The following show some python usage examples. - -1. Sorting to form a newly sorted copy of the input workspace. - sorted_workspace = SortPeaksWorkspace(InputWorkspace=workspace_to_sort, ColumnNameToSortBy='k') - -2. Sorting performed in-place. - workspace_to_sort_inplace = SortPeaksWorkspace(InputWorkspace = workspace_to_sort_inplace, ColumnNameToSortBy='l') - -*WIKI_USAGE*/ #include "MantidCrystal/SortPeaksWorkspace.h" #include "MantidKernel/PropertyWithValue.h" #include "MantidKernel/MandatoryValidator.h" diff --git a/Code/Mantid/Framework/Crystal/src/TOFExtinction.cpp b/Code/Mantid/Framework/Crystal/src/TOFExtinction.cpp index e955f20a76c8..a8c6ddd99929 100644 --- a/Code/Mantid/Framework/Crystal/src/TOFExtinction.cpp +++ b/Code/Mantid/Framework/Crystal/src/TOFExtinction.cpp @@ -1,25 +1,3 @@ -/*WIKI* - Extinction Correction Program - The program is to apply extinction correction for single crystal diffraction - intensity data measured at the TOPAZ beam line, Spallation Neutron Source, - Oak Ridge National Laboratory. The Zachariasen (1967) and Becker & Coppens -(1974) methods, initially developed for monochromatic-source, have been adopted - for time-of-flight neutron-beam diffraction. The TOF formulation is necessary - for correcting the nominal variations in crystal mosaic distributions with changes - in neutron wavelength, Tomiyoshi et.al(1980). - - Input is Fsq's saved in peaks workspace - The extinction coefficients are obtained from measured Fo_squared through - an interation process,Maslen & Spadaccini(1993). - Output is Fsq's corrected for extinction. - - Xiaoping Wang, January, 2012 - - Zachariasen, W. H. (1967). Acta Cryst. A23, 558. - Becker, P. J. & Coppens, P. (1974). Acta Cryst. A30, 129. - S. Tomiyoshi, M. Yamada and H. Watanabe, Acta Cryst. (1980). A36, 600. - Maslen, E. N. & Spadaccini, N. Acta Cryst. (1993). A49, 661. -*WIKI*/ #include "MantidAPI/FileProperty.h" #include "MantidAPI/WorkspaceValidators.h" #include "MantidCrystal/TOFExtinction.h" @@ -444,4 +422,3 @@ namespace Crystal } // namespace Mantid } // namespace Crystal - diff --git a/Code/Mantid/Framework/Crystal/src/TransformHKL.cpp b/Code/Mantid/Framework/Crystal/src/TransformHKL.cpp index 05cba9379cf0..8b43af9f5d34 100644 --- a/Code/Mantid/Framework/Crystal/src/TransformHKL.cpp +++ b/Code/Mantid/Framework/Crystal/src/TransformHKL.cpp @@ -1,10 +1,3 @@ -/*WIKI* - - -Given a PeaksWorkspace with a UB matrix stored with the sample, this algoritm will accept a 3x3 transformation matrix M, change UB to UB*M-inverse and map each (HKL) vector to M*(HKL). For example, the transformation with elements 0,1,0,1,0,0,0,0,-1 will interchange the H and K values and negate L. This algorithm should allow the usr to perform any required transformation of the Miller indicies, provided that transformation has a positive determinant. If a transformation with a negative or zero determinant is entered, the algorithm with throw an exception. The 9 elements of the transformation must be specified as a comma separated list of numbers. - - -*WIKI*/ #include "MantidCrystal/TransformHKL.h" #include "MantidKernel/System.h" #include "MantidDataObjects/PeaksWorkspace.h" @@ -200,4 +193,3 @@ namespace Crystal } // namespace Mantid } // namespace Crystal - diff --git a/Code/Mantid/Framework/CurveFitting/src/Abragam.cpp b/Code/Mantid/Framework/CurveFitting/src/Abragam.cpp index b2a101e99bd4..4075b582a6eb 100644 --- a/Code/Mantid/Framework/CurveFitting/src/Abragam.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/Abragam.cpp @@ -1,7 +1,3 @@ -/*WIKI* -Abragam fitting function for use by Muon scientists defined by -: \mbox{A}\times cos( 2 \pi \times {Omega} \times {x} + {Phi} ) \times \exp(-{Sigma}^2 \times Tau^2 \times {x}^2 \times ( exp ( {x} / Tau ) - 1 + {x} / Tau ) ) - *WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/CurveFitting/src/BSpline.cpp b/Code/Mantid/Framework/CurveFitting/src/BSpline.cpp index 3b5c9cdc61ee..c1ffb8492db9 100644 --- a/Code/Mantid/Framework/CurveFitting/src/BSpline.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/BSpline.cpp @@ -1,14 +1,3 @@ -/*WIKI* - -This function creates spline using the set of points and interpolates the input between them. - -First and second derivatives from the spline can be calculated by using the derivative1D function. - -BSpline function takes a set of attributes and a set of parameters. The first attrbiute is 'n' which has integer type and sets the number of interpolation points. -The parameter names have the form 'yi' where 'y' is letter 'y' and 'i' is the parameter's index starting from 0 and have the type double. Likewise, the attribute names have the form 'xi'. - - *WIKI*/ - //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/CurveFitting/src/BackToBackExponential.cpp b/Code/Mantid/Framework/CurveFitting/src/BackToBackExponential.cpp index a51f84c1ff7c..7b2ce9d87ffa 100644 --- a/Code/Mantid/Framework/CurveFitting/src/BackToBackExponential.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/BackToBackExponential.cpp @@ -1,29 +1,3 @@ -/*WIKI* -A back-to-back exponential peakshape function is defined as: - -: I\frac{AB}{2(A+B)}\left[ \exp \left( \frac{A[AS^2+2(x-X0)]}{2}\right) \mbox{erfc}\left( \frac{AS^2+(x-X0)}{S\sqrt{2}} \right) + \exp \left( \frac{B[BS^2-2(x-X0)]}{2} \right) \mbox{erfc} \left( \frac{[BS^2-(x-X0)]}{S\sqrt{2}} \right) \right]. - -This peakshape function represent the convolution of back-to-back exponentials and a gaussian function and is designed to -be used for the data analysis of time-of-flight neutron powder diffraction data, see Ref. 1. - -The parameters A and B represent the absolute value of the exponential rise and decay constants (modelling the neutron pulse coming from the moderator) -and S represent the standard deviation of the gaussian. The parameter X0 is the location of the peak; more specifically it represent -the point where the exponentially modelled neutron pulse goes from being exponentially rising to exponentially decaying. I is the integrated intensity. - -For information about how to convert Fullprof back-to-back exponential parameters into those used for this function see [[CreateBackToBackParameters]]. - -References - -1. R.B. Von Dreele, J.D. Jorgensen & C.G. Windsor, J. Appl. Cryst., 15, 581-589, 1982 - -The figure below illustrate this peakshape function fitted to a TOF peak: - -[[Image:BackToBackExponentialWithConstBackground.png]] - -== Properties == - -''Note the initial default guesses for in particular A and B are only based on fitting a couple of peaks in a dataset collected on the ISIS's HRPD instrument.'' - *WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/CurveFitting/src/BivariateNormal.cpp b/Code/Mantid/Framework/CurveFitting/src/BivariateNormal.cpp index 78160984500a..d804ee1c3528 100644 --- a/Code/Mantid/Framework/CurveFitting/src/BivariateNormal.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/BivariateNormal.cpp @@ -1,43 +1,3 @@ -/*WIKI* - - Provides a peak shape function interface for a peak on one time slice of a Rectangular detector. - -Formula: V=Background+Intensity*Normal( μx, μy, σx, σy) - -The Normal(..) is the Normal probability density function. Its integral over all x(col) and y(row) values is one. This means that Intensity is the total intensity with background removed. - - -===Attributes=== - -There is only one Attribute: '''CalcVariances'''. This attribute is boolean. - -If true, the variances are calculated from the data, given the means, variances and covariance. -Otherwise they will become parameters and fit. - -CalcVariances = true gives better/more stable results for peaks interior to the Rectangular Detector. For peaks close to the edge, CalcVariances should be false. - -===Parameters=== - -# Background - The background of the peak -# Intensity - The intensity of data for the peak on this time slice -# Mcol - The col(x) of the center of the peak -# Mrow - The row(y) of the center of the peak on this slice -# ------- If CalcVariances is false, the following 3 parameters are also fit--------- -# SScol -The variance of the column(x) values in the peak for this time slice -# SSrow - The variance of the row(y) values in the peak for this time slice -# SSrc - The covariance of the row(x) and column(y) values in the peak for this time slice - -===Usage=== -The workspace can be "any" MatrixWorkspace where -# dataY(1) is the column(x) values for the pixels to be considered -# dataY(2) is the row(y) values for the pixels to be considered -# dataY(0)is the experimental data at the corresponding row and column for a panel and time slice( or merged time slices or...) - -The data can have missing row and column values and need not represent a square or contiguous subregion of a panel - -The values for out in function1D are, for each pixel, the difference of V(see formula) and dataY(0). - - *WIKI*/ #include "MantidCurveFitting/BivariateNormal.h" #include "MantidCurveFitting/BoundaryConstraint.h" #include "MantidAPI/MatrixWorkspace.h" diff --git a/Code/Mantid/Framework/CurveFitting/src/CalculateGammaBackground.cpp b/Code/Mantid/Framework/CurveFitting/src/CalculateGammaBackground.cpp index c1329b14d724..3724b8cd5bf5 100644 --- a/Code/Mantid/Framework/CurveFitting/src/CalculateGammaBackground.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/CalculateGammaBackground.cpp @@ -1,13 +1,3 @@ -/*WIKI* -This algorithm is currently used by the Vesuvio spectrometer at ISIS to correct for background produced by photons -that are produced when the neutrons are absorbed by the shielding on the instrument. It only corrects the forward scattering -detector banks. - -Two workspaces are produced: the calculated background and a corrected workspace where the input workspace has been -corrected by the background. The background is computed by a simple simulation of the expected count across all of the foils. The -corrected workspace counts are computed by calculating a ratio of the expected counts at the detector to the integrated foil counts (\beta) -and then the final corrected count rate \displaystyle c_f is defined as \displaystyle c_f = c_i - \beta c_b. -*WIKI*/ #include "MantidCurveFitting/CalculateGammaBackground.h" #include "MantidCurveFitting/ComptonProfile.h" #include "MantidCurveFitting/ConvertToYSpace.h" diff --git a/Code/Mantid/Framework/CurveFitting/src/Chebyshev.cpp b/Code/Mantid/Framework/CurveFitting/src/Chebyshev.cpp index af3115f51c71..3f912f80818f 100644 --- a/Code/Mantid/Framework/CurveFitting/src/Chebyshev.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/Chebyshev.cpp @@ -1,29 +1,3 @@ -/*WIKI* -This function calculates a partial Chebyshev expansion - -: \sum_{n=0}^N a_n T_n(a+bx) - -where a_n are the expansion coefficients and T_n(x) are -Chebyshev polynomials of the first kind defined by the reccurence relation - -:T_0(x)=1 \,\! - -:T_1(x)=x \,\! - -:T_{n+1}(x)= 2xT_n(x)-T_{n-1}(x) \,\! - -Coefficients a and b are defined to map the fitting interval -into [-1,1] interval. - -Chebyshev function has tree attributes (non-fitting parameters). First is 'n' which has -integer type and sets the expansion order and creates n+1 expansion coefficients (fitting -parameters). The parameter names have the form 'Ai' where 'A' is letter 'A' and 'i' is the -parameter's index starting from 0. - -The other two attributes are doubles 'StartX' and 'EndX' which define the expansion (fitting) interval. - - *WIKI*/ - //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/CurveFitting/src/ConvertToYSpace.cpp b/Code/Mantid/Framework/CurveFitting/src/ConvertToYSpace.cpp index 26583fcf430c..0c615888a88a 100644 --- a/Code/Mantid/Framework/CurveFitting/src/ConvertToYSpace.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/ConvertToYSpace.cpp @@ -1,14 +1,3 @@ -/*WIKI* -The final unit of the x-axis is changed to momentum (Y) space as defined by -
Y = 0.2393\frac{M}{\epsilon_i^{0.1}}(\omega - \frac{q^2}{2M})
-where M is the mass in atomic mass units, \displaystyle\epsilon is the incident energy, \displaystyle\omega -is the energy change and q is defined as -\sqrt{(k_0^2 + k_1^2 - 2k_0k_1\cos(\theta))}. - -The TOF is used to calculate \displaystyle\epsilon_i and the \displaystyle1/\epsilon dependence causes an increasing set of TOF values to be mapped -to a decreasing set of \displaystyle Y values. As a result the final Y-space values are reversed to give a workspace with monotonically increasing Y values. -*WIKI*/ - #include "MantidCurveFitting/ConvertToYSpace.h" #include "MantidAPI/WorkspaceValidators.h" diff --git a/Code/Mantid/Framework/CurveFitting/src/Convolution.cpp b/Code/Mantid/Framework/CurveFitting/src/Convolution.cpp index db17dd1d44b8..a3ef49747fdc 100644 --- a/Code/Mantid/Framework/CurveFitting/src/Convolution.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/Convolution.cpp @@ -1,21 +1,3 @@ -/*WIKI* -Convolution is an extension of [[CompositeFunction]] which performs convolution of its members using Fast Fourier Transform. - -: f(x)=\int\limits_{A}^{B}R(x-\xi)F(\xi)\mbox{d}\xi - -Here R is the first member function and F is the second member. A Convolution must have exactly two member functions. The members can be composite if necessary. Interval [A,B] is the fitting interval. The function is evaluated by first transforming R and F to the Fourier domain, multiplying the transforms, then transforming back to the original domain. The GSL FFT routines are used to do the actual transformations. - -It should be noted that the two functions (R and F) are evaluated on different intervals. F is computed on [A,B] while R is computed on [-\Delta/2, \Delta/2], where \Delta=B-A. - -In the following example a [[Gaussian]] is convolved with a box function: - -[[Image:Convolution.png]] - -Note that the box function is defined on interval [-5, 5]: - -[[Image:Box.png]] - *WIKI*/ - //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -335,4 +317,3 @@ void Convolution::refreshResolution()const } // namespace CurveFitting } // namespace Mantid - diff --git a/Code/Mantid/Framework/CurveFitting/src/ConvolveWorkspaces.cpp b/Code/Mantid/Framework/CurveFitting/src/ConvolveWorkspaces.cpp index d30ae52af163..f51404e7da63 100644 --- a/Code/Mantid/Framework/CurveFitting/src/ConvolveWorkspaces.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/ConvolveWorkspaces.cpp @@ -1,9 +1,3 @@ -/*WIKI* - - -Convolution of two workspaces using [[Convolution]] from CurveFitting. Workspaces must have the same number of spectra. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -113,4 +107,3 @@ void ConvolveWorkspaces::exec() } // namespace Algorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/CurveFitting/src/CubicSpline.cpp b/Code/Mantid/Framework/CurveFitting/src/CubicSpline.cpp index 9d81fd3f148f..36e9c7af9616 100644 --- a/Code/Mantid/Framework/CurveFitting/src/CubicSpline.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/CubicSpline.cpp @@ -1,14 +1,3 @@ -/*WIKI* - -This function creates spline using the set of points and interpolates the input between them. - -First and second derivatives from the spline can be calculated by using the derivative1D function. - -CubicSpline function takes a set of attributes and a set of parameters. The first attrbiute is 'n' which has integer type and sets the number of interpolation points. -The parameter names have the form 'yi' where 'y' is letter 'y' and 'i' is the parameter's index starting from 0 and have the type double. Likewise, the attribute names have the form 'xi'. - - *WIKI*/ - //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/CurveFitting/src/DiffRotDiscreteCircle.cpp b/Code/Mantid/Framework/CurveFitting/src/DiffRotDiscreteCircle.cpp index f5f3a6344cc2..62d7380dac2a 100644 --- a/Code/Mantid/Framework/CurveFitting/src/DiffRotDiscreteCircle.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/DiffRotDiscreteCircle.cpp @@ -1,63 +1,3 @@ -/*WIKI* -== Summary == - -This fitting function models the dynamics structure factor of a particle undergoing discrete jumps on N-sites -evenly distributed in a circle. The particle can only jump to neighboring sites. -This is the most common type of discrete rotational diffusion in a circle. - -Markov model for jumps between neighboring sites: - -
\frac{d}{dt} p_j(t) = \frac{1}{\tau} [p_{j-1}(t) -2 p_j(t) + p_{j+1}(t)]
- -The Decay fitting parameter \tau is the inverse of the transition rate. This, along with the circle radius r, conform the two fundamental fitting parameters of the structure factor S(Q,E): - -
S(Q,E) \equiv = \int e^{-iEt/\hbar} I(Q,t) dt = A_0(Q,r) \delta (E) + \frac{1}{\pi} \sum_{l=1}^{N-1} A_l (Q,r) \frac{\hbar \tau_l^{-1}}{(\hbar \tau_l^{-1})^2+E^2}
- -
A_l(Q,r) = \frac{1}{N} \sum_{k=1}^{N} j_0( 2 Q r sin(\frac{\pi k}{N}) ) cos(\frac{2\pi lk}{N})
- -
\tau_l^{-1} = 4 \tau^{-1} sin^2(\frac{\pi l}{N})
- -The transition rate, expressed in units of energy is h\tau^{-1}, with h = 4.135665616 meV THz. - -== Example: Methyl Rotations == -Methyl Rotations can be modelled setting N=3. In this case, the inelastic part reduces to a single Lorentzian: - -
S(Q,E) = A_0(Q,r) \delta (E) + \frac{2}{\pi} A_1 (Q,r) \frac{3 \hbar \tau^{-1}}{(3 \hbar \tau^{-1})^2+E^2}
- -If, alternatively, one models these dynamics using the [[Lorentzian]] function provided in Mantid: - -
S(Q,E) = A \delta (\omega) + \frac{B}{\pi} \left( \frac{\frac{\Gamma}{2}}{(\frac{\Gamma}{2})^2 + (\hbar\omega)^2}\right)
-Then: -
B = \frac{1}{\pi}h A_1
-
\Gamma = \frac{3}{\pi} h\tau^{-1} = 3.949269754 meV\cdot THz\cdot \tau^{-1}
- -== Properties == - -{| border="1" cellpadding="5" cellspacing="0" -!Order -!Name -!Default -!Description -|- -|1 -|Intensity -|1.0 -|Intensity of the peak [arbitrary units] -|- -|2 -|Radius -|1.0 -|Circle radius [Angstroms] -|- -|3 -|Decay -|1.0 -|inverse of the transition rate (ps if energy in meV; ns if energy in \mueV) -|} - -[[Category:Fit_functions]] -*WIKI*/ - //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/CurveFitting/src/DiffSphere.cpp b/Code/Mantid/Framework/CurveFitting/src/DiffSphere.cpp index 29d81b65ca08..e817179a9d3f 100644 --- a/Code/Mantid/Framework/CurveFitting/src/DiffSphere.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/DiffSphere.cpp @@ -1,50 +1,3 @@ -/*WIKI* -== Summary == - -This fitting function models the dynamics structure factor of a particle undergoing continuous diffusion but confined to a spherical volume. According to Volino and Dianoux -[http://apps.webofknowledge.com/InboundService.do?SID=4Bayo9ujffV3CUc9Qx8&product=WOS&UT=A1980KQ74800002&SrcApp=EndNote&DestFail=http%3A%2F%2Fwww.webofknowledge.com&Init=Yes&action=retrieve&Func=Frame&customersID=ResearchSoft&SrcAuth=ResearchSoft&IsProductCode=Yes&mode=FullRecord], - -
-S(Q,E\equiv \hbar \omega) = A_{0,0}(Q\cdot R) \delta (\omega) + \frac{1}{\pi} \sum_{l=1}^{N-1} (2l+1) A_{n,l} (Q\cdot R) \frac{x_{n,l}^2 D/R^2}{[x_{n,l}^2 D/R^2]^21+\omega^2}, - -A_{n,l} = \frac{6x_{n,l}^2}{x_{n,l}^2-l(l+1)} [\frac{QRj_{l+1}(QR) - lj_l(QR)}{(QR)^2 - x_{n,l}^2}]^2 -
- -Because of the spherical symmetry of the problem, the structure factor is expressed in terms of the j_l(z) spherical Bessel functions. Furthermore, the requirement that no particle flux can escape the sphere leads to the following boundary condition[http://apps.webofknowledge.com/InboundService.do?SID=4Bayo9ujffV3CUc9Qx8&product=WOS&UT=A1980KQ74800002&SrcApp=EndNote&DestFail=http%3A%2F%2Fwww.webofknowledge.com&Init=Yes&action=retrieve&Func=Frame&customersID=ResearchSoft&SrcAuth=ResearchSoft&IsProductCode=Yes&mode=FullRecord]: - -
\frac{d}{dr}j_l(rx_{n,l}/R)|_{r=R}=0 \,\,\,\, \forall l
- -The roots of this set of equations are the numerical coefficients x_{n,l} . - -The fit function DiffSphere has an elastic part, modelled by fitting function ElasticDiffSphere and an inelastic part, modelled by InelasticDiffSphere. - -== Properties == - -{| border="1" cellpadding="5" cellspacing="0" -!Order -!Name -!Default -!Description -|- -|1 -|Intensity -|1.0 -|Intensity of the peak [arbitrary units] -|- -|2 -|Radius -|2.0 -|Sphere radius [Ã…] -|- -|3 -|Diffusion -|0.05 -|Diffusion constant [Ã…{}^2/ps \equiv 10 \cdot (10^{-5} cm^2/s)] -|} - -[[Category:Fit_functions]] -*WIKI*/ - //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/CurveFitting/src/ExpDecay.cpp b/Code/Mantid/Framework/CurveFitting/src/ExpDecay.cpp index b5faeaeffbb3..2bb260c28274 100644 --- a/Code/Mantid/Framework/CurveFitting/src/ExpDecay.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/ExpDecay.cpp @@ -1,8 +1,3 @@ -/*WIKI* -Exponential decay function is defined by -: \mbox{Height}\times \exp(-\frac{x}{\mbox{Lifetime}}) - *WIKI*/ - //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/CurveFitting/src/ExpDecayMuon.cpp b/Code/Mantid/Framework/CurveFitting/src/ExpDecayMuon.cpp index c8c09e51d64f..c99e42431ea9 100644 --- a/Code/Mantid/Framework/CurveFitting/src/ExpDecayMuon.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/ExpDecayMuon.cpp @@ -1,7 +1,3 @@ -/*WIKI* -Exponential decay for use by Muon scientists defined by -: \mbox{A}\times \exp(-{Lambda} \times {x}) - *WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/CurveFitting/src/ExpDecayOsc.cpp b/Code/Mantid/Framework/CurveFitting/src/ExpDecayOsc.cpp index a6f24553a6b2..91c85dff1a94 100644 --- a/Code/Mantid/Framework/CurveFitting/src/ExpDecayOsc.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/ExpDecayOsc.cpp @@ -1,8 +1,3 @@ -/*WIKI* -Oscillation exponential decay function is defined by -: \mbox{A}\times \exp(-{Lambda} \times {x}) \times cos( 2 \pi \times {Frequency} \times {x} + {Phi} ) - *WIKI*/ - //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/CurveFitting/src/Fit.cpp b/Code/Mantid/Framework/CurveFitting/src/Fit.cpp index 635eb7a047a4..8fff51ac0216 100644 --- a/Code/Mantid/Framework/CurveFitting/src/Fit.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/Fit.cpp @@ -1,228 +1,3 @@ -/*WIKI* - -=== Additional properties for a 1D function and a MatrixWorkspace === -If Function defines a one-dimensional function and InputWorkspace is a [[MatrixWorkspace]] -the algorithm will have these additional properties: - -{| border="1" cellpadding="5" cellspacing="0" -!Name -!Direction -!Type -!Default -!Description -|- -|WorkspaceIndex -|Input -|integer -|0 -|The spectrum to fit, using the workspace numbering of the spectra -|- -|StartX -|Input -|double -|Start of the spectrum -|An X value in the first bin to be included in the fit -|- -|EndX -|Input -|double -|End of the spectrum -|An X value in the last bin to be included in the fit -|} - -=== Overview === - -This is a generic algorithm for fitting data in a Workspace with a function. -The workspace must have the type supported by the algorithm. Currently supported -types are: [[MatrixWorkspace]] for fitting with a [[IFunction1D]] and -[[IMDWorkspace]] for fitting with [[IFunctionMD]]. After Function and InputWorkspace -properties are set the algorithm may decide that it needs more information from -the caller to locate the fitting data. For example, if a spectrum in a MatrixWorkspace -is to be fit with a 1D function it will need to know at least the index of that spectrum. -To request this information Fit dynamically creates relevant properties which the caller -can set. Note that the dynamic properties depend both on the workspace and the function. -For example, the data in a MatrixWorkspace can be fit with a 2D function. In this case all -spectra will be used in the fit and no additional properties will be declared. The Function -property must be set before any other. - -The function and the initial values for its parameters are set with the Function property. -A function can be simple or composite. A [[:Category:Fit_functions|simple function]] has a -name registered with Mantid framework. The Fit algorithm creates an instance of a function -by this name. A composite function is an arithmetic sum of two or more functions (simple or -composite). Each function has a number of named parameters, the names are case sensitive. -All function parameters will be used in the fit unless some of them are tied. Parameters -can be tied by setting the Ties property. A tie is a mathematical expression which is used -to calculate the value of a (dependent) parameter. Only the parameter names of the same -function can be used as variables in this expression. - -Using the Minimizer property, Fit can be set to use different algorithms to perform the -minimization. By default if the function's derivatives can be evaluated then Fit uses the -GSL Levenberg-Marquardt minimizer. - -In Mantidplot this algorithm can be run from the [[MantidPlot:_Data Analysis and Curve -Fitting#Simple Peak Fitting with the Fit Wizard|Fit Property Browser]] which allows all -the settings to be specified via its graphical user interface. - -===Setting a simple function=== - -To use a simple function for a fit set its name and initial parameter values using the -Function property. This property is a comma separated list of name=value pairs. The name -of the first name=value pairs must be "name" and it must be set equal to the name of one -of a [[:Category:Fit_functions|simple function]]. This name=value pair is followed by -name=value pairs specifying values for the parameters of this function. If a parameter -is not set in Function it will be given its default value defined by the function. All -names are case sensitive. For example for fitting a Gaussian the Function property might -look like this: - - Function: "name=Gaussian, PeakCentre=4.6, Height=10, Sigma=0.5" - -Some functions have attributes. An attribute is a non-fitting parameter and can be of -one of the following types: text string, integer, or double. Attributes are set just -like the parameters using name=value pairs. For example: - - Function: "name=UserFunction, Formula=a+b*x, a=1, b=2" - -In this example Formula is the name of a string attribute which defines an expression -for the user UserFunction. The fitting parameters a and b are created when the Formula -attribute is set. It is important that Formula is defined before initializing the parameters. - -A list of the available simple functions can be found [[:Category:Fit_functions|here]]. - -===Setting a composite function=== - -A composite function is a sum of simple functions. It does not have a name. To define a -composite function set a number of simple functions in the Function property. Each simple -function definition must be separated by a semicolon ';'. For example fitting two Gaussians -on a linear background might look like this: - - Function: "name=LinearBackground, A0=0.3; - name=Gaussian, PeakCentre=4.6, Height=10, Sigma=0.5; - name=Gaussian, PeakCentre=7.6, Height=8, Sigma=0.5" - -===Setting ties=== - -Parameters can be tied to other parameters or to a constant. In this case they do not take -part in the fitting but are evaluated using the tying expressions. Use Ties property to set -any ties. In case of a simple function the parameter names are used as variables in the -tying expressions. For example - - Ties: "a=2*b+1, c=2" - -This ties parameter "a" to parameter "b" and fixes "c" to the constant 2. - -In case of a composite function the variable name must refer to both the parameter name and -the simple function it belongs to. It is done by writing the variable name in the following format: - f. -The format consists of two parts separated by a period '.'. The first part defines the -function by its index in the composite function (starting at 0). The index corresponds -to the order in which the functions are defined in the Function property. For example: - - Ties: "f1.Sigma=f0.Sigma,f2.Sigma=f0.Sigma" - -This ties parameter "Sigma" of functions 1 and 2 to the "Sigma" of function 0. Of course -all three functions must have a parameter called "Sigma" for this to work. The last example -can also be written - - Ties: "f1.Sigma=f2.Sigma=f0.Sigma" - -===Setting constraints=== - -Parameters can be constrained to be above a lower boundary and/or below an upper boundary. -If a constraint is violated a penalty to the fit is applied which should result the parameters -satisfying the constraint. The penalty applied is described in more detail [[FitConstraint|here]]. -Use Constraints property to set any constraints. In case of a simple function the parameter names -are used as variables in the constraint expressions. For example - - Constraints: "4.0 < c < 4.2" - -Constraint the parameter "c" to be with the range 4.0 to 4.2, whereas - - Constraints: "c > 4.0" - -means "c" is constrained to be above the lower value 4.0 and - - Constraints: "c < 4.2" - -means "c" is constrained to be below the upper value 4.2. - -In case of a composite function the same notation is used for constraints and for ties. For example - - Constraints: "f1.c < 4.2" - -constrain the parameter "c" of function 1. - -===Fitting to data in a MatrixWorkspace=== - -The error values in the input workspace are used to weight the data in the fit. Zero error values -are not allowed and are replaced with ones. - -===Output=== - -Setting the Output property defines the names of the two output workspaces. One of them is a -[[TableWorkspace]] with the fitted parameter values. The other is a [[Workspace2D]] which -compares the fit with the original data. It has three spectra. The first (index 0) contains -the original data, the second one the data simulated with the fitting function and the third -spectrum is the difference between the first two. For example, if the Output was set to "MyResults" -the parameter TableWorkspace will have name "MyResults_Parameters" and the Workspace2D will be named -"MyResults_Workspace". If the function's derivatives can be evaluated an additional TableWorkspace is -returned. When the Output is set to "MyResults" this TableWorkspace will have the name -"MyResults_NormalisedCovarianceMatrix" and it returns a calculated correlation matrix. -Denote this matrix C and its elements Cij then the diagonal elements are listed as 1.0 -and the off diagnonal elements as percentages of correlation between parameter i and j equal to 100*Cij/sqrt(Cii*Cjj). - -==Examples== - -This example shows a simple fit to a Gaussian function. The algorithm properties are: - - InputWorkspace: Test - WorkspaceIndex: 0 - Function: name=Gaussian, PeakCentre=4, Height=1.3, Sigma=0.5 - Output: res - -[[Image:GaussianFit.jpg]] - ----- - -The next example shows a fit of the same data but with a tie. - - InputWorkspace: Test - WorkspaceIndex: 0 - Function: name=Gaussian, PeakCentre=4, Height=1.3, Sigma=0.5 - Ties: Sigma=Height/2 - Output: res - -[[Image:GaussianFit_Ties.jpg]] - ----- - -This example shows a fit of two overlapping Gaussians on a linear background. Here we create -a composite function with a LinearBackground and two Gaussians: - - InputWorkspace: Test - WorkspaceIndex: 0 - Function: name=LinearBackground,A0=1; - name=Gaussian,PeakCentre=4,Height=1.5, Sigma=0.5; - name=Gaussian,PeakCentre=6,Height=4, Sigma=0.5 - Output: res - -[[Image:Gaussian2Fit.jpg]] - ----- - -This example repeats the previous one but with the Sigmas of the two Gaussians tied: - - InputWorkspace: Test - WorkspaceIndex: 0 - Function: name=LinearBackground,A0=1; - name=Gaussian,PeakCentre=4,Height=1.5, Sigma=0.5; - name=Gaussian,PeakCentre=6,Height=4, Sigma=0.5 - Ties: f2.Sigma = f1.Sigma - Output: res - -[[Image:Gaussian2Fit_Ties.jpg]] - -*WIKI*/ - //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -555,6 +330,9 @@ namespace CurveFitting declareProperty(new Kernel::PropertyWithValue("ConvolveMembers", false), "If true and OutputCompositeMembers is true members of any Convolution are output convolved\n" "with corresponding resolution"); + declareProperty("OutputParametersOnly", false, + "Set to true to output only the parameters and not workspace(s) with the calculated values\n" + "(default is false, ignored if CreateOutput is false and Output is an empty string)." ); } /** Executes the algorithm @@ -790,14 +568,19 @@ namespace CurveFitting setProperty("OutputParameters",result); - const bool unrollComposites = getProperty("OutputCompositeMembers"); - bool convolveMembers = existsProperty("ConvolveMembers"); - if ( convolveMembers ) + bool outputParametersOnly = getProperty("OutputParametersOnly"); + + if ( !outputParametersOnly ) { - convolveMembers = getProperty("ConvolveMembers"); + const bool unrollComposites = getProperty("OutputCompositeMembers"); + bool convolveMembers = existsProperty("ConvolveMembers"); + if ( convolveMembers ) + { + convolveMembers = getProperty("ConvolveMembers"); + } + m_domainCreator->separateCompositeMembersInOutput(unrollComposites,convolveMembers); + m_domainCreator->createOutputWorkspace(baseName,m_function,domain,values); } - m_domainCreator->separateCompositeMembersInOutput(unrollComposites,convolveMembers); - m_domainCreator->createOutputWorkspace(baseName,m_function,domain,values); } diff --git a/Code/Mantid/Framework/CurveFitting/src/FitPowderDiffPeaks.cpp b/Code/Mantid/Framework/CurveFitting/src/FitPowderDiffPeaks.cpp index 2bfbcbc367c4..fb01f1297cb3 100644 --- a/Code/Mantid/Framework/CurveFitting/src/FitPowderDiffPeaks.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/FitPowderDiffPeaks.cpp @@ -1,69 +1,3 @@ -/*WIKI* -This algorithm fits a certain set of single peaks in a powder diffraction pattern. - -It serves as the first step to fit/refine instrumental parameters that will be -introduced in [[Le Bail Fit]]. -The second step is realized by algorithm RefinePowderInstrumentParameters. - -==== Version ==== -Current implementation of FitPowderDiffPeaks is version 2. - -== Peak Fitting Algorithms == - -==== Peak Fitting Mode ==== -Fitting mode determines the approach (or algorithm) to fit diffraction peaks. - -1. Robust - -2. Confident: User is confident on the input peak parameters. Thus the fitting will be a one-step minimizer by Levenberg-Marquardt. - -==== Starting Values of Peaks' Parameters ==== -1. "(HKL) & Calculation": the starting values are calculated from each peak's miller index and thermal neutron peak profile formula; - -2. "From Bragg Peak Table": the starting values come from the Bragg Peak Parameter table. - -==== Peak-fitting sequence ==== -Peaks are fitted from high d-spacing, i.e., lowest possible Miller index, to low d-spacing values. -If MinimumHKL is specified, then peak will be fitted from maximum d-spacing/TOF, -to the peak with Miller index as MinimumHKL. - -==== Correlated peak profile parameters ==== -If peaks profile parameters are correlated by analytical functions, -then the starting values of one peak will be the fitted peak profile parameters of -its right neighbour. - -== Use Cases == -Several use cases are listed below about how to use this algorithm. - -==== Use case 1: robust fitting ==== - 1. User wants to use the starting values of peaks parameters from input thermal neutron peak parameters such as Alph0, Alph1, and etc. - 2. User specifies the right most peak range and its Miller index - 3. ''FitPowderDiffPeaks'' calculates Alpha, Beta and Sigma for each peak from parameter values from InstrumentParameterTable; - 4. ''FitPowderDiffPeaks'' fit peak parameters of each peak from high TOF to low TOF; - -==== Use Case 2: Confident fitting ==== - 1. - 2. - -==== Use Case 3: Fitting Peak Parameters From Scratch ==== -This is the extreme case such that - 1. Input instrumental geometry parameters, including Dtt1, Dtt1t, Dtt2t, Zero, Zerot, Tcross and Width, have roughly-guessed values; - 2. There is no pre-knowledge for each peak's peak parameters, including Alpha, Beta, and Sigma. - -== How to use algorithm with other algorithms == -This algorithm is designed to work with other algorithms to do Le Bail fit. The introduction can be found in the wiki page of [[LeBailFit]]. - -==== Example of Working With Other Algorithms ==== -''FitPowderDiffPeaks'' is designed to work with other algorithms, such ''RefinePowderInstrumentParameters'', -and ''LeBailFit''. See [[Le Bail Fit]] for full list of such algorithms. - -A common scenario is that the starting values of instrumental geometry related parameters (Dtt1, Dtt1t, and etc) -are enough far from the real values. - - 1. ''FitPowderDiffPeaks'' fits the single peaks from high TOF region in robust mode; - 2. ''RefinePowderInstrumentParameters'' refines the instrumental geometry related parameters by using the d-TOF function; - 3. Repeat step 1 and 2 for more single peaks incrementally. The predicted peak positions are more accurate in this step. - *WIKI*/ #include "MantidCurveFitting/FitPowderDiffPeaks.h" #include "MantidKernel/ListValidator.h" diff --git a/Code/Mantid/Framework/CurveFitting/src/FlatBackground.cpp b/Code/Mantid/Framework/CurveFitting/src/FlatBackground.cpp index 3b1e25096579..d1e8a9ab724b 100644 --- a/Code/Mantid/Framework/CurveFitting/src/FlatBackground.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/FlatBackground.cpp @@ -1,9 +1,3 @@ -/*WIKI* -A Flat background function is defined as: - -y = A_0 -*WIKI*/ - #include "MantidCurveFitting/FlatBackground.h" #include "MantidAPI/FunctionFactory.h" #include "MantidKernel/System.h" diff --git a/Code/Mantid/Framework/CurveFitting/src/GausDecay.cpp b/Code/Mantid/Framework/CurveFitting/src/GausDecay.cpp index 96d6af37290b..8b1985a46627 100644 --- a/Code/Mantid/Framework/CurveFitting/src/GausDecay.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/GausDecay.cpp @@ -1,7 +1,3 @@ -/*WIKI* -Gaussian decay for use by Muon scientists defined by -: \mbox{A}\times \exp(-{Sigma}^2 \times {x}^2 ) - *WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/CurveFitting/src/GausOsc.cpp b/Code/Mantid/Framework/CurveFitting/src/GausOsc.cpp index 5013e0cc64de..d5014c87917c 100644 --- a/Code/Mantid/Framework/CurveFitting/src/GausOsc.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/GausOsc.cpp @@ -1,7 +1,3 @@ -/*WIKI* -Oscillating Gaussian decay for use by Muon scientists defined by -: \mbox{A}\times \exp(-{Sigma}^2 \times {x}^2) \times cos( 2 \pi \times {Frequency} \times {x} + {Phi} ) - *WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/CurveFitting/src/Gaussian.cpp b/Code/Mantid/Framework/CurveFitting/src/Gaussian.cpp index 7eb0e9c72d99..1fedbfbd72d7 100644 --- a/Code/Mantid/Framework/CurveFitting/src/Gaussian.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/Gaussian.cpp @@ -1,22 +1,3 @@ -/*WIKI* -A Gaussian function (also referred to as a normal distribution) is defined as: - -: \mbox{Height}*\exp \left( -0.5*\frac{(x-\mbox{PeakCentre})^2}{\mbox{Sigma}^2} \right) - -where - -
    -
  • Height - height of peak
  • -
  • PeakCentre - centre of peak
  • -
  • Sigma - Gaussian width parameter
  • -
- -Note that the FWHM (Full Width Half Maximum) of a Gaussian equals 2\sqrt{2\ln 2}*\mbox{Sigma} . - -The figure below illustrate this symmetric peakshape function fitted to a TOF peak: - -[[Image:GaussianWithConstBackground.png]] - *WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/CurveFitting/src/IkedaCarpenterPV.cpp b/Code/Mantid/Framework/CurveFitting/src/IkedaCarpenterPV.cpp index ee9e394f368f..7e20f7ee8669 100644 --- a/Code/Mantid/Framework/CurveFitting/src/IkedaCarpenterPV.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/IkedaCarpenterPV.cpp @@ -1,31 +1,3 @@ -/*WIKI* -This peakshape function is designed to be used to fit time-of-flight peaks. In particular this function is the convolution of the Ikeda-Carpender function, which aims to model the neutron pulse shape from a moderator, and a pseudo-Voigt that model any broading to the peak due to sample properties etc. - -The Ikeda-Carpender function is (Ref [1]) - -: \frac{\alpha}{2} \left\{ (1-R)*(\alpha t)^2e^{-\alpha t} + 2R\frac{\alpha^2\beta}{(\alpha-\beta)^3} \right\} - -where \alpha and \beta are the fast and slow neutron decay constants respectively, R a maxing coefficient that relates to the moderator temperature and t is time. \alpha and R are further modelled to depend on wavelength and using the notation in the Fullprof manual (Ref [2]) the refineable Ikeda-Carpender parameters are Alpha0, Alpha1, Beta0 and Kappa and these are defined as -:\alpha=1/(\mbox{Alpha0}+\lambda*\mbox{Alpha1}) -:\beta = 1/\mbox{Beta0} -:R = \exp (-81.799/(\mbox{Kappa}*\lambda^2)) , -where \lambda is the neutron wavelength. ''In general when fitting a single peak it is not recommended to refine both Alpha0 and Alpha1 at the same time since these two parameters will effectively be 100% correlated because the wavelength over a single peak is likely effectively constant''. - -The pseudo-Voigt function is defined as a linear combination of a Lorentzian and Gaussian and is a computational efficient way of calculation a Voigt function. The Voigt parameters are related to the pseudo-Voigt parameters through a relation (see Fullprof manual eq. (3.16) which in revision July2001 is missing a power 1/5). It is the two Voigt parameters which you can refine with this peakshape function: SigmaSquared (for the Gaussian part) and Gamma (for the Lorentzian part). Notice the Voigt Gaussian FWHM=SigmaSquared*8*ln(2) and the Voigt Lorentzian FWHM=Gamma. - -For information about how to create instrument specific values for the parameters of this fitting function see [[CreateIkedaCarpenterParameters]]. - -The implementation of the IkedaCarpenterPV peakshape function here follows the analytical expression for this function as presented in the Fullprof manual, see Ref[2]. - -References: -# S. Ikeda and J. M. Carpenter, Nuclear Inst. and Meth. in Phys. Res. A239, 536 (1985) -# Fullprof manual, see http://www.ill.eu/sites/fullprof/ - -The figure below illustrate this peakshape function fitted to a TOF peak: - -[[Image:IkedaCarpenterPVwithBackground.png]] - - *WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/CurveFitting/src/LeBailFit.cpp b/Code/Mantid/Framework/CurveFitting/src/LeBailFit.cpp index b9cbfce907e1..daf084fcf81e 100644 --- a/Code/Mantid/Framework/CurveFitting/src/LeBailFit.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/LeBailFit.cpp @@ -1,40 +1,3 @@ -/*WIKI* - -This algorithm performs [[Le Bail Fit]] to powder diffraction data, and also supports pattern calculation. -This algorithm will refine a specified set of the powder instrumental profile parameters with a previous refined background model. - -=== Peak profile function for fit === - -==== Back to back exponential convoluted with pseudo-voigt ==== -Here is the list of the peak profile function supported by this algorithm. -* Thermal neutron back-to-back exponential convoluted with pseudo-voigt -** geometry-related parameters: Dtt1, Dtt2, Zero -** back-to-back exponential parameters: Alph0, Alph1, Beta0, Beta1 -** pseudo-voigt parameters: Sig0, Sig1, Sig2, Gam0, Gam1, Gam2 - -==== Thermal neutron back to back exponential convoluted with pseudo-voigt ==== -Here is the list of the peak profile function supported by this algorithm. -* Thermal neutron back-to-back exponential convoluted with pseudo-voigt -** geometry-related parameters: Dtt1, Zero, Dtt1t, Dtt2t, Width, Tcross -** back-to-back exponential parameters: Alph0, Alph1, Beta0, Beta1, Alph0t, Alph1t, Beta0t, Beta1t -** pseudo-voigt parameters: Sig0, Sig1, Sig2, Gam0, Gam1, Gam2 - -=== Optimization === -''LeBailFit'' supports a tailored simulated annealing optimizer (using Monte Carlo random walk algorithm). -In future, regular minimizes in GSL library might be supported. - -=== Supported functionalities === - * LeBailFit: fit profile parameters by Le bail algorithm; - * Calculation: pattern calculation by Le bail algorithm; - * MonteCarlo: fit profile parameters by Le bail algorithm with Monte Carlo random wal; - * RefineBackground: refine background parameters - - -=== Further Information === -See [[Le Bail Fit]]. - -*WIKI*/ - /* COMMIT NOTES * 1. Rename calculateDiffractionPatternMC to calculateDiffractionPattern 2. diff --git a/Code/Mantid/Framework/CurveFitting/src/LeBailFunction.cpp b/Code/Mantid/Framework/CurveFitting/src/LeBailFunction.cpp index 7cdec70dbc51..a40bdc5c908b 100644 --- a/Code/Mantid/Framework/CurveFitting/src/LeBailFunction.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/LeBailFunction.cpp @@ -1,12 +1,3 @@ -/*WIKI* - -==== Set parameters to Le Bail Function ==== -The public method to set parameters values to Le Bail function is "setProfileParameterValues" -The ultimate destination to set peak profile parameters is each peak function. -Set up a new peak parameter value does not necessarily trigger each peak to calculate profile value - -*WIKI*/ - #include "MantidAPI/Algorithm.h" #include "MantidCurveFitting/LeBailFunction.h" #include "MantidKernel/System.h" diff --git a/Code/Mantid/Framework/CurveFitting/src/LinearBackground.cpp b/Code/Mantid/Framework/CurveFitting/src/LinearBackground.cpp index 0890efc6aca1..4f2d23402d50 100644 --- a/Code/Mantid/Framework/CurveFitting/src/LinearBackground.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/LinearBackground.cpp @@ -1,12 +1,3 @@ -/*WIKI* -A linear background function is defined as: - -y = A_0 + A_1 \times x - -Note this function is currently named LinearBackground and is likely to -be renamed to Linear in the not too distance future. -*WIKI*/ - //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/CurveFitting/src/LogNormal.cpp b/Code/Mantid/Framework/CurveFitting/src/LogNormal.cpp index 3d4f139a6698..5a4ce880a872 100644 --- a/Code/Mantid/Framework/CurveFitting/src/LogNormal.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/LogNormal.cpp @@ -1,7 +1,3 @@ -/*WIKI* -The LogNormal fit function is defined by -: \frac{Height}{x} \cdot exp^{-\frac{ln(x)-Location}{2 \times Scale^2}} - *WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/CurveFitting/src/Lorentzian.cpp b/Code/Mantid/Framework/CurveFitting/src/Lorentzian.cpp index bc0d5828f13a..29ce00069f8e 100644 --- a/Code/Mantid/Framework/CurveFitting/src/Lorentzian.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/Lorentzian.cpp @@ -1,21 +1,3 @@ -/*WIKI* -A Lorentzian function is defined as: - -
\frac{A}{\pi} \left( \frac{\frac{\Gamma}{2}}{(x-x_0)^2 + (\frac{\Gamma}{2})^2}\right)
- -where: -
    -
  • A (Amplitude) - Intensity scaling
  • -
  • x_0 (PeakCentre) - centre of peak
  • -
  • \Gamma/2 (HWHM) - half-width at half-maximum
  • -
- -Note that the FWHM (Full Width Half Maximum) equals two times HWHM, and the integral over the Lorentzian equals the intensity scaling A. - -The figure below illustrate this symmetric peakshape function fitted to a TOF peak: - -[[Image:LorentzianWithConstBackground.png]] - *WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/CurveFitting/src/Lorentzian1D.cpp b/Code/Mantid/Framework/CurveFitting/src/Lorentzian1D.cpp index 3bd716ee07ac..11cb546c5d91 100644 --- a/Code/Mantid/Framework/CurveFitting/src/Lorentzian1D.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/Lorentzian1D.cpp @@ -1,26 +1,3 @@ -/*WIKI* - -Takes a histogram in a 2D workspace and fit it to a Lorentzian function, i.e. to the function: - -: \mbox{BG0}+\mbox{BG1}*x+\mbox{Height}* \left( \frac{\mbox{HWHM}^2}{(x-\mbox{PeakCentre})^2+\mbox{HWHM}^2} \right) - -where - -
    -
  • BG0 - constant background value
  • -
  • BG1 - constant background value
  • -
  • Height - height of peak (at maximum)
  • -
  • PeakCentre - centre of peak
  • -
  • HWHM - half-width at half-maximum
  • -
- -Note that the FWHM (Full Width Half Maximum) equals two times HWHM, and the integral over the Lorentzian equals \mbox{Height} * \pi * \mbox{HWHM} (ignoring the linear background). In the literature you may also often see the notation \gamma = HWHM. - -The figure below illustrate this symmetric peakshape function fitted to a TOF peak: - -[[Image:LorentzianWithConstBackground.png]] - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/CurveFitting/src/MuonFInteraction.cpp b/Code/Mantid/Framework/CurveFitting/src/MuonFInteraction.cpp index eb50256b8847..bbbc9b5f704a 100644 --- a/Code/Mantid/Framework/CurveFitting/src/MuonFInteraction.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/MuonFInteraction.cpp @@ -1,12 +1,3 @@ -/*WIKI* -Muon F interaction function defined by -: \exp((-{Lambda} \times {x})^{Beta} ) \times \frac {A} {6} \times -( 3 + B + C + D ) -where -: B = \cos( \sqrt 3 \times Omega \times x) ) , -: C = (1 - \frac{1}{\sqrt{3}} ) \times \cos ( ( ( 3 - \sqrt{3} ) / 2 ) \times Omega \times x ) and -: D = (1 + \frac{1}{\sqrt{3}} ) \times \cos ( ( ( 3 + \sqrt{3} ) / 2 ) \times Omega \times x ) . - *WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/CurveFitting/src/NeutronBk2BkExpConvPVoigt.cpp b/Code/Mantid/Framework/CurveFitting/src/NeutronBk2BkExpConvPVoigt.cpp index 0ec9b4288d15..1b3420f5ea3b 100644 --- a/Code/Mantid/Framework/CurveFitting/src/NeutronBk2BkExpConvPVoigt.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/NeutronBk2BkExpConvPVoigt.cpp @@ -1,110 +1,3 @@ -/*WIKI* -== Notice == -1. This is not an algorithm. However this fit function is a used through the [[Fit]] algorithm. - -2. It is renamed from ThermalNeutronBk2BkExpConvPV. - -3. ThermalNeutronBk2BkExpConvPVoigt is not a regular peak function to fit individual peaks. It is not allowed to set FWHM or peak centre to this peak function. - -== Summary == -A thermal neutron back-to-back exponential convoluted with pseuduo-voigt peakshape function is indeed a back-to-back exponential convoluted with pseuduo-voigt peakshape function, -while the parameters :\alpha, :\beta and :\sigma are not directly given, but calculated from a set of parameters that are universal to all peaks in powder diffraction data. - -The purpose to implement this peak shape is to perform Le Bail Fit and other data analysis on time-of-flight powder diffractometers' data in Mantid. It is the peak shape No. 10 in Fullprof. See Refs. 1. - -== Description == -Thermal neutron back to back exponential convoluted with psuedo voigt peak function is a back to back exponential convoluted with psuedo voigt peak function. -Its difference to a regular back to back exponential convoluted with psuedo voigt peak functiont is that it is a function for all peaks in a TOF powder diffraction pattern, -but not a single peak. - -Furthermore, the purpose to implement this function in Mantid is to refine multiple parameters including crystal sample's unit cell parameters. -Therefore, unit cell lattice parameters are also included in this function. - -==== Methods are not supported ==== -1. setFWHM() -2. setCentre() : peak centre is determined by a set of parameters including lattice parameter, Dtt1, Dtt1t, Zero, Zerot, Dtt2t, Width and Tcross. Therefore, -it is not allowed to set peak centre to this peak function. - -==== Back-to-back exponential convoluted with pseuduo-voigt peakshape function ==== - -A back-to-back exponential convoluted with pseuduo-voigt peakshape function for is defined as - -: \Omega(X_0) = \int_{\infty}^{\infty}pV(X_0-t)E(t)dt - -For back-to-back exponential: -: E(d, t) = 2Ne^{\alpha(d) t} (t \leq 0) -: E(d, t) = 2Ne^{-\beta(d) t} (t \geq 0) -: N(d) = \frac{\alpha(d)\beta(d)}{2(\alpha(d)+\beta(d))} - -For psuedo-voigt -: pV(x) = \eta L'(x) + (1-\eta)G'(x) - -The parameters /alpha and /beta represent the absolute value of the exponential rise and decay constants (modelling the neutron pulse coming from the moderator) -, L'(x) stands for Lorentzian part and G'(x) stands for Gaussian part. The parameter X_0 is the location of the peak; more specifically it represent -the point where the exponentially modelled neutron pulse goes from being exponentially rising to exponentially decaying. - -References - -1. Fullprof manual - -The figure below illustrate this peakshape function fitted to a TOF peak: - -[[Image:BackToBackExponentialWithConstBackground.png]] - -==== Formula for converting unit from d-spacing to TOF ==== -Parameters of back-to-back exponential convoluted psuedo-voigt function are calculated from a set of parameters universal to all peaks in a diffraction pattern. -Therefore, they are functions of peak position, d. - - n_{cross} = \frac{1}{2} erfc(Width(xcross\cdot d^{-1})) - - TOF_e = Zero + Dtt1\cdot d - - TOF_t = Zerot + Dtt1t\cdot d - Dtt2t \cdot d^{-1} - -Final Time-of-flight is calculated as: - TOF = n_{cross} TOF_e + (1-n_{cross}) TOF_t - -==== Formular for calculating A(d), B(d), \sigma(d) and \gamma(d) ==== - -* \alpha(d) - \alpha^e(d) = \alpha_0^e + \alpha_1^e d_h - \alpha^t(d) = \alpha_0^t - \frac{\alpha_1^t}{d_h} - \alpha(d) = \frac{1}{n\alpha^e + (1-n)\alpha^t} - -* \beta(d) - \beta^e(d) = \beta_0^e + \beta_1^e d_h - \beta^t(d) = \beta_0^t - \frac{\beta_1^t}{d_h} - \beta(d) = \frac{1}{n\alpha^e + (1-n)\beta^t} - -* For \sigma_G and \gamma_L, which represent the standard deviation for pseudo-voigt - \sigma_G^2(d_h) = \sigma_0^2 + (\sigma_1^2 + DST2(1-\zeta)^2)d_h^2 + (\sigma_2^2 + Gsize)d_h^4 - - \gamma_L(d_h) = \gamma_0 + (\gamma_1 + \zeta\sqrt{8\ln2DST2})d_h + (\gamma_2+F(SZ))d_h^2 - \end{eqnarray} - -* The analysis formula for the convoluted peak at d_h - \Omega(TOF(d_h)) = - (1-\eta(d_h))N\{e^uerfc(y)+e^verfc(z)\} - \frac{2N\eta}{\pi}\{\Im[e^pE_1(p)]+\Im[e^qE_1(q)]\} -where - erfc(x) = 1-erf(x) = 1-\frac{2}{\sqrt{\pi}}\int_0^xe^{-u^2}du - - E_1(z) = \int_z^{\infty}\frac{e^{-t}}{t}dt - - u = \frac{1}{2}\alpha(d_h)(\alpha(d_h)\sigma^2(d_h)+2x) - - y = \frac{\alpha(d_h)\sigma^2(d_h)+x}{\sqrt{2\sigma^2(d_h)}} - - p = \alpha(d_h)x + \frac{i\alpha(d_h)H(d_h)}{2} - - v = \frac{1}{2}\beta(d_h)(\beta(d_h)\sigma^2(d_h)-2x) - - z = \frac{\beta(d_h)\sigma^2(d_h)-x}{\sqrt{2\sigma^2(d_h)}} - - q = -\beta(d_h)x + \frac{i\beta(d_h)H(d_h)}{2} - -erfc(x) and E_1(z) will be calculated numerically. - *WIKI*/ - #include "MantidCurveFitting/NeutronBk2BkExpConvPVoigt.h" #include "MantidAPI/FunctionFactory.h" #include "MantidAPI/ParamFunction.h" diff --git a/Code/Mantid/Framework/CurveFitting/src/NormaliseByPeakArea.cpp b/Code/Mantid/Framework/CurveFitting/src/NormaliseByPeakArea.cpp index 5442ca6b65dc..6a1d1ccddab8 100644 --- a/Code/Mantid/Framework/CurveFitting/src/NormaliseByPeakArea.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/NormaliseByPeakArea.cpp @@ -1,17 +1,3 @@ -/*WIKI* -Takes an input TOF spectrum and converts it to Y-space using the [[ConvertToYSpace]] algorithm. The result is -then fitted using the ComptonPeakProfile function using the given mass to produce an estimate of the peak area. The input data is -normalised by this value. - -The algorithm has 4 outputs: -* the input data normalised by the fitted peak area; -* the input data (without normalisation) converted Y-space; -* the fitted peak in Y-space; -* the input data converted to Y and then symmetrised about Y=0. - -If the sum option is requested then all input spectra are rebinned, in steps of 0.5 A^-1, to a common Y grid and then summed to give a single spectrum. -*WIKI*/ - #include "MantidCurveFitting/NormaliseByPeakArea.h" #include "MantidAPI/IFunction.h" diff --git a/Code/Mantid/Framework/CurveFitting/src/PlotPeakByLogValue.cpp b/Code/Mantid/Framework/CurveFitting/src/PlotPeakByLogValue.cpp index 28d460063336..4931ceb715fd 100644 --- a/Code/Mantid/Framework/CurveFitting/src/PlotPeakByLogValue.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/PlotPeakByLogValue.cpp @@ -1,26 +1,3 @@ -/*WIKI* - - -This algorithm fits a series of spectra with the same function. Each spectrum is fit independently and the result is a table of fitting parameters unique for each spectrum. The sources for the spectra are defined in the Input property. The Input property expects a list of spectra identifiers separated by semicolons (;). An identifier is itself a comma-separated list of values. The first value is the name of the source. It can be either a workspace name or a name of a file (RAW or Nexus). If it is a name of a [[WorkspaceGroup]] all its members will be included in the fit. The second value selects a spectrum within the workspace or file. It is an integer number with a prefix defining the meaning of the number: "sp" for a spectrum number, "i" for a workspace index, or "v" for a range of values on the numeric axis associated with the workspace index. For example, sp12, i125, v0.5:2.3. If the data source is a file only the spectrum number option is accepted. The third value of the spectrum identifier is optional period number. It is used if the input file contains multiperiod data. In case of workspaces this third parameter is ignored. This are examples of Input property - - "test1,i2; MUSR00015189.nxs,sp3; MUSR00015190.nxs,sp3; MUSR00015191.nxs,sp3" - "test2,v1.1:3.2" - "test3,v" - fit all spectra in workspace test3 - -Internally PlotPeakByLogValue uses [[Fit]] algorithm to perform fitting and the following properties have the same meaning as in [[Fit]]: Function, StartX, EndX, Minimizer, CostFunction. Property FitType defines the way of setting initial values. If it is set to "Sequential" every next fit starts with parameters returned by the previous fit. If set to "Individual" each fit starts with the same initial values defined in the Function property. - -LogValue property specifies a log value to be included into the output. If this property is empty the values of axis 1 will be used instead. Setting this property to "SourceName" makes the first column of the output table contain the names of the data sources (files or workspaces). - -===Output workspace format=== - -The output workspace is a table in which rows correspond to the spectra in the order they (spectra) appear in the Input property. The first column of the table has the log values. It is followed by pairs of columns with parameter values and fitting errors. If a parameter was fixed or tied the error will be zero. Here is an example of the output workspace: - -[[File:PlotPeakByLogValue_Output.png]] - -In this example a group of three Matrix workspaces were fitted with a [[Gaussian]] on a linear background. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -615,7 +592,3 @@ namespace Mantid } // namespace CurveFitting } // namespace Mantid - - - - diff --git a/Code/Mantid/Framework/CurveFitting/src/ProcessBackground.cpp b/Code/Mantid/Framework/CurveFitting/src/ProcessBackground.cpp index 8341a2c1a687..fb6969d13c88 100644 --- a/Code/Mantid/Framework/CurveFitting/src/ProcessBackground.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/ProcessBackground.cpp @@ -1,37 +1,3 @@ -/*WIKI* - -The algorithm ProcessBackground() provides several functions for user to process background to prepare Le Bail Fit. - -==== Simple Remove Peaks ==== -This algorithm is designed for refining the background based on the assumption that the all peaks have been fitted reasonably well. Then by removing the peaks by function 'X0 +/- n*FWHM', the rest data points are background in a very high probability. - -An arbitrary background function can be fitted against this background by standard optimizer. - -==== Automatic Background Points Selection ==== -This feature is designed to select many background points with user's simple input. -User is required to select only a few background points in the middle of two adjacent peaks. -Algorithm will fit these few points (''BackgroundPoints'') to a background function of specified type. - - -== Examples == - -==== Selecting background ==== -Here is a good example to select background points from a powder diffraction pattern by calling ProcessBackground() in a self-consistent manner. - - 1. Select a set of background points (X values only), which can roughly describes the background, manually; - 2. Call ProcessBackground with Option='SelectBackgroundPoints' and SelectionMode='UserSpecifyBackground'. - A good choice for background function to enter is 6-th order polynomial; - 3. Plot spectra 2 to 4 in UserBackgroundWorkspace to check whether 'Tolerance' is proper or not. - If not then reset the tolerance and run ProcessBackground again with previous setup; - 4. Fit OutputWorkspace (the selected background) with a background function; - 5. Call ProcessBackground with Option='SelectBackgroundPoints' and SelectionMode='UserFunction'. - Set the background parameter workspace as the output parameter table workspace obtained in the last step; - 6. Repeat step 4 and 5 for a few times until the background plot by fitted background function - from selected background points is close enough to real background. - - - -*WIKI*/ #include "MantidCurveFitting/ProcessBackground.h" #include "MantidAPI/WorkspaceProperty.h" #include "MantidKernel/Property.h" @@ -1215,34 +1181,3 @@ DECLARE_ALGORITHM(ProcessBackground) } // namespace CurveFitting } // namespace Mantid - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Code/Mantid/Framework/CurveFitting/src/ProductFunction.cpp b/Code/Mantid/Framework/CurveFitting/src/ProductFunction.cpp index f3a82c408b9e..bffbbf76f497 100644 --- a/Code/Mantid/Framework/CurveFitting/src/ProductFunction.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/ProductFunction.cpp @@ -1,10 +1,3 @@ -/*WIKI* -A ProductFunction is an extension of the [[CompositeFunction]] which -multiplies its member functions to produce the output. Use this function -to construct a product of two or more fitting functions defined in -Mantid. A member of a ProductFunction can be a composite function itself. - *WIKI*/ - //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/CurveFitting/src/ProductLinearExp.cpp b/Code/Mantid/Framework/CurveFitting/src/ProductLinearExp.cpp index 4ad8978111ef..1316faa1805f 100644 --- a/Code/Mantid/Framework/CurveFitting/src/ProductLinearExp.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/ProductLinearExp.cpp @@ -1,13 +1,3 @@ -/*WIKI* -This fit function computes the product of a linear and exponential function. See [[ExpDecay]] -and [[LinearBackground]] for details on the component functions. - - (\mbox{A0}+\mbox{A1}\times x) \times \mbox{Height}\times \exp(-\frac{x}{\mbox{Lifetime}}) - -This function may be used with the [[Fit]] algorithm. However, it was originally added to -Mantid as a named function for the purposes of detector efficiency calibration. - *WIKI*/ - #include "MantidCurveFitting/ProductLinearExp.h" #include "MantidCurveFitting/ExpDecay.h" #include "MantidCurveFitting/LinearBackground.h" diff --git a/Code/Mantid/Framework/CurveFitting/src/ProductQuadraticExp.cpp b/Code/Mantid/Framework/CurveFitting/src/ProductQuadraticExp.cpp index ef7957ef9fc5..1d460a1b1b8a 100644 --- a/Code/Mantid/Framework/CurveFitting/src/ProductQuadraticExp.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/ProductQuadraticExp.cpp @@ -1,14 +1,3 @@ -/*WIKI* -This fit function computes the product of a linear and exponential function. -See [[ExpDecay]] and QuadraticBackground for details on the component functions. - - (\mbox{A0}+\mbox{A1}\times x+\mbox{A2}\times x^2) \times \mbox{Height}\times \exp(-\frac{x}{\mbox{Lifetime}}) - -This function may be used with the [[Fit]] algorithm. However, it was originally -added to Mantid as a named function for the purposes of detector efficiency calibration. -Also see [[ProductLinearExp]]. - *WIKI*/ - #include "MantidCurveFitting/ProductQuadraticExp.h" #include "MantidCurveFitting/ExpDecay.h" #include "MantidCurveFitting/Quadratic.h" diff --git a/Code/Mantid/Framework/CurveFitting/src/Quadratic.cpp b/Code/Mantid/Framework/CurveFitting/src/Quadratic.cpp index 07dbe42effc3..b003a207806f 100644 --- a/Code/Mantid/Framework/CurveFitting/src/Quadratic.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/Quadratic.cpp @@ -1,17 +1,3 @@ -/*WIKI* -A quadratic background function is defined as: - -: \mbox{A0}+\mbox{A1}*x+\mbox{A2}*x^2 - -where - -
    -
  • A0 - coefficient for constant term
  • -
  • A1 - coefficient for linear term
  • -
  • A2 - coefficient for quadratic term
  • -
- *WIKI*/ - //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/CurveFitting/src/RefinePowderInstrumentParameters3.cpp b/Code/Mantid/Framework/CurveFitting/src/RefinePowderInstrumentParameters3.cpp index 22f0f65b1bb7..155553a08b5b 100644 --- a/Code/Mantid/Framework/CurveFitting/src/RefinePowderInstrumentParameters3.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/RefinePowderInstrumentParameters3.cpp @@ -1,40 +1,3 @@ -/*WIKI* -This algorithm refines the instrumental geometry parameters for powder diffractomers. -The parameters that can be refined are Dtt1, Zero, Dtt1t, Dtt2t, Zerot, Width and Tcross. - -It serves as the second step to fit/refine instrumental parameters that will be -introduced in Le Bail Fit. -It uses the outcome from algorithm FitPowderDiffPeaks(). - -== Mathematics == -The function to fit is - -TOF_h = n(Zero + Dtt1*d) + (1-n)(Zerot + Dtt1t*d + Dtt2t/d) -n = 1/2 erfc(W*(1-Tcross/d)) - -The coefficients in this function are strongly correlated to each other. - -== Refinement Algorithm == -Two refinement algorithms, DirectFit and MonteCarlo, are provided. - -==== DirectFit ==== -This is a simple one step fitting. -If there is one parameter to fit, Levenberg Marquart minimizer is chosen. -As its coefficients are strongly correlated to each other, Simplex minimizer is used if there are more than 1 parameter to fit. - -==== MonteCarlo ==== -This adopts the concept of Monte Carlo random walk in the parameter space. -In each MC step, one parameter will be chosen, and a new value is proposed for it. -A constraint fitting by Simplex minimizer is used to fit the coefficients in new configuration. - -Simulated annealing will be tried as soon as it is implemented in Mantid. - -==== Constraint ==== - -== How to use algorithm with other algorithms == -This algorithm is designed to work with other algorithms to do Le Bail fit. The introduction can be found in the wiki page of [[LeBailFit]]. - -*WIKI*/ #include "MantidCurveFitting/RefinePowderInstrumentParameters3.h" #include "MantidAPI/Axis.h" diff --git a/Code/Mantid/Framework/CurveFitting/src/SplineBackground.cpp b/Code/Mantid/Framework/CurveFitting/src/SplineBackground.cpp index 125fa34f52e2..f1f2a4a9546f 100644 --- a/Code/Mantid/Framework/CurveFitting/src/SplineBackground.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/SplineBackground.cpp @@ -1,10 +1,3 @@ -/*WIKI* - - -SplineBackground uses GSL b-spline and fitting functions to fit a spectrum. Masked bins are excluded from the fit making it possible to fit only the background signal. The output workspace has one spectrum of calculated values and the fitting errors. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/CurveFitting/src/SplineInterpolation.cpp b/Code/Mantid/Framework/CurveFitting/src/SplineInterpolation.cpp index b9f0c346e379..83246395d450 100644 --- a/Code/Mantid/Framework/CurveFitting/src/SplineInterpolation.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/SplineInterpolation.cpp @@ -1,20 +1,3 @@ -/*WIKI* - -The algorithm performs interpolation of points onto a cubic spline. The algorithm takes two input workspaces: one that is used to define the spline and one that contains a number of spectra to be interpolated onto the spline. - -If multiple spectra are defined in the WorkspaceToInterpolate workspace, they will all be interpolated against the first spectra in WorkspaceToMatch. - -Optionally, this algorithm can also calculate the first and second derivatives of each of the interpolated points as a side product. Setting the DerivOrder property to zero will force the algorithm to calculate no derivatives. - -=== For Histogram Workspaces === - -If the input workspace contains histograms, rather than data points, then SplineInterpolation will automatically convert the input to point data. The output returned with be in the same format as the input. - -Histogram workspaces being interpolated will show a warning when the range of the data is equal to the size of the workspace to match, but has finer bin boundaries. This is because histogram data is converted to point data using the average -of the bin boundaries. This will cause some values to fall outside of the range of the spline when fine bin boundaries are used. - - *WIKI*/ - #include "MantidAPI/TextAxis.h" #include "MantidAPI/Progress.h" #include "MantidKernel/BoundedValidator.h" diff --git a/Code/Mantid/Framework/CurveFitting/src/SplineSmoothing.cpp b/Code/Mantid/Framework/CurveFitting/src/SplineSmoothing.cpp index 148c35abdde0..d6b28d684d70 100644 --- a/Code/Mantid/Framework/CurveFitting/src/SplineSmoothing.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/SplineSmoothing.cpp @@ -1,14 +1,3 @@ -/*WIKI* -The algorithm performs a smoothing of the input data using a cubic spline. The algorithm takes a 2D workspace and generates a spline for each of the spectra to approximate a fit of the data. - -Optionally, this algorithm can also calculate the first and second derivatives of each of the interpolated points as a side product. Setting the DerivOrder property to zero will force the algorithm to calculate no derivatives. - -=== For Histogram Workspaces === - -If the input workspace contains histograms, rather than data points, then SplineInterpolation will automatically convert the input to point data. The output returned with be in the same format as the input. - -*WIKI*/ - #include "MantidAPI/IFunction1D.h" #include "MantidAPI/FunctionFactory.h" #include "MantidAPI/Progress.h" diff --git a/Code/Mantid/Framework/CurveFitting/src/StaticKuboToyabe.cpp b/Code/Mantid/Framework/CurveFitting/src/StaticKuboToyabe.cpp index 9b9544e6e1b4..bc67d9486a36 100644 --- a/Code/Mantid/Framework/CurveFitting/src/StaticKuboToyabe.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/StaticKuboToyabe.cpp @@ -1,7 +1,3 @@ -/*WIKI* -Static Kubo Toyabe fitting function for use by Muon scientists defined by -: \mbox{A}\times ( \exp(-{Delta}^2 \times {x}^2 / 2 ) \times ( 1 - ( {Delta}^2 \times {x}^2 ) ) \times \frac 2 3 + \frac 1 3 ) - *WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/CurveFitting/src/StaticKuboToyabeTimesExpDecay.cpp b/Code/Mantid/Framework/CurveFitting/src/StaticKuboToyabeTimesExpDecay.cpp index af3bd32a519d..0f6773c638aa 100644 --- a/Code/Mantid/Framework/CurveFitting/src/StaticKuboToyabeTimesExpDecay.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/StaticKuboToyabeTimesExpDecay.cpp @@ -1,8 +1,3 @@ -/*WIKI* -Fitting function for use by Muon scientists defined by: - - \mbox{A}\times ( \exp(-{Delta}^2 \times {x}^2 / 2 ) \times ( 1 - ( {Delta}^2 \times {x}^2 ) ) \times \frac 2 3 + \frac 1 3 ) \times \exp(-{Lambda} \times {x}) - *WIKI*/ #include "MantidCurveFitting/StaticKuboToyabeTimesExpDecay.h" #include "MantidAPI/FunctionFactory.h" #include @@ -42,4 +37,4 @@ void StaticKuboToyabeTimesExpDecay::function1D(double* out, const double* xValue } } // namespace CurveFitting -} // namespace Mantid \ No newline at end of file +} // namespace Mantid diff --git a/Code/Mantid/Framework/CurveFitting/src/StaticKuboToyabeTimesGausDecay.cpp b/Code/Mantid/Framework/CurveFitting/src/StaticKuboToyabeTimesGausDecay.cpp index 060704ddf83a..c621d3bb436a 100644 --- a/Code/Mantid/Framework/CurveFitting/src/StaticKuboToyabeTimesGausDecay.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/StaticKuboToyabeTimesGausDecay.cpp @@ -1,8 +1,3 @@ -/*WIKI* -Fitting function for use by Muon scientists defined by: - - \mbox{A}\times ( \exp(-{Delta}^2 \times {x}^2 / 2 ) \times ( 1 - ( {Delta}^2 \times {x}^2 ) ) \times \frac 2 3 + \frac 1 3 ) \times \exp(-{Sigma}^2 \times {x}^2 ) - *WIKI*/ #include "MantidCurveFitting/StaticKuboToyabeTimesGausDecay.h" #include "MantidAPI/FunctionFactory.h" #include @@ -44,4 +39,4 @@ namespace CurveFitting } } // namespace CurveFitting -} // namespace Mantid \ No newline at end of file +} // namespace Mantid diff --git a/Code/Mantid/Framework/CurveFitting/src/StretchExp.cpp b/Code/Mantid/Framework/CurveFitting/src/StretchExp.cpp index e02f08c5fe83..8524e3304a37 100644 --- a/Code/Mantid/Framework/CurveFitting/src/StretchExp.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/StretchExp.cpp @@ -1,8 +1,3 @@ -/*WIKI* -The Stretched exponential fit function is defined by -: Height \cdot e^{-(\frac{x}{Lifetime})^{Stretching} } - *WIKI*/ - //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/CurveFitting/src/StretchExpMuon.cpp b/Code/Mantid/Framework/CurveFitting/src/StretchExpMuon.cpp index 05a49a030d28..74c408b335a4 100644 --- a/Code/Mantid/Framework/CurveFitting/src/StretchExpMuon.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/StretchExpMuon.cpp @@ -1,7 +1,3 @@ -/*WIKI* -The Stretched exponential fit function is defined by -: A \cdot e^{ (-{Lambda} \times {x}) ^{Beta} } - *WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -41,5 +37,3 @@ void StretchExpMuon::function1D(double* out, const double* xValues, const size_t } // namespace CurveFitting } // namespace Mantid - - diff --git a/Code/Mantid/Framework/CurveFitting/src/ThermalNeutronBk2BkExpConvPVoigt.cpp b/Code/Mantid/Framework/CurveFitting/src/ThermalNeutronBk2BkExpConvPVoigt.cpp index 4c8d9cce6dde..fc704e9709b9 100644 --- a/Code/Mantid/Framework/CurveFitting/src/ThermalNeutronBk2BkExpConvPVoigt.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/ThermalNeutronBk2BkExpConvPVoigt.cpp @@ -1,110 +1,3 @@ -/*WIKI* -== Notice == -1. This is not an algorithm. However this fit function is a used through the [[Fit]] algorithm. - -2. It is renamed from ThermalNeutronBk2BkExpConvPV. - -3. ThermalNeutronBk2BkExpConvPVoigt is not a regular peak function to fit individual peaks. It is not allowed to set FWHM or peak centre to this peak function. - -== Summary == -A thermal neutron back-to-back exponential convoluted with pseuduo-voigt peakshape function is indeed a back-to-back exponential convoluted with pseuduo-voigt peakshape function, -while the parameters :\alpha, :\beta and :\sigma are not directly given, but calculated from a set of parameters that are universal to all peaks in powder diffraction data. - -The purpose to implement this peak shape is to perform Le Bail Fit and other data analysis on time-of-flight powder diffractometers' data in Mantid. It is the peak shape No. 10 in Fullprof. See Refs. 1. - -== Description == -Thermal neutron back to back exponential convoluted with psuedo voigt peak function is a back to back exponential convoluted with psuedo voigt peak function. -Its difference to a regular back to back exponential convoluted with psuedo voigt peak functiont is that it is a function for all peaks in a TOF powder diffraction pattern, -but not a single peak. - -Furthermore, the purpose to implement this function in Mantid is to refine multiple parameters including crystal sample's unit cell parameters. -Therefore, unit cell lattice parameters are also included in this function. - -==== Methods are not supported ==== -1. setFWHM() -2. setCentre() : peak centre is determined by a set of parameters including lattice parameter, Dtt1, Dtt1t, Zero, Zerot, Dtt2t, Width and Tcross. Therefore, -it is not allowed to set peak centre to this peak function. - -==== Back-to-back exponential convoluted with pseuduo-voigt peakshape function ==== - -A back-to-back exponential convoluted with pseuduo-voigt peakshape function for is defined as - -: \Omega(X_0) = \int_{\infty}^{\infty}pV(X_0-t)E(t)dt - -For back-to-back exponential: -: E(d, t) = 2Ne^{\alpha(d) t} (t \leq 0) -: E(d, t) = 2Ne^{-\beta(d) t} (t \geq 0) -: N(d) = \frac{\alpha(d)\beta(d)}{2(\alpha(d)+\beta(d))} - -For psuedo-voigt -: pV(x) = \eta L'(x) + (1-\eta)G'(x) - -The parameters /alpha and /beta represent the absolute value of the exponential rise and decay constants (modelling the neutron pulse coming from the moderator) -, L'(x) stands for Lorentzian part and G'(x) stands for Gaussian part. The parameter X_0 is the location of the peak; more specifically it represent -the point where the exponentially modelled neutron pulse goes from being exponentially rising to exponentially decaying. - -References - -1. Fullprof manual - -The figure below illustrate this peakshape function fitted to a TOF peak: - -[[Image:BackToBackExponentialWithConstBackground.png]] - -==== Formula for converting unit from d-spacing to TOF ==== -Parameters of back-to-back exponential convoluted psuedo-voigt function are calculated from a set of parameters universal to all peaks in a diffraction pattern. -Therefore, they are functions of peak position, d. - - n_{cross} = \frac{1}{2} erfc(Width(xcross\cdot d^{-1})) - - TOF_e = Zero + Dtt1\cdot d - - TOF_t = Zerot + Dtt1t\cdot d - Dtt2t \cdot d^{-1} - -Final Time-of-flight is calculated as: - TOF = n_{cross} TOF_e + (1-n_{cross}) TOF_t - -==== Formular for calculating A(d), B(d), \sigma(d) and \gamma(d) ==== - -* \alpha(d) - \alpha^e(d) = \alpha_0^e + \alpha_1^e d_h - \alpha^t(d) = \alpha_0^t - \frac{\alpha_1^t}{d_h} - \alpha(d) = \frac{1}{n\alpha^e + (1-n)\alpha^t} - -* \beta(d) - \beta^e(d) = \beta_0^e + \beta_1^e d_h - \beta^t(d) = \beta_0^t - \frac{\beta_1^t}{d_h} - \beta(d) = \frac{1}{n\alpha^e + (1-n)\beta^t} - -* For \sigma_G and \gamma_L, which represent the standard deviation for pseudo-voigt - \sigma_G^2(d_h) = \sigma_0^2 + (\sigma_1^2 + DST2(1-\zeta)^2)d_h^2 + (\sigma_2^2 + Gsize)d_h^4 - - \gamma_L(d_h) = \gamma_0 + (\gamma_1 + \zeta\sqrt{8\ln2DST2})d_h + (\gamma_2+F(SZ))d_h^2 - \end{eqnarray} - -* The analysis formula for the convoluted peak at d_h - \Omega(TOF(d_h)) = - (1-\eta(d_h))N\{e^uerfc(y)+e^verfc(z)\} - \frac{2N\eta}{\pi}\{\Im[e^pE_1(p)]+\Im[e^qE_1(q)]\} -where - erfc(x) = 1-erf(x) = 1-\frac{2}{\sqrt{\pi}}\int_0^xe^{-u^2}du - - E_1(z) = \int_z^{\infty}\frac{e^{-t}}{t}dt - - u = \frac{1}{2}\alpha(d_h)(\alpha(d_h)\sigma^2(d_h)+2x) - - y = \frac{\alpha(d_h)\sigma^2(d_h)+x}{\sqrt{2\sigma^2(d_h)}} - - p = \alpha(d_h)x + \frac{i\alpha(d_h)H(d_h)}{2} - - v = \frac{1}{2}\beta(d_h)(\beta(d_h)\sigma^2(d_h)-2x) - - z = \frac{\beta(d_h)\sigma^2(d_h)-x}{\sqrt{2\sigma^2(d_h)}} - - q = -\beta(d_h)x + \frac{i\beta(d_h)H(d_h)}{2} - -erfc(x) and E_1(z) will be calculated numerically. - *WIKI*/ - #include "MantidCurveFitting/ThermalNeutronBk2BkExpConvPVoigt.h" #include "MantidAPI/FunctionFactory.h" #include "MantidAPI/ParamFunction.h" diff --git a/Code/Mantid/Framework/CurveFitting/src/UserFunction.cpp b/Code/Mantid/Framework/CurveFitting/src/UserFunction.cpp index c6ef9d98b650..d69c09bd8ce1 100644 --- a/Code/Mantid/Framework/CurveFitting/src/UserFunction.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/UserFunction.cpp @@ -1,13 +1,3 @@ -/*WIKI* -A UserFunction is defined by a string formula. The formula is -assigned by setting string attribute Formula: - - "name=UserFunction, Formula = h*sin(a*x), h=2, a=1" - -Formula must use 'x' for the x-values. The fitting parameters -become defined only after the Formula attribute is set that is -why Formula must go first in UserFunction definition. - *WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/CurveFitting/src/UserFunction1D.cpp b/Code/Mantid/Framework/CurveFitting/src/UserFunction1D.cpp index 0462a0fa21ce..874d46371d84 100644 --- a/Code/Mantid/Framework/CurveFitting/src/UserFunction1D.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/UserFunction1D.cpp @@ -1,74 +1,3 @@ -/*WIKI* - -This algorithm fits a spectrum to a user defined function. The function is supplied to the algorithm as a text string. The function here is a mathematical expression using numbers, variable names and internal function names. Symbols '+', '-', '*', '/', and '^' can be used for arithmetic operations. Names can contain only letters, digits, and the underscore symbol '_'. The internal functions are: -{| -!Name -!Argc. -!Explanation -|- -|sin || 1 || sine function -|- -|cos || 1 || cosine function -|- -|tan || 1 || tangens function -|- -|asin || 1 || arcus sine function -|- -|acos || 1 || arcus cosine function -|- -|atan || 1 || arcus tangens function -|- -|sinh || 1 || hyperbolic sine function -|- -|cosh || 1 || hyperbolic cosine -|- -|tanh || 1 || hyperbolic tangens function -|- -|asinh || 1 || hyperbolic arcus sine function -|- -|acosh || 1 || hyperbolic arcus tangens function -|- -|atanh || 1 || hyperbolic arcur tangens function -|- -|log2 || 1 || logarithm to the base 2 -|- -|log10 || 1 || logarithm to the base 10 -|- -|log || 1 || logarithm to the base 10 -|- -|ln || 1 || logarithm to base e (2.71828...) -|- -|exp || 1 || e raised to the power of x -|- -|sqrt || 1 || square root of a value -|- -|sign || 1 || sign function -1 if x<0; 1 if x>0 -|- -|rint || 1 || round to nearest integer -|- -|abs || 1 || absolute value -|- -|if || 3 || if ... then ... else ... -|- -|min || var. || min of all arguments -|- -|max || var. || max of all arguments -|- -|sum || var. || sum of all arguments -|- -|avg || var. || mean value of all arguments -|} - -An example of ''Function'' property is "a + b*x + c*x^2". Valiable ''x'' is used to represent the values of the X-vector of the input spectrum. All other variable names are treated as fitting parameters. A parameter can be given an initial value in the ''InitialParameters'' property. For example, "b=1, c=0.2". The order in which the variables are listed is not important. If a variable is not given a value, it is initialized with 0.0. If some of the parameters should be fixed in the fit list them in the ''Fix'' property in any order, e.g. "a,c". - -The resulting parameters are returned in a [[TableWorkspace]] set in ''OutputParameters'' property. Also for displaying purposes ''OutputWorkspace'' is returned. It contains the initial spectrum, the fitted spectrum and their difference. - -== Example == -[[Image:UserFunction1D.gif]] - -In this example the fitting function is a*exp(-(x-c)^2*s). The parameter ''s'' is fixed. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/CurveFitting/src/Voigt.cpp b/Code/Mantid/Framework/CurveFitting/src/Voigt.cpp index 3d574d2554a7..e6accddaf3d1 100644 --- a/Code/Mantid/Framework/CurveFitting/src/Voigt.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/Voigt.cpp @@ -1,21 +1,3 @@ -/*WIKI* -A Voigt function is a convolution between a Lorentzian and Gaussian and is defined as: - -: V(X,Y) = \frac{Y}{\pi}\int_{-\infty}^{+\infty}dz\frac{exp^{-z^2}}{Y^2 + (X - z)^2} - -where - -* X - Normalized line separation width; -* Y - Normalized collision separation width. - -Generally, the Voigt function involves a numerical integral and is therefore a computational -intensive task. However, several approximations to the Voigt function exist making it palatable -for fitting in a least-squares algorithm. The approximation used here is described in - -* A.B. McLean, C.E.J. Mitchell, D.M. Swanston, Implementation of an efficient analytical approximation to the Voigt function for photoemission lineshape analysis, Journal of Electron Spectroscopy and Related Phenomena, Volume 69, Issue 2, 29 September 1994, Pages 125-132, ISSN 0368-2048, 10.1016/0368-2048(94)02189-7.(http://www.sciencedirect.com/science/article/pii/0368204894021897) - -The approximation uses a combination of 4 Lorentzians in two variables to generate good approximation to the true function. - *WIKI*/ //---------------------------------------------------------------------------------------------- // Includes //---------------------------------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/CurveFitting/test/FitMWTest.h b/Code/Mantid/Framework/CurveFitting/test/FitMWTest.h index 81629ea7ad51..345b93c8a1d1 100644 --- a/Code/Mantid/Framework/CurveFitting/test/FitMWTest.h +++ b/Code/Mantid/Framework/CurveFitting/test/FitMWTest.h @@ -227,6 +227,59 @@ class FitMWTest : public CxxTest::TestSuite } + void test_all_output() + { + auto ws2 = createTestWorkspace(true); + + API::IFunction_sptr fun(new Polynomial); + fun->setAttributeValue("n",1); + + Fit fit; + fit.initialize(); + + fit.setProperty("Function",fun); + fit.setProperty("InputWorkspace",ws2); + fit.setProperty("WorkspaceIndex",0); + fit.setProperty("Output","out"); + + fit.execute(); + + TS_ASSERT(fit.isExecuted()); + + TS_ASSERT( Mantid::API::AnalysisDataService::Instance().doesExist( "out_Workspace" ) ); + TS_ASSERT( Mantid::API::AnalysisDataService::Instance().doesExist( "out_Parameters" ) ); + + Mantid::API::AnalysisDataService::Instance().clear(); + + } + + void test_output_parameters_only() + { + auto ws2 = createTestWorkspace(true); + + API::IFunction_sptr fun(new Polynomial); + fun->setAttributeValue("n",1); + + Fit fit; + fit.initialize(); + + fit.setProperty("Function",fun); + fit.setProperty("InputWorkspace",ws2); + fit.setProperty("WorkspaceIndex",0); + fit.setProperty("Output","out"); + fit.setProperty("OutputParametersOnly",true); + + fit.execute(); + + TS_ASSERT(fit.isExecuted()); + + TS_ASSERT( ! Mantid::API::AnalysisDataService::Instance().doesExist( "out_Workspace" ) ); + TS_ASSERT( Mantid::API::AnalysisDataService::Instance().doesExist( "out_Parameters" ) ); + + Mantid::API::AnalysisDataService::Instance().clear(); + + } + void test_createDomain_creates_FunctionDomain1DSpectrum() { MatrixWorkspace_sptr ws2 = createTestWorkspace(true); diff --git a/Code/Mantid/Framework/DataHandling/src/AppendGeometryToSNSNexus.cpp b/Code/Mantid/Framework/DataHandling/src/AppendGeometryToSNSNexus.cpp index e97b2f7adc30..7aa1858a7a73 100644 --- a/Code/Mantid/Framework/DataHandling/src/AppendGeometryToSNSNexus.cpp +++ b/Code/Mantid/Framework/DataHandling/src/AppendGeometryToSNSNexus.cpp @@ -1,13 +1,3 @@ -/*WIKI* -This algorithm is intended to append the geometry information into a raw NeXus file. -It is initially for use only at the SNS, as it is needed for the currently upgrade program. -But there is nothing preventing it being used elsewhere. - -The algorithm takes the geometry information in the IDF togther with the log values in a given NeXus file -and calculates the resolved positions of all the detectors and then writes this into the NeXus file specified. - -*WIKI*/ - #include "MantidDataHandling/AppendGeometryToSNSNexus.h" #include "MantidKernel/System.h" #include "MantidAPI/FileProperty.h" diff --git a/Code/Mantid/Framework/DataHandling/src/CompressEvents.cpp b/Code/Mantid/Framework/DataHandling/src/CompressEvents.cpp index 2b6790562dad..50ee3af38413 100644 --- a/Code/Mantid/Framework/DataHandling/src/CompressEvents.cpp +++ b/Code/Mantid/Framework/DataHandling/src/CompressEvents.cpp @@ -1,20 +1,3 @@ -/*WIKI* - - - - -This algorithm starts by sorting the event lists by TOF; therefore you may gain speed by calling [[SortEvents]] beforehand. Starting from the smallest TOF, all events within Tolerance are considered to be identical. Pulse times are ignored. A weighted event without time information is created; its TOF is the average value of the summed events; its weight is the sum of the weights of the input events; its error is the sum of the square of the errors of the input events. - -Note that using CompressEvents may introduce errors if you use too large of a tolerance. Rebinning an event workspace still uses an all-or-nothing view: if the TOF of the event is in the bin, then the counts of the bin is increased by the event's weight. If your tolerance is large enough that the compound event spans more than one bin, then you will get small differences in the final histogram. - -If you are working from the raw events with TOF resolution of 0.100 microseconds, then you can safely use a tolerance of, e.g., 0.05 microseconds to group events together. In this case, histograms with/without compression are identical. If your workspace has undergone changes to its X values (unit conversion for example), you have to use your best judgement for the Tolerance value. - - - - - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -148,4 +131,3 @@ void CompressEvents::exec() } // namespace DataHandling } // namespace Mantid - diff --git a/Code/Mantid/Framework/DataHandling/src/CreateChopperModel.cpp b/Code/Mantid/Framework/DataHandling/src/CreateChopperModel.cpp index 614087fdbbd9..40984519af42 100644 --- a/Code/Mantid/Framework/DataHandling/src/CreateChopperModel.cpp +++ b/Code/Mantid/Framework/DataHandling/src/CreateChopperModel.cpp @@ -1,18 +1,3 @@ -/*WIKI* -Creates a model for a chopper using the given parameters. The parameters are given as a string to allow flexibility for each chopper model having different parameterisation. - -The chopper point is an index that can be used for multi-chopper instruments. The indices start from zero, with this being closest to moderator. - -Available models with parameter names: -* FermiChopper - -** AngularVelocity - The angular velocity value or log name -** ChopperRadius - The radius, in metres, of the whole chopper -** SlitThickness - The thickness, in metres, of the slit -** SlitRadius - The radius of curvature, in metres, of the slit -** JitterSigma - The FWHH value for the jitter calculation in microseconds -** Ei - The Ei for this run as a value or log name -*WIKI*/ - #include "MantidDataHandling/CreateChopperModel.h" #include "MantidAPI/FermiChopperModel.h" #include "MantidKernel/BoundedValidator.h" diff --git a/Code/Mantid/Framework/DataHandling/src/CreateModeratorModel.cpp b/Code/Mantid/Framework/DataHandling/src/CreateModeratorModel.cpp index 1257579216be..ecfe1a896cc3 100644 --- a/Code/Mantid/Framework/DataHandling/src/CreateModeratorModel.cpp +++ b/Code/Mantid/Framework/DataHandling/src/CreateModeratorModel.cpp @@ -1,14 +1,3 @@ -/*WIKI* -Creates a model of a moderator using the given parameters. The parameters are given as a string to allow flexibility for each moderator model having different parameterisation. - -Available models with parameter names: -* IkedaCarpenterModerator - -** TiltAngle - The tilt angle in degrees; -** TauF - The fast decay coefficient in microseconds -** TauS - The slow decay coefficient in microseconds -** R - The mixing coefficient -*WIKI*/ - #include "MantidDataHandling/CreateModeratorModel.h" #include "MantidAPI/IkedaCarpenterModerator.h" diff --git a/Code/Mantid/Framework/DataHandling/src/CreateSampleShape.cpp b/Code/Mantid/Framework/DataHandling/src/CreateSampleShape.cpp index ad4159e0fd76..f26faec8106d 100644 --- a/Code/Mantid/Framework/DataHandling/src/CreateSampleShape.cpp +++ b/Code/Mantid/Framework/DataHandling/src/CreateSampleShape.cpp @@ -1,8 +1,3 @@ -/*WIKI* -Creates a shape object that defines the sample and sets the sample for the given -workspace. Shapes are defined using XML descriptions that can be found -[[HowToDefineGeometricShape|here]]. -*WIKI*/ //-------------------------------- // Includes //-------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/CreateSimulationWorkspace.cpp b/Code/Mantid/Framework/DataHandling/src/CreateSimulationWorkspace.cpp index 4be691c07479..8cf9af2dd2e3 100644 --- a/Code/Mantid/Framework/DataHandling/src/CreateSimulationWorkspace.cpp +++ b/Code/Mantid/Framework/DataHandling/src/CreateSimulationWorkspace.cpp @@ -1,9 +1,3 @@ -/*WIKI* -Creates a blank workspace for a given instrument with the option of pulling in detector tables from a RAW/NeXus data file. The histogram sizes are given by binning parameters, see [[Rebin]], rather than explicit data arrays. -There is also an option to set the X axis unit. - -If the DetectorTableFilename property is blank then it is assumed that a 1:1 spectra-mapping is required and the workspace will have the same number of histograms as detectors in the instrument (not including monitors) -*WIKI*/ #include "MantidDataHandling/CreateSimulationWorkspace.h" #include "MantidAPI/FileProperty.h" diff --git a/Code/Mantid/Framework/DataHandling/src/DefineGaugeVolume.cpp b/Code/Mantid/Framework/DataHandling/src/DefineGaugeVolume.cpp index 90ae0511a310..e6ed05e2fa9e 100644 --- a/Code/Mantid/Framework/DataHandling/src/DefineGaugeVolume.cpp +++ b/Code/Mantid/Framework/DataHandling/src/DefineGaugeVolume.cpp @@ -1,14 +1,3 @@ -/*WIKI* - - -Intended for use on data from engineering beamlines, this algorithm creates a shape object for use as the 'gauge volume' (i.e. the portion of the sample that is visible -to the detectors in a given run) of a larger sample in the -[[AbsorptionCorrection]] algorithm. The sample shape will also need to be defined using, e.g., the [[CreateSampleShape]] algorithm. Shapes are defined using XML descriptions that can be found [[HowToDefineGeometricShape|here]]. - -Internally, this works by attaching the XML string (after validating it) to a property called "GaugeVolume" on the workspace's [[Run]] object. - - -*WIKI*/ //-------------------------------- // Includes //-------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/DeleteTableRows.cpp b/Code/Mantid/Framework/DataHandling/src/DeleteTableRows.cpp index 565ca8ea3c34..2a438b5efbbf 100644 --- a/Code/Mantid/Framework/DataHandling/src/DeleteTableRows.cpp +++ b/Code/Mantid/Framework/DataHandling/src/DeleteTableRows.cpp @@ -1,9 +1,3 @@ -/*WIKI* - -If the specified rows exist they will be deleted form the workspace. If the row list is empty the algorithm does nothing. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/DetermineChunking.cpp b/Code/Mantid/Framework/DataHandling/src/DetermineChunking.cpp index 7e5deceeaa5e..aac8feb9a0ae 100644 --- a/Code/Mantid/Framework/DataHandling/src/DetermineChunking.cpp +++ b/Code/Mantid/Framework/DataHandling/src/DetermineChunking.cpp @@ -1,8 +1,3 @@ -/*WIKI* -Workflow algorithm to determine chunking strategy -for event nexus, runinfo.xml, raw, or histo nexus files -*WIKI*/ - #include #include #include diff --git a/Code/Mantid/Framework/DataHandling/src/FilterEventsByLogValuePreNexus.cpp b/Code/Mantid/Framework/DataHandling/src/FilterEventsByLogValuePreNexus.cpp index fea2f0ddee25..8b6e0191209f 100644 --- a/Code/Mantid/Framework/DataHandling/src/FilterEventsByLogValuePreNexus.cpp +++ b/Code/Mantid/Framework/DataHandling/src/FilterEventsByLogValuePreNexus.cpp @@ -1,19 +1,3 @@ -/*WIKI* - - - - -The LoadEventPreNeXus algorithm stores data from the pre-nexus neutron event data file in an [[EventWorkspace]]. The default histogram bin boundaries consist of a single bin able to hold all events (in all pixels), and will have their [[units]] set to time-of-flight. Since it is an [[EventWorkspace]], it can be rebinned to finer bins with no loss of data. - -=== Optional properties === -Specific pulse ID and mapping files can be specified if needed; these are guessed at automatically from the neutron filename, if not specified. - -A specific list of pixel ids can be specified, in which case only events relating to these pixels will appear in the output. - -The ChunkNumber and TotalChunks properties can be used to load only a section of the file; e.g. if these are 1 and 10 respectively only the first 10% of the events will be loaded. - -*WIKI*/ - #include "MantidDataHandling/FilterEventsByLogValuePreNexus.h" #include #include diff --git a/Code/Mantid/Framework/DataHandling/src/FindDetectorsInShape.cpp b/Code/Mantid/Framework/DataHandling/src/FindDetectorsInShape.cpp index 4bc3b774ed28..1cd5eba88f55 100644 --- a/Code/Mantid/Framework/DataHandling/src/FindDetectorsInShape.cpp +++ b/Code/Mantid/Framework/DataHandling/src/FindDetectorsInShape.cpp @@ -1,6 +1,3 @@ -/*WIKI* -The algorithm places the user defined geometric shape within the virtual instrument and reports back the detector id of every detector that in contained within it. A detector is considered to be contained it its central location point is contained within the shape. -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -116,4 +113,3 @@ namespace Mantid } // namespace DataHandling } // namespace Mantid - diff --git a/Code/Mantid/Framework/DataHandling/src/FindDetectorsPar.cpp b/Code/Mantid/Framework/DataHandling/src/FindDetectorsPar.cpp index e3b01b97a8e7..ffd4b63010f8 100644 --- a/Code/Mantid/Framework/DataHandling/src/FindDetectorsPar.cpp +++ b/Code/Mantid/Framework/DataHandling/src/FindDetectorsPar.cpp @@ -1,34 +1,3 @@ -/*WIKI* - -Identifies geometrical parameters of detectors and groups of detectors after the workspaces were grouped using ASCII or XML map file. -Located in DataHangdling\Instrument\Detectors group and intended to be used as Child Algorithm of saveNXSPE algorithm, though can be deployed independently. Dynamic casting from iAlgorithm and accessors functions return calculated parameters to saveNXSPE when FindDetectorsPar used as the Child Algorithm of saveNXSPE procedure; - - -Internal Child Algorithm identifies the group topology, namely if a group of detectors is arranged into a rectangular shape or in a ring. The algorithm calculates the geometrical centre of the detectors group and 6 points, located within +-1/4 width of the first detector of the group. If the centre or any of these points belong to the group of the detectors itself, the group assumed to have a rectangular topology, and if not -- the cylindrical one (ring). - -Single detector defined to have the rectangular shape. - -After identifying the topology, the parameters are calculated using formulas for angles in Cartesian or Cylindrical coordinate systems accordingly - -== [[SavePAR|par]] and [[SavePHX|phx]] files == - -These files are ascii files which are used to describe the combined detectors geometry defined by map files. There are no reasons for you to use it unless this Mantid algorithm is working unsatisfactory for you. In this case you can quickly modify and use par file until this algorithm is modified. It is your responsibility then to assure the correspondence between mapped detectors and parameters in the par file. - -The par files are simple ASCII files with the following columns: - - 1st column sample-detector distance (m) - 2nd " scattering angle (deg) - 3rd " azimuthal angle (deg) (west bank = 0 deg, north bank = -90 deg etc.) (Note the reversed sign convention cf .phx files) - 4th " width (m) - 5th " height (m) - - -When processed by this algorithm, 4th and 5th column are transformed into angular values. - -[[SavePHX|Phx]] files are Mslice phx files, which do not contain secondary flight path. This path is calculated by the algorithm from the data in the instrument description and the angular values are calculated as in nxspe file. There are no reason to use phx files to build nxspe files at the moment unless you already have one and need to repeat your previous results with Mantid. - - -*WIKI*/ #include "MantidDataHandling/FindDetectorsPar.h" #include "MantidGeometry/Objects/BoundingBox.h" #include "MantidKernel/Logger.h" diff --git a/Code/Mantid/Framework/DataHandling/src/GenerateGroupingPowder.cpp b/Code/Mantid/Framework/DataHandling/src/GenerateGroupingPowder.cpp index d3db3d8abd5f..3571f4932b6f 100644 --- a/Code/Mantid/Framework/DataHandling/src/GenerateGroupingPowder.cpp +++ b/Code/Mantid/Framework/DataHandling/src/GenerateGroupingPowder.cpp @@ -1,11 +1,3 @@ -/*WIKI* -For powder samples, with no texture, the scattering consists only of rings. This algorithm reads a workspace and -an angle step, then generates a grouping file (.xml) and a par file (.par), by grouping detectors in intervals -i*step to (i+1)*step. The par file is required for saving in the NXSPE format, since Mantid does not correctly calculates -the correct angles for detector groups. It will contain average distances to the detector groups, and average scattering angles. -The x and y extents in the par file are radians(step)*distance and 0.01, and are not supposed to be accurate. -*WIKI*/ - #include "MantidDataHandling/GenerateGroupingPowder.h" #include "MantidKernel/System.h" #include "MantidAPI/FileProperty.h" diff --git a/Code/Mantid/Framework/DataHandling/src/GroupDetectors.cpp b/Code/Mantid/Framework/DataHandling/src/GroupDetectors.cpp index f1876e2fe68c..f31f228a78af 100644 --- a/Code/Mantid/Framework/DataHandling/src/GroupDetectors.cpp +++ b/Code/Mantid/Framework/DataHandling/src/GroupDetectors.cpp @@ -1,65 +1,3 @@ -/*WIKI* - - -This algorithm sums, bin-by-bin, multiple spectra into a single spectra. The errors are summed in quadrature and the algorithm checks that the bin boundaries in X are the same. The new summed spectra are created at the start of the output workspace and have spectra index numbers that start at zero and increase in the order the groups are specified. Each new group takes the spectra numbers from the first input spectrum specified for that group. All detectors from the grouped spectra will be moved to belong to the new spectrum. - -Not all spectra in the input workspace have to be copied to a group. If KeepUngroupedSpectra is set to true any spectra not listed will be copied to the output workspace after the groups in order. If KeepUngroupedSpectra is set to false only the spectra selected to be in a group will be used. - -To create a single group the list of spectra can be identified using a list of either spectrum numbers, detector IDs or workspace indices. The list should be set against the appropriate property. - -An input file allows the specification of many groups. The file must have the following format* (extra space and comments starting with # are allowed) : - - "unused number1" - "unused number2" - "number_of_input_spectra1" - "input spec1" "input spec2" "input spec3" "input spec4" - "input spec5 input spec6" - ** - "unused number2" - "number_of_input_spectra2" - "input spec1" "input spec2" "input spec3" "input spec4" - -* each phrase in "" is replaced by a single integer - -** the section of the file that follows is repeated once for each group - -Some programs require that "unused number1" is the number of groups specified in the file but Mantid ignores that number and all groups contained in the file are read regardless. "unused number2" is in other implementations the group's spectrum number but in this algorithm it is is ignored and can be any integer (not necessarily the same integer) - - An example of an input file follows: - 2 - 1 - 64 - 1 2 3 4 5 6 7 8 9 10 - 11 12 13 14 15 16 17 18 19 20 - 21 22 23 24 25 26 27 28 29 30 - 31 32 33 34 35 36 37 38 39 40 - 41 42 43 44 45 46 47 48 49 50 - 51 52 53 54 55 56 57 58 59 60 - 61 62 63 64 - 2 - 60 - 65 66 67 68 69 70 71 72 73 74 - 75 76 77 78 79 80 81 82 83 84 - 85 86 87 88 89 90 91 92 93 94 - 95 96 97 98 99 100 101 102 103 104 - 105 106 107 108 109 110 111 112 113 114 - 115 116 117 118 119 120 121 122 123 124 - -In addition the following XML grouping format is also supported -
- - - - - - - - - -
-where is used to specify spectra IDs and detector IDs. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -194,4 +132,3 @@ void GroupDetectors::exec() } // namespace DataHandling } // namespace Mantid - diff --git a/Code/Mantid/Framework/DataHandling/src/GroupDetectors2.cpp b/Code/Mantid/Framework/DataHandling/src/GroupDetectors2.cpp index 265ad2e62ba9..3818feceee72 100644 --- a/Code/Mantid/Framework/DataHandling/src/GroupDetectors2.cpp +++ b/Code/Mantid/Framework/DataHandling/src/GroupDetectors2.cpp @@ -1,71 +1,3 @@ -/*WIKI* - - -This algorithm sums, bin-by-bin, multiple spectra into a single spectra. The errors are summed in quadrature and the algorithm checks that the bin boundaries in X are the same. The new summed spectra are created at the start of the output workspace and have spectra index numbers that start at zero and increase in the order the groups are specified. Each new group takes the spectra numbers from the first input spectrum specified for that group. All detectors from the grouped spectra will be moved to belong to the new spectrum. - -Not all spectra in the input workspace have to be copied to a group. If KeepUngroupedSpectra is set to true any spectra not listed will be copied to the output workspace after the groups in order. If KeepUngroupedSpectra is set to false only the spectra selected to be in a group will be used. - -To create a single group the list of spectra can be identified using a list of either spectrum numbers, detector IDs or workspace indices. The list should be set against the appropriate property. - -An input file allows the specification of many groups. The file must have the following format* (extra space and comments starting with # are allowed) : - - "unused number1" - "unused number2" - "number_of_input_spectra1" - "input spec1" "input spec2" "input spec3" "input spec4" - "input spec5 input spec6" - ** - "unused number2" - "number_of_input_spectra2" - "input spec1" "input spec2" "input spec3" "input spec4" - -* each phrase in "" is replaced by a single integer - -** the section of the file that follows is repeated once for each group - -Some programs require that "unused number1" is the number of groups specified in the file but Mantid ignores that number and all groups contained in the file are read regardless. "unused number2" is in other implementations the group's spectrum number but in this algorithm it is is ignored and can be any integer (not necessarily the same integer) - - An example of an input file follows: - 2 - 1 - 64 - 1 2 3 4 5 6 7 8 9 10 - 11 12 13 14 15 16 17 18 19 20 - 21 22 23 24 25 26 27 28 29 30 - 31 32 33 34 35 36 37 38 39 40 - 41 42 43 44 45 46 47 48 49 50 - 51 52 53 54 55 56 57 58 59 60 - 61 62 63 64 - 2 - 60 - 65 66 67 68 69 70 71 72 73 74 - 75 76 77 78 79 80 81 82 83 84 - 85 86 87 88 89 90 91 92 93 94 - 95 96 97 98 99 100 101 102 103 104 - 105 106 107 108 109 110 111 112 113 114 - 115 116 117 118 119 120 121 122 123 124 - -In addition the following XML grouping format is also supported -
- - - - - - - - - -
-where is used to specify spectra IDs and detector IDs. - -== Previous Versions == - -=== Version 1 === -The set of spectra to be grouped can be given as a list of either spectrum numbers, detector IDs or workspace indices. The new, summed spectrum will appear in the workspace at the first workspace index of the pre-grouped spectra (which will be given by the ResultIndex property after execution). The detectors for all the grouped spectra will be moved to belong to the first spectrum. ''A technical note: the workspace indices previously occupied by summed spectra will have their data zeroed and their spectrum number set to a value of -1.'' - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/Load.cpp b/Code/Mantid/Framework/DataHandling/src/Load.cpp index b5a333190876..3e9be9923491 100644 --- a/Code/Mantid/Framework/DataHandling/src/Load.cpp +++ b/Code/Mantid/Framework/DataHandling/src/Load.cpp @@ -1,33 +1,3 @@ -/*WIKI* - -The Load algorithm is a more intelligent algorithm than most other load algorithms. When passed a filename it attempts to search the existing load [[:Category:Algorithms|algorithms]] and find the most appropriate to load the given file. The specific load algorithm is then run as a child algorithm with the exception that it logs messages to the Mantid logger. - -==== Specific Load Algorithm Properties ==== - -Each specific loader will have its own properties that are appropriate to it: SpectrumMin and SpectrumMax for ISIS RAW/NeXuS, FilterByTof_Min and FilterByTof_Max for Event data. The Load algorithm cannot know about these properties until it has been told the filename and found the correct loader. Once this has happened the properties of the specific Load algorithm are redeclared on to that copy of Load. - -*WIKI*/ -/*WIKI_USAGE_NO_SIGNATURE* -==== Python ==== -Given the variable number and types of possible arguments that Load can take, its simple Python function cannot just list the properties as arguments like the others do. Instead the Python function Load can handle any number of arguments. The OutputWorkspace and Filename arguments are the exceptions in that they are always checked for. A snippet regarding usage from the help(Load) is shown below -
- -# Simple usage, ISIS NeXus file -Load('INSTR00001000.nxs', OutputWorkspace='run_ws') - -# ISIS NeXus with SpectrumMin and SpectrumMax = 1 -Load('INSTR00001000.nxs', OutputWorkspace='run_ws', SpectrumMin=1, SpectrumMax=1) - -# SNS Event NeXus with precount on -Load('INSTR_1000_event.nxs', OutputWorkspace='event_ws', Precount=True) - -# A mix of keyword and non-keyword is also possible -Load(OutputWorkspace='event_ws', Filename='INSTR_1000_event.nxs', Precount=True) -
-==== Loading Multiple Files ==== - -Loading multiple files is also possible with Load, as well as workspace addition. For more information, see [[MultiFileLoading]]. -*WIKI_USAGE_NO_SIGNATURE*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/LoadAscii.cpp b/Code/Mantid/Framework/DataHandling/src/LoadAscii.cpp index 61bb049bb96d..e0c998a3e989 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadAscii.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadAscii.cpp @@ -1,22 +1,3 @@ -/*WIKI* - -The LoadAscii algorithm reads in spectra data from a text file and stores it in a [[Workspace2D]] as data points. The data in the file must be organized in columns separated by commas, tabs, spaces, colons or semicolons. Only one separator type can be used throughout the file; use the "Separator" property to tell the algorithm which to use. The algorithm [[SaveAscii]] is normally able to produce such a file. - -By default the algorithm attempts to guess which lines are header lines by trying to see where a contiguous block of numbers starts. This can be turned off by specifying the "SkipNumLines" property, which will then tell the algorithm to simply use that as the the number of header lines. - -The format can be one of: -* Two columns: 1st column=X, 2nd column=Y, E=0 -* For a workspace of ''n'' spectra, 2''n''+1 columns: 1''st'' column=X, 2i''th'' column=Y, 2i+1''th'' column =E -* Four columns: 1st column=X, 2nd column=Y, 3rd column=E, 4th column=DX (X error) - -The number of bins is defined by the number of rows. - -The resulting workspace will have common X binning for all spectra. - -This algorithm cannot load a file created by [[SaveAscii]] if it has X errors written and several spectra. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/LoadAscii2.cpp b/Code/Mantid/Framework/DataHandling/src/LoadAscii2.cpp index 508d47828847..46339e1a670d 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadAscii2.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadAscii2.cpp @@ -1,29 +1,3 @@ -/*WIKI* - -The LoadAscii2 algorithm reads in spectra data from a text file and stores it in a [[Workspace2D]] as data points. The data in the file must be organized in columns separated by commas, tabs, spaces, colons or semicolons. Only one separator type can be used throughout the file; use the "Separator" property to tell the algorithm which to use. The algorithm [[SaveAscii2]] is normally able to produce such a file. - -The format must be: -* A single integer or blank line to denote a new spectra -* For each bin, between two and four columns of delimted data in the following order: 1st column=X, 2nd column=Y, 3rd column=E, 4th column=DX (X error) -* Comments can be included by prefixing the line with a non-numerical character which must be consistant throughout the file and specified when you load the file. Defaults to "#" -* The number of bins is defined by the number of rows and must be identical for each spectra - -The following is an example valid file of 4 spectra of 2 bins each with no X error -# X , Y , E -1 -2.00000000,2.00000000,1.00000000 -4.00000000,1.00000000,1.00000000 -2 -2.00000000,5.00000000,2.00000000 -4.00000000,4.00000000,2.00000000 -3 -2.00000000,3.00000000,1.00000000 -4.00000000,0.00000000,0.00000000 -4 -2.00000000,0.00000000,0.00000000 -4.00000000,0.00000000,0.00000000 - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/LoadCalFile.cpp b/Code/Mantid/Framework/DataHandling/src/LoadCalFile.cpp index 83c04194c809..f71414b2048d 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadCalFile.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadCalFile.cpp @@ -1,20 +1,3 @@ -/*WIKI* - - - -This algorithm loads an ARIEL-style 5-column ASCII .cal file into up to 3 workspaces: a GroupingWorkspace, OffsetsWorkspace and/or MaskWorkspace. - -The format is -* Number: ignored.* UDET: detector ID.* Offset: calibration offset. Goes to the OffsetsWorkspace. -* Select: 1 if selected (not masked out). Goes to the MaskWorkspace. -* Group: group number. Goes to the GroupingWorkspace. - - - - - - -*WIKI*/ #include "MantidAPI/Algorithm.h" #include "MantidAPI/FileProperty.h" #include "MantidAPI/MatrixWorkspace.h" @@ -336,4 +319,3 @@ namespace DataHandling } // namespace Mantid } // namespace DataHandling - diff --git a/Code/Mantid/Framework/DataHandling/src/LoadCanSAS1D.cpp b/Code/Mantid/Framework/DataHandling/src/LoadCanSAS1D.cpp index a5f4705bb5aa..8bece26ae3c4 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadCanSAS1D.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadCanSAS1D.cpp @@ -1,12 +1,3 @@ -/*WIKI* - -Loads the given file, which should be in the CanSAS1d format specified by canSAS 1D Data Formats Working -Group schema http://svn.smallangles.net/svn/canSAS/1dwg/trunk/cansas1d.xsd and creates output workspace. -CANSAS has a Wiki page at http://www.smallangles.net/wgwiki/index.php/canSAS_Working_Groups - -If the file contains mulitple SASentry elements a workspace group will be created and each SASentry will be one workspace in the group. Loading multiple SASdata elements is not supported. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/LoadCanSAS1D2.cpp b/Code/Mantid/Framework/DataHandling/src/LoadCanSAS1D2.cpp index 48d74460d8a8..7fd998678000 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadCanSAS1D2.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadCanSAS1D2.cpp @@ -1,12 +1,3 @@ -/*WIKI* - -Loads the given file, which should be in the CanSAS1d format specified by canSAS 1D Data Formats Working -Group schema http://svn.smallangles.net/svn/canSAS/1dwg/trunk/cansas1d.xsd and creates output workspace. -CANSAS has a Wiki page at http://www.smallangles.net/wgwiki/index.php/canSAS_Working_Groups - -If the file contains mulitple SASentry elements a workspace group will be created and each SASentry will be one workspace in the group. Loading multiple SASdata elements is not supported. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/LoadDaveGrp.cpp b/Code/Mantid/Framework/DataHandling/src/LoadDaveGrp.cpp index 753315dfba4c..95901797de75 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadDaveGrp.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadDaveGrp.cpp @@ -1,10 +1,3 @@ -/*WIKI* - - -This algorithm loads data from a DAVE grouped ASCII file. These have been generated at the SNS for all the inelastic beamlines, hence the choice in the defaults for the axis units. - - -*WIKI*/ #include "MantidDataHandling/LoadDaveGrp.h" #include "MantidDataObjects/Workspace2D.h" #include "MantidAPI/FileProperty.h" diff --git a/Code/Mantid/Framework/DataHandling/src/LoadDetectorInfo.cpp b/Code/Mantid/Framework/DataHandling/src/LoadDetectorInfo.cpp index efe0fb1005e7..6233c5c39719 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadDetectorInfo.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadDetectorInfo.cpp @@ -1,266 +1,3 @@ -/*WIKI* - -The detection time delay for each detector is subtracted from the time of flight bin boundaries in the spectrum associated with that detector. It is required that all the monitors have the same time delay and if this is non-zero the delay time is added to all TOF values. It is important that the units of the input workspace are TOF in microseconds, that [[GroupDetectors]] has not been run and this algorithm is only applied once to a workspace. - -Values for the partial pressure of 3He and wall thickness are added into the parameter map for each detector in a form that can be read by [[DetectorEfficiencyCor]]. That is, the values are assumed to be in atmosheres and meters, respectively, and the properties are stored internally in the workspace parameter map as "3He(atm)" and "wallT(m)". The values are likely to be read from the same RAW file that the workspace was loaded from or a DAT file that corrosponds to the same run or series of experimental runs. - -Spectra whose associated detector data are not found in the input DAT or RAW file will not have their time of flight bin boundaries adjusted. Similarly nothing will be written to the parameter map for those detectors, the algorithm will continue to process data as normal but a warning will be written to the log. Detectors that are listed in the input file but do not exist in the instrument definition file will be ignored and details will be written to the log. - -If all the time offsets are the same and the file ''appears'' to contain enough data for all detectors all detector spectra will use same bin boundaries, where possible. This will make the algorithm run much more quickly and use less memory. - -When using a RAW file the time offset for each detector is read from the "hold off" table in the file's header while pressure and wall thickness data must be present in the user table array. The format for .DAT files is specified in the document "DETECTOR.DAT format" written by Prof G Toby Perring ("detector format.doc") - -If the RelocateDets option is set to true, it is false by default, then the detectors are moved to the corresponding positions specified in the data file provided. - -=== Detectors.dat data format === - -The the detector data can be stored as ASCII or [http://download.nexusformat.org/ NeXus] data file. The description of the ASCII DETECTOR.dat file is provided in the table below. Nexus file format can come in two flavours. The first one is completely equivalent to the ASCII 19 column data format and introduced to increase the speed of accessing these data in binary format, where the second one left for compatibility with Libisis. It has meaningful data corresponding to the columns 1-6, 17&18 below, but does not support multiple tube pressures and wall thickness. - -The [[LoadDetectorInfo]] algorithm currently reads and interprets rows 1-6,17&18 of the table, provided below (or columns of det.dat file) or correspondent data blocks from the NeXus file. It also does not understand the short (15 columns) MARI detector.dat ASCII file format (see '''ISIS detector.dat files''' below). - -==== Co-ordinate frames ==== - -For the purposes of the detector table we choose a right handed set of axes fixed in the spectrometer: - - x-axis -- horizontal - y-axis -- vertical - z-axis -- parallel to ki - -Centres of each detector element are defined in spherical polar co-ordinates as seen from the sample position: - - THETA Polar angle measured from the z-axis [what we would normally call the scattering angle PHI]. Note that 0< THETA <180 - PHI Azimuthal angle measured from the x-axis in a right handed sense [what TGP, CDF and RD01 call -BETA]. - For example, the West Bank of HET has PHI=0, the North Bank has PHI=90, the South Bank has PHI=270. - -To specify the orientation of a detector, define axes x', y', z' as follows: - - x'-axis increasing THETA - y'-axis increasing PHI - z'-axis parallel to the line joining sample and detector - -The natural coordinate frame for the detector, xd, yd, zd, may not coincide with x', y', z'. For example, the natural frame for a gas tube is with zd along the axis of the tube, and the direction of xd chosen to be perpendicular to the line joining the detector with the sample. The characteristic dimensions of the detector, W_x, W_y, W_z, are given in the frame xd, yd, zd. - -The detector coordinate axes xd, yd, zd are related to x', y', z' by a rotation. The transformation is be expressed by a three-component vector αx, αy, αz, where the magnitude of the vector gives the angle of rotation in a right-hand sense, and the normalised elements give the components along x', y', z' of the unit vector about which the rotation takes place. The magnitude of the vector is in degrees. - - e.g. non-PSD gas tube on the Debye-Scherrer cone: - αx = -900, αy = αz = 00; Wx = Wy = 0.0254, Wz = 0.300 - - e.g. Davidson bead monitor filling the HET beam at the monitor_2 position: - αx = αy = αz = 00; Wx = Wy = 0.045, Wz = 0.00025 - -Note that for PSD detectors the angles and dimensions refer to the pixel, not the whole tube. For HET, Wz = 0.914/64 = 0.01428. - -==== File format ==== -The file consists of number of ASCII columns, separated by spaces. All distances are in meters, and all angles in degrees. -{| border="1" cellpadding="5" cellspacing="0" -!Column Number -!Column Name -!Column Type -!Column Description -|- -| 1 -|DET_NO -|integer -|Detector index number as in SPECTRA.DAT -|- -| 2 -|DELTA -|real -|Electronics delay time (us). The origin is up to you. HOMER uses the peak in monitor_2 as the origin of time, so the only thing that really matters is the difference in the delay time between the detectors and the monitors. -|- -| 3 -|L2 -|real -|Sample - detector distance (m) -|- -| 4 -|CODE -|integer -|Code number that describes the detector type. Up to now this column has been redundant so the old files can contain unity for all detectors. Proper detectors should now follow the scheme: - 0 Dummy detector entry (see later) - 1 Davidson scintillator bead monitor (or just monitor) - 2 non-PSD gas tube - 3 PSD gas tube -|- -| 5 -|THETA -|real -|Scattering angle (deg) -|- -| 6 -|PHI -|real -|Azimuthal angle (deg). Origin and rotation sense defined above -|- -| 7 -|W_x -|real -|True detector dimensions (m) in the frame xd’ -|- -| 8 -|W_y -|real -|True detector dimensions (m) in the frame yd’ -|- -| 9 -|W_z -|real -|True detector dimensions (m) in the frame zd’ -|- -| 10 -|F_x -|real -| False detector dimensions (m) in the frame xd' to avoid gaps between detectors -|- -| 11 -|F_y -|real -|False detector dimensions (m) in the frame yd' to avoid gaps between detectors -|- -| 12 -|F_z -|real -|False detector dimensions (m) in the frame zd' to avoid gaps between detectors -|- -| 13 -|αx -|real -| x-coordinate of the vector describing orientation of detector in the co-ordinate frame defined above. -|- -| 14 -|αy -|real -| y-coordinate of the vector describing orientation of detector in the co-ordinate frame defined above. -|- -| 15 -|αz -|real -| z-coordinate of the vector describing orientation of detector in the co-ordinate frame defined above. -|- -|COLSPAN='4' |The columns with numbers higher then those described above contain information about the detectors that is dependent on the detector type: -|- -|COLSPAN='4' |CODE = 0 (Dummy detector entry) : -|- -|- -| 16 -| det_1 -| real -|Frequently, some of the inputs to the data acquisition electronics do not have any detectors plugged into them. To ensure that any noise on these inputs is safely directed to a ‘dust-bin’ spectrum, they are given detector numbers which are associated with spectrum 0 in SPECTRA.DAT. Dummy entries in DETECTOR.DAT are required for each of these dummy detectors. These entries should be given detector CODE = 0, which will be used to indicate that the other entries in DETECTOR.DAT can be ignored. For the sake of clarity, set all DELTA, L2...DET_4 to zero for dummy detectors. -|- -| 17 -| det_2 -| real -| The same as 16 -|- -| 18 -| det_3 -| real -| The same as 16 -|- -| 19 -| det_4 -| real -| The same as 16 -|- -|- -|COLSPAN='4' |CODE = 1 (monitor) : -|- -| 16 -| det_1 -| real -| Dead time (us). Important for old detectors and high counting rate. -|- -| 17 -| det_2 -| real -|Macroscopic absorption cross-section Σ(m-1meV-0.5). For our monitors this is for Li scintillator glass. [I think I know what Σ is approximately, but we don’t at present use it anywhere, so set to zero] -|- -| 18 -| det_3 -| real -| Ignored. Set to zero -|- -| 19 -| det_4 -| real -| Ignored. Set to zero -|- -|- -|COLSPAN='4' |CODE = 2 (non-PSD gas tube) : -|- -| 16 -| det_1 -| real -| Dead time (us). Important for old detectors and high counting rate. -|- -| 17 -| det_2 -| real -|Gas tube detector 3He partial pressure (atms) -|- -| 18 -| det_3 -| real -| Gas tube wall thickness (m) [0.00080] -|- -| 19 -| det_4 -| real -| Ignored. Set to zero -|- -|- -|COLSPAN='4' |CODE = 3 (PSD gas tube) : -|- -| 16 -| det_1 -| real -| Dead time (us). Important for old detectors and high counting rate. -|- -| 17 -| det_2 -| real -|Gas tube detector 3He partial pressure (atms) [10.0 or 6.4] -|- -| 18 -| det_3 -| real -| Gas tube wall thickness (m) [0.00080] -|- -| 19 -| det_4 -| real -|Index of tube to which the pixel belongs. Each PSD gas tube must be given a unique identifier. This enables programs that use DETECTOR.DAT to recognise that pixels have come from the same PSD tube. -|- - -|} - -==== ISIS DETECTOR.DAT files ==== - -The ISIS raw files seem to have two possible entries - MARI is non-standard for some reason - - nuse=14 nuse=10 - (ncol=19) (ncol=15) - det_no spec spec - delta delt delt - l2 len2 len2 - code code code - theta tthe tthe - phi ut1 ut1 - W_x ut2 ut2 - W_y ut3 ut3 - W_z ut4 ut4 - F_x ut5 - F_y ut6 - F_z ut7 - αx ut8 ut5 - αy ut9 ut6 - αz ut10 ut7 - det_1 ut11 - det_2 ut12 ut8 - det_3 ut13 ut9 - det_4 ut14 ut10 - - *WIKI*/ #include "MantidDataHandling/LoadDetectorInfo.h" #include "MantidAPI/FileProperty.h" #include "MantidKernel/Exception.h" @@ -709,4 +446,3 @@ namespace Mantid } } - diff --git a/Code/Mantid/Framework/DataHandling/src/LoadDetectorsGroupingFile.cpp b/Code/Mantid/Framework/DataHandling/src/LoadDetectorsGroupingFile.cpp index 052935b23060..62dd18df5e96 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadDetectorsGroupingFile.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadDetectorsGroupingFile.cpp @@ -1,103 +1,3 @@ -/*WIKI* - -This algorithm is used to generate a GroupingWorkspace from an XML or Map file containing detectors' grouping information. - -== XML File Format == - -Extension: .xml - -=== Parameters === -* "instrument": optional attribute of node 'detector-grouping'. It must be valid instrument name. If "instrument" is not defined, only tag "ids" can be used in this XML file. -* "ID": optional attribute of node 'group'. It must be an integer, and the key to denote group. If "ID" is not given, algorithm will use default group ID for each group in the same order as in XML file. The automatic group ID starts from 1. -* "detids": a node to define grouping by detectors' ID. Its value must be a list of integers separated by ','. A '-' is used between 2 integers to define a range of detectors. -* "component": a node to define that all detectors belonged to a component in the instrument are to be in a same group. Its value should be a valid component name. -* "ids": a node to define that all detectors of the spectrum whose ID 's defined by "ids" will be grouped together. - -Example 1: - - - - - 3,34-44,47 - bank21 - - bank26 - - - -Example 2: - - - - - 3,34-44,47 - bank21 - - bank26 - - - -Example 3: - - - - - 3,34-44,47 - - 26 - 27,28 - - - -== Map File Format == - -Extension: .map - -The file must have the following format* (extra space and comments starting with # are allowed) : - - "unused number1" - "unused number2" - "number_of_input_spectra1" - "input spec1" "input spec2" "input spec3" "input spec4" - "input spec5 input spec6" - ** - "unused number2" - "number_of_input_spectra2" - "input spec1" "input spec2" "input spec3" "input spec4" - -* each phrase in "" is replaced by a single integer - -** the section of the file that follows is repeated once for each group - -Some programs require that "unused number1" is the number of groups specified in the file but Mantid ignores that number and all groups contained in the file are read regardless. "unused number2" is in other implementations the group's spectrum number but in this algorithm it is is ignored and can be any integer (not necessarily the same integer) - -An example of an input file follows: - - 3 - 1 - 64 - 1 2 3 4 5 6 7 8 9 10 - 11 12 13 14 15 16 17 18 19 20 - 21 22 23 24 25 26 27 28 29 30 - 31 32 33 34 35 36 37 38 39 40 - 41 42 43 44 45 46 47 48 49 50 - 51 52 53 54 55 56 57 58 59 60 - 61 62 63 64 - 2 - 60 - 65 66 67 68 69 70 71 72 73 74 - 75 76 77 78 79 80 81 82 83 84 - 85 86 87 88 89 90 91 92 93 94 - 95 96 97 98 99 100 101 102 103 104 - 105 106 107 108 109 110 111 112 113 114 - 115 116 117 118 119 120 121 122 123 124 - 3 - 60 - 125 126 127 - 180 181 182 183 184 - -== - -*WIKI*/ #include "MantidDataHandling/LoadDetectorsGroupingFile.h" #include "MantidKernel/System.h" #include "MantidAPI/FileProperty.h" diff --git a/Code/Mantid/Framework/DataHandling/src/LoadDspacemap.cpp b/Code/Mantid/Framework/DataHandling/src/LoadDspacemap.cpp index 34442dfdd139..53435dfa74e8 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadDspacemap.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadDspacemap.cpp @@ -1,14 +1,3 @@ -/*WIKI* - - - -Loads a Dspacemap file (POWGEN binary, VULCAN binary or ascii format) into an OffsetsWorkspace. - -The resulting workspace can then be used with, e.g. [[AlignDetectors]] to perform calibration. - - - -*WIKI*/ #include "MantidAPI/FileProperty.h" #include "MantidAPI/WorkspaceValidators.h" #include "MantidDataHandling/LoadCalFile.h" @@ -417,4 +406,3 @@ namespace DataHandling } // namespace Mantid } // namespace DataHandling - diff --git a/Code/Mantid/Framework/DataHandling/src/LoadEmptyInstrument.cpp b/Code/Mantid/Framework/DataHandling/src/LoadEmptyInstrument.cpp index b150101e8005..dcd7fe435f65 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadEmptyInstrument.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadEmptyInstrument.cpp @@ -1,10 +1,3 @@ -/*WIKI* - -This algorithm is to enable you to look at an instrument without having to load a full data file. -Instead of loading a data file, it loads the [[InstrumentDefinitionFile]] for the instrument, which has information about the instrument. -The instrument is referred to as being empty because there is no data associated with it. - -*WIKI*/ #include "MantidAPI/FileProperty.h" #include "MantidDataHandling/LoadEmptyInstrument.h" #include "MantidDataObjects/EventWorkspace.h" diff --git a/Code/Mantid/Framework/DataHandling/src/LoadEventNexus.cpp b/Code/Mantid/Framework/DataHandling/src/LoadEventNexus.cpp index 7a729169d2c5..5f3234d0e913 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadEventNexus.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadEventNexus.cpp @@ -1,29 +1,3 @@ -/*WIKI* - -The LoadEventNeXus algorithm loads data from an EventNexus file into an [[EventWorkspace]]. The default histogram bin boundaries consist of a single bin able to hold all events (in all pixels), and will have their [[units]] set to time-of-flight. Since it is an [[EventWorkspace]], it can be rebinned to finer bins with no loss of data. - -Sample logs, such as motor positions or e.g. temperature vs time, are also loaded using the [[LoadNexusLogs]] child algorithm. - -=== Optional properties === - -If desired, you can filter out the events at the time of loading, by specifying minimum and maximum time-of-flight values. This can speed up loading and reduce memory requirements if you are only interested in a narrow range of the times-of-flight of your data. - -You may also filter out events by providing the start and stop times, in seconds, relative to the first pulse (the start of the run). - -If you wish to load only a single bank, you may enter its name and no events from other banks will be loaded. - -The Precount option will count the number of events in each pixel before allocating the memory for each event list. Without this option, because of the way vectors grow and are re-allocated, it is possible for up to 2x too much memory to be allocated for a given event list, meaning that your EventWorkspace may occupy nearly twice as much memory as needed. The pre-counting step takes some time but that is normally compensated by the speed-up in avoid re-allocating, so the net result is smaller memory footprint and approximately the same loading time. - -==== Veto Pulses ==== - -Veto pulses can be filtered out in a separate step using [[FilterByLogValue]]: - - FilterByLogValue(InputWorkspace="ws", OutputWorkspace="ws", LogName="veto_pulse_time", PulseFilter="1") - - -*WIKI*/ - - //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/LoadEventPreNexus.cpp b/Code/Mantid/Framework/DataHandling/src/LoadEventPreNexus.cpp index f25f0f29278a..38ddbbada0e4 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadEventPreNexus.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadEventPreNexus.cpp @@ -1,19 +1,3 @@ -/*WIKI* - - - - -The LoadEventPreNeXus algorithm stores data from the pre-nexus neutron event data file in an [[EventWorkspace]]. The default histogram bin boundaries consist of a single bin able to hold all events (in all pixels), and will have their [[units]] set to time-of-flight. Since it is an [[EventWorkspace]], it can be rebinned to finer bins with no loss of data. - -=== Optional properties === -Specific pulse ID and mapping files can be specified if needed; these are guessed at automatically from the neutron filename, if not specified. - - - - - -*WIKI*/ - #include "MantidDataHandling/LoadEventPreNexus.h" #include "MantidAPI/FileFinder.h" #include "MantidAPI/RegisterFileLoader.h" diff --git a/Code/Mantid/Framework/DataHandling/src/LoadEventPreNexus2.cpp b/Code/Mantid/Framework/DataHandling/src/LoadEventPreNexus2.cpp index ba415777de65..dbba0b074515 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadEventPreNexus2.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadEventPreNexus2.cpp @@ -1,19 +1,3 @@ -/*WIKI* - - - - -The LoadEventPreNeXus algorithm stores data from the pre-nexus neutron event data file in an [[EventWorkspace]]. The default histogram bin boundaries consist of a single bin able to hold all events (in all pixels), and will have their [[units]] set to time-of-flight. Since it is an [[EventWorkspace]], it can be rebinned to finer bins with no loss of data. - -=== Optional properties === -Specific pulse ID and mapping files can be specified if needed; these are guessed at automatically from the neutron filename, if not specified. - -A specific list of pixel ids can be specified, in which case only events relating to these pixels will appear in the output. - -The ChunkNumber and TotalChunks properties can be used to load only a section of the file; e.g. if these are 1 and 10 respectively only the first 10% of the events will be loaded. - -*WIKI*/ - #include "MantidDataHandling/LoadEventPreNexus2.h" #include #include diff --git a/Code/Mantid/Framework/DataHandling/src/LoadFullprofResolution.cpp b/Code/Mantid/Framework/DataHandling/src/LoadFullprofResolution.cpp index 91845fd6cbd9..52dcec9ac8dd 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadFullprofResolution.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadFullprofResolution.cpp @@ -1,18 +1,3 @@ -/*WIKI* - -Load Fullprof resolution (.irf) file to TableWorkspace(s) and optionally into the instruments of matrix workspaces with one workspace per bank of the .irf file. -Either or both of the Tableworkspace(s) and matrix workspace must be set. - -Where a Workspace is specified the support for translating Fullprof resolution parameters into the workspace for subsequent -fitting is limitted to Fullprof: - -* NPROF=13, Ikeda-Carpender pseudo-Voigt translated into [[IkedaCarpenterPV]] according to [[CreateIkedaCarpenterParameters]] -* NPROF=9, back-to-back-exponential pseudo-Voigt translated into [[BackToBackExponential]] according to [[CreateBackToBackParameters]] - -Note for NPROF=9 the translation is currently ignoring the Lorentzian part of the pseudo-Voigt. - -*WIKI*/ - #include "MantidDataHandling/LoadFullprofResolution.h" #include "MantidAPI/FileProperty.h" #include "MantidKernel/ArrayProperty.h" @@ -1096,39 +1081,3 @@ namespace DataHandling } // namespace DataHandling } // namespace Mantid - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Code/Mantid/Framework/DataHandling/src/LoadGSASInstrumentFile.cpp b/Code/Mantid/Framework/DataHandling/src/LoadGSASInstrumentFile.cpp index d8402f88d5be..0bbcc86380d0 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadGSASInstrumentFile.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadGSASInstrumentFile.cpp @@ -1,13 +1,3 @@ -/*WIKI* - -Load parameters from a GSAS instrument file into a table workspace - -Later developments of this algorithm will enable these parameters to be put into the instrument of a wotrkspace -for either Ikeda-Carpender pseudo-Voigt translated into [[IkedaCarpenterPV]] or -back-to-back-exponential pseudo-Voigt translated into [[BackToBackExponential]]. - -*WIKI*/ - #include "MantidDataHandling/LoadGSASInstrumentFile.h" #include "MantidAPI/FileProperty.h" #include "MantidKernel/ArrayProperty.h" @@ -451,39 +441,3 @@ namespace DataHandling } // namespace DataHandling } // namespace Mantid - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Code/Mantid/Framework/DataHandling/src/LoadGSS.cpp b/Code/Mantid/Framework/DataHandling/src/LoadGSS.cpp index 818934c9b1b8..967f362fdc28 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadGSS.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadGSS.cpp @@ -1,14 +1,3 @@ -/*WIKI* - -Loads a GSS file such as that saved by [[SaveGSS]]. - -Two types of GSAS files are supported - * RALF - * SLOG - - - -*WIKI*/ //--------------------------------------------------- // Includes //--------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/LoadIDFFromNexus.cpp b/Code/Mantid/Framework/DataHandling/src/LoadIDFFromNexus.cpp index 416a256691af..bfe3e598db9e 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadIDFFromNexus.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadIDFFromNexus.cpp @@ -1,9 +1,3 @@ -/*WIKI* - -Some Nexus files contain an instrument definition. This algorithm loads the instrument from this definition. -You may need to tell this algorithm where in the Nexus file to find the Instrument folder, which contains the instrument definition. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/LoadILL.cpp b/Code/Mantid/Framework/DataHandling/src/LoadILL.cpp index 37fea8632be8..23d5d434482e 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadILL.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadILL.cpp @@ -1,15 +1,3 @@ -/*WIKI* - -Loads an ILL TOF NeXus file into a [[Workspace2D]] with the given name. - -This loader calculates the elastic peak position (EPP) on the fly. -In cases where the dispersion peak might be higher than the EPP, it is good practice to load a Vanadium file. - -The property FilenameVanadium is optional. If it is present the EPP will be loaded from the Vanadium data. - -To date this algorithm only supports: IN4, IN5 and IN6 - -*WIKI*/ //--------------------------------------------------- // Includes //--------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/LoadILLIndirect.cpp b/Code/Mantid/Framework/DataHandling/src/LoadILLIndirect.cpp index 17e32784426f..7628fb320a2d 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadILLIndirect.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadILLIndirect.cpp @@ -1,7 +1,3 @@ -/*WIKI* - TODO: Enter a full wiki-markup description of your algorithm here. You can then use the Build/wiki_maker.py script to generate your full wiki page. - *WIKI*/ - #include "MantidDataHandling/LoadILLIndirect.h" #include "MantidAPI/FileProperty.h" #include "MantidAPI/RegisterFileLoader.h" diff --git a/Code/Mantid/Framework/DataHandling/src/LoadILLSANS.cpp b/Code/Mantid/Framework/DataHandling/src/LoadILLSANS.cpp index 1a034b1fa3f0..6b1cd3eabe63 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadILLSANS.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadILLSANS.cpp @@ -1,9 +1,3 @@ -/*WIKI* - -Loads an ILL D33 nexus file into a [[Workspace2D]] with the given name. - - *WIKI*/ - #include "MantidDataHandling/LoadILLSANS.h" #include "MantidAPI/FileProperty.h" #include "MantidAPI/RegisterFileLoader.h" diff --git a/Code/Mantid/Framework/DataHandling/src/LoadISISNexus2.cpp b/Code/Mantid/Framework/DataHandling/src/LoadISISNexus2.cpp index 4177d9eb459a..e6023d388d54 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadISISNexus2.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadISISNexus2.cpp @@ -1,8 +1,3 @@ -/*WIKI* - -Loads a Nexus file created from an ISIS instrument. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/LoadInstrument.cpp b/Code/Mantid/Framework/DataHandling/src/LoadInstrument.cpp index b42e910096a2..43cc021af90d 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadInstrument.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadInstrument.cpp @@ -1,12 +1,3 @@ -/*WIKI* - -Loads an instrument definition file ([[InstrumentDefinitionFile|IDF]]) into a workspace, which contains information about detector positions, their geometric shape, slit properties, links between values stored in ISIS log-files and components of the instrument and so on. For more on IDFs see: [[InstrumentDefinitionFile]]. - -By default the algorithm will write a 1:1 map between the spectrum number and detector ID. Any custom loading algorithm that calls this as a Child Algorithm will therefore get this 1:1 map be default. If the custom loader is to write its own map then it is advised to set RewriteSpectraMap to false to avoid extra work. - -The instrument to load can be specified by either the InstrumentXML, Filename and InstrumentName properties (given here in order of precedence if more than one is set). At present, if the InstrumentXML is used the InstrumentName property should also be set. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/LoadInstrumentFromNexus.cpp b/Code/Mantid/Framework/DataHandling/src/LoadInstrumentFromNexus.cpp index 9a695be04bc1..232870a02c17 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadInstrumentFromNexus.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadInstrumentFromNexus.cpp @@ -1,13 +1,3 @@ -/*WIKI* -Attempts to load information about the instrument from a ISIS NeXus file. In particular attempt to -read L2 and 2-theta detector position values and add detectors which are positioned relative -to the sample in spherical coordinates as (r,theta,phi)=(L2,2-theta,0.0). Also adds dummy source -and samplepos components to instrument. - -LoadInstrumentFromNexus is intended to be used as a child algorithm of -other Loadxxx algorithms, rather than being used directly. -It is used by LoadMuonNexus version 1. -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/LoadInstrumentFromRaw.cpp b/Code/Mantid/Framework/DataHandling/src/LoadInstrumentFromRaw.cpp index c86e506e3073..5fb69983ba1c 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadInstrumentFromRaw.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadInstrumentFromRaw.cpp @@ -1,7 +1,3 @@ -/*WIKI* - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/LoadIsawDetCal.cpp b/Code/Mantid/Framework/DataHandling/src/LoadIsawDetCal.cpp index 10eccedd47e0..a1f8452dadee 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadIsawDetCal.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadIsawDetCal.cpp @@ -1,18 +1,3 @@ -/*WIKI* - -Moves the detectors in an instrument using the origin and 2 vectors of the rotated plane from an ISAW DetCal file. - -*WIKI*/ -/*WIKI_USAGE* -'''Python''' - LoadIsawDetCal("SNAP_4111","SNAP.DetCal") - -'''C++''' - IAlgorithm* alg = FrameworkManager::Instance().createAlgorithm("LoadIsawDetCal"); - alg->setPropertyValue("InputWorkspace", "SNAP_4111"); - alg->setPropertyValue("Filename", "SNAP.DetCal"); - alg->execute(); -*WIKI_USAGE*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/LoadLLB.cpp b/Code/Mantid/Framework/DataHandling/src/LoadLLB.cpp index 6ae0bf9876d3..d465eb369a3a 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadLLB.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadLLB.cpp @@ -1,13 +1,3 @@ -/*WIKI* - -Loads an LLB MIBEMOL TOF NeXus file into a [[Workspace2D]] with the given name. - -This loader calculates the elastic peak position (EPP) on the fly. - -To date this algorithm only supports the MIBEMOL instrument. - -*WIKI*/ - #include "MantidDataHandling/LoadLLB.h" #include "MantidAPI/FileProperty.h" #include "MantidKernel/UnitFactory.h" diff --git a/Code/Mantid/Framework/DataHandling/src/LoadLOQDistancesFromRaw.cpp b/Code/Mantid/Framework/DataHandling/src/LoadLOQDistancesFromRaw.cpp index 650d0e43b9a4..d8ca7f74485f 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadLOQDistancesFromRaw.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadLOQDistancesFromRaw.cpp @@ -1,9 +1,3 @@ -/*WIKI* - -The ISIS TS1 instrument [http://www.isis.stfc.ac.uk/instruments/loq/ LOQ] writes values for the moderator-sample and sample-detector distances to the RAW data file. These distances are required for correct data reduction. This algorithm extracts the information from the i_l1 and i_sddist variables of the IVPB struct respectively and moves the appropriate components so that the Mantid instrument satisfies these values. - - -*WIKI*/ //------------------------------------------------------- // Includes //------------------------------------------------------ diff --git a/Code/Mantid/Framework/DataHandling/src/LoadLog.cpp b/Code/Mantid/Framework/DataHandling/src/LoadLog.cpp index 06ffdc666413..374984166ba0 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadLog.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadLog.cpp @@ -1,33 +1,3 @@ -/*WIKI* - -'''Parameters Note:''' Note that it is possible to use both of the optional 'spectrum' properties (i.e. a range and a list) together if so desired. - -===Load ISIS log file(s)=== -Assumes that a log file originates from a PC (not VMS) environment, i.e. the log files to be loaded are assumed to have the extension .txt. Its filename is assumed to starts with the raw data file identifier followed by the character '_', and a log file is assumed to have a format of two columns, where the first column consists of data-time strings of the ISO 8601 form and the second column consists of either numbers or strings that may contain spaces. - -===Parent algorithm=== -LoadLog is also a child algorithm of [[LoadRaw]], i.e. it gets called whenever LoadRaw is executed. - -===Load SNS text log file=== -If the file is determined to be a SNS text log file it should be of the form - - 655747325.450625 0.000000 24.000000 26.000000 0.000000 - 655747325.716250 0.296875 24.000000 26.000000 0.000000 - 655747325.997500 0.593750 24.000000 26.000000 0.000000 - 655747326.263125 0.906250 24.000000 26.000000 0.000000 - 655747326.544375 1.093750 24.000000 26.000000 0.000000 - 655747326.825625 1.406250 24.000000 26.000000 0.000000 - 655747327.091250 1.703125 24.000000 26.000000 0.000000 - 655747327.372500 2.000000 24.000000 26.000000 0.000000 - 655747327.638125 2.203125 24.000000 26.000000 0.000000 - 655747327.919375 2.500000 24.000000 26.000000 0.000000 - 655747328.200625 2.796875 24.000000 26.000000 0.000000 - 655747328.466250 3.093750 24.000000 26.000000 0.000000 - -The first column is the number of seconds since January 1, 1990, then the other columns (space delimited) are the log values. For this mode the ''name'' and ''units'' parameters must be specified. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/LoadLogsForSNSPulsedMagnet.cpp b/Code/Mantid/Framework/DataHandling/src/LoadLogsForSNSPulsedMagnet.cpp index 703c392f5791..c7bf66e96e29 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadLogsForSNSPulsedMagnet.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadLogsForSNSPulsedMagnet.cpp @@ -1,7 +1,3 @@ -/*WIKI* - - -*WIKI*/ #include "MantidDataHandling/LoadLogsForSNSPulsedMagnet.h" #include "MantidKernel/BinaryFile.h" #include "MantidKernel/System.h" @@ -252,4 +248,3 @@ struct Pulse } // namespace Mantid } // namespace DataHandling - diff --git a/Code/Mantid/Framework/DataHandling/src/LoadMappingTable.cpp b/Code/Mantid/Framework/DataHandling/src/LoadMappingTable.cpp index edf5b63579d1..39f4a5acbb0d 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadMappingTable.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadMappingTable.cpp @@ -1,11 +1,3 @@ -/*WIKI* - -Loads the mapping table between spectra and [[IDetector]] from a RAW file. It fills the [[SpectraToDetectorMap]] object contained in a [[workspace]]. This algorithm will fail if the [[workspace]] does not already point to a full [[instrument]] [[geometry]] (which usually means it must be run after [[LoadInstrument]]/[[LoadInstrumentFromRaw]]). - -The association is one to many, i.e. a spectrum can have one or many detectors contributing to it. Alternatively the same spectrum can contribute to different spectra (for example in DAE2 (Data Aquisition Electronic) when a spectra containing electronically focussed data is created simultaneously with individual spectra). - - -*WIKI*/ #include "MantidDataHandling/LoadMappingTable.h" #include "LoadRaw/isisraw2.h" #include "MantidAPI/FileProperty.h" diff --git a/Code/Mantid/Framework/DataHandling/src/LoadMask.cpp b/Code/Mantid/Framework/DataHandling/src/LoadMask.cpp index a79699dc70bc..c2d0621e8f30 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadMask.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadMask.cpp @@ -1,52 +1,3 @@ -/*WIKI* - -This algorithm is used to load a masking file, which can be in XML format (defined later in this page) or old-styled -calibration file. - -== Definition of Mask == - * If a pixel is masked, it means that the data from this pixel won't be used. - In the masking workspace (i.e., [[SpecialWorkspace2D]]), the corresponding value is 1. - * If a pixel is NOT masked, it means that the data from this pixel will be used. - In the masking workspace (i.e., [[SpecialWorkspace2D]]), the corresponding value is 0. - -== File Format == - -==== XML File Format ==== -Example 1: - - - - - 3,34-44,47 - bank123 - bank124 - - - -==== ISIS File Format ==== -Example 2: - - 1-3 62-64 - 65-67 126-128 - 129-131 190-192 - 193-195 254-256 - 257-259 318-320 - 321-323 382-384 - 385 387 446 448 - ... ... - -All the integers in file of this format are spectrum IDs to mask. Two spectrum IDs with "-" in between indicate a continuous range of spectra to mask. It does not matter if there is any space between integer number and "-". There is no restriction on how the line is structured. Be noticed that any line starting with a non-digit character, except space, will be treated as a comment line. - -This algorithm loads masking file to a SpecialWorkspace2D/MaskWorkspace. - -Supporting - * Component ID --> Detector IDs --> Workspace Indexes - * Detector ID --> Workspace Indexes - * Spectrum ID --> Workspace Indexes - - -*WIKI*/ - #include "MantidDataHandling/LoadMask.h" #include "MantidKernel/System.h" #include "MantidAPI/FileProperty.h" @@ -945,4 +896,3 @@ namespace DataHandling } // namespace Mantid } // namespace DataHandling - diff --git a/Code/Mantid/Framework/DataHandling/src/LoadMcStas.cpp b/Code/Mantid/Framework/DataHandling/src/LoadMcStas.cpp index 35bd430330dc..550ff7518d6a 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadMcStas.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadMcStas.cpp @@ -1,43 +1,3 @@ -/*WIKI* - -Reads a McStas Nexus file into a Mantid WorkspaceGroup with a user-supplied name. Data generated by McStas monitor components are stored in workspaces of type Workspace2D or Event. - - -LoadMcStas replaces LoadMcStasEventNexus. -LoadMcStas can be used for reading McStas 2.1 histogram and event data. -LoadMcStasNexus can be used for reading McStas 2.0 histogram data. - - - -McStas 2.1 event data are generated as follows. The McStas component monitor_nD must be called with the argument: options ="mantid square x limits=[-0.2 0.2] bins=128 y limits=[-0.2 0.2] bins=128, neutron pixel t, list all neutrons". Number of bins and limits can be chosen freely. - -To generate McStas 2.1 event data and the corresponding IDF for Mantid run the following commands from an xterm: - -* export MCSTAS_CFLAGS="-g -lm -O2 -DUSE_NEXUS -lNeXus" - -* mcrun -c templateSANS.instr --format=NeXus -n0 - -* mcdisplay templateSANS.instr -n0 --format=Mantid - -* cp templateSANS.out.xml IDF.xml - -* mcrun templateSANS --format=NeXus - - - -The new features added to McStas has been tested on the following platforms: - -* Linux - -* Mac - use either the Intel or gcc 4.8 compiler. Simulations using Nexus format and event data does not work using the Clang compiler. - - - -For more information about McStas and its general usage for simulating neutron scattering instruments and experiments visit the McStas homepage http://www.mcstas.org. - -*WIKI*/ - - #include "MantidDataHandling/LoadMcStas.h" #include "MantidAPI/FileProperty.h" #include "MantidAPI/WorkspaceFactory.h" diff --git a/Code/Mantid/Framework/DataHandling/src/LoadMcStasNexus.cpp b/Code/Mantid/Framework/DataHandling/src/LoadMcStasNexus.cpp index c83ec76572bf..f550ed49ce0f 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadMcStasNexus.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadMcStasNexus.cpp @@ -1,11 +1,3 @@ -/*WIKI* - -Reads a McStas NeXus file into a Mantid WorkspaceGroup with a user-supplied name. Data generated by McStas monitor components are stored in workspaces of type [[Workspace2D]]. All data sets are numbered and nested within the WorkspaceGroup. -This algorithm is under development. To date it has been tested with the following instrument files from the McStas 2.0 instrument suite: templateDIFF, templateLaue, templateTAS, Reflectometer, Test_Pol_TripleAxis, TestSANS and Tomography. -For more information about McStas and its general usage for simulating neutron scattering instruments and experiments visit the McStas homepage http://www.mcstas.org. - -*WIKI*/ - #include "MantidDataHandling/LoadMcStasNexus.h" #include "MantidAPI/NumericAxis.h" #include "MantidAPI/FileProperty.h" diff --git a/Code/Mantid/Framework/DataHandling/src/LoadMuonLog.cpp b/Code/Mantid/Framework/DataHandling/src/LoadMuonLog.cpp index 5c617b5fa04f..2dbb9e2c06e8 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadMuonLog.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadMuonLog.cpp @@ -1,13 +1,3 @@ -/*WIKI* - -The Algorithm is very similar to [[LoadLog]] except that the source of the data is a Muon Nexus file. - -===Parent algorithm=== -LoadMuonLog is also a child algorithm of [[LoadMuonNexus]], i.e. it gets called whenever LoadMuonNexus is executed. - - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/LoadMuonNexus1.cpp b/Code/Mantid/Framework/DataHandling/src/LoadMuonNexus1.cpp index ca4e9b75c794..739067b2d1af 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadMuonNexus1.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadMuonNexus1.cpp @@ -1,48 +1,3 @@ -/*WIKI* - - -The algorithm LoadMuonNexus will read a Muon Nexus data file (original format) and place the data -into the named workspace. -The file name can be an absolute or relative path and should have the extension -.nxs or .NXS. -If the file contains data for more than one period, a separate workspace will be generated for each. -After the first period the workspace names will have "_2", "_3", and so on, appended to the given workspace name. -For single period data, the optional parameters can be used to control which spectra are loaded into the workspace. -If spectrum_min and spectrum_max are given, then only that range to data will be loaded. -If a spectrum_list is given than those values will be loaded. -* TODO get XML descriptions of Muon instruments. This data is not in existing Muon Nexus files. -* TODO load the spectra detector mapping. This may be very simple for Muon instruments. - -===Time series data=== -The log data in the Nexus file (NX_LOG sections) will be loaded as TimeSeriesProperty data within the workspace. -Time is stored as seconds from the Unix epoch. - -===Errors=== - -The error for each histogram count is set as the square root of the number of counts. - -===Time bin data=== - -The ''corrected_times'' field of the Nexus file is used to provide time bin data and the bin edge values are calculated from these -bin centre times. - -===Multiperiod data=== - -To determine if a file contains data from more than one period the field ''switching_states'' is read from the Nexus file. -If this value is greater than one it is taken to be the number of periods, N_p of the data. -In this case the N_s spectra in the ''histogram_data'' field are split with N_s/N_p assigned to each period. - -===Dead times and detector grouping=== -Muon Nexus v1 files might contain dead time and detector grouping informationl. These are loaded as TableWorkspaces of the format accepted by ApplyDeadTimeCorr and MuonGroupDetectors accordingly. These are returned if and only if names are specified for the properties. For multi-period data workspace groups might be returned, if information in the Nexus files contains this information for each period. - -===ChildAlgorithms used=== - -The ChildAlgorithms used by LoadMuonNexus are: -* LoadMuonLog - this reads log information from the Nexus file and uses it to create TimeSeriesProperty entries in the workspace. -* LoadInstrument - this algorithm looks for an XML description of the instrument and if found reads it. -* LoadIntstrumentFromNexus - this is called if the normal LoadInstrument fails. As the Nexus file has limited instrument data, this only populates a few fields. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/LoadMuonNexus2.cpp b/Code/Mantid/Framework/DataHandling/src/LoadMuonNexus2.cpp index f3ad552aceb1..2ae1fa99abe7 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadMuonNexus2.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadMuonNexus2.cpp @@ -1,49 +1,3 @@ -/*WIKI* - - -The algorithm LoadMuonNexus will read a Muon Nexus data file (original format) and place the data -into the named workspace. -The file name can be an absolute or relative path and should have the extension -.nxs or .NXS. -If the file contains data for more than one period, a separate workspace will be generated for each. -After the first period the workspace names will have "_2", "_3", and so on, appended to the given workspace name. -For single period data, the optional parameters can be used to control which spectra are loaded into the workspace. -If spectrum_min and spectrum_max are given, then only that range to data will be loaded. -If a spectrum_list is given than those values will be loaded. -* TODO get XML descriptions of Muon instruments. This data is not in existing Muon Nexus files. -* TODO load the spectra detector mapping. This may be very simple for Muon instruments. - -===Time series data=== -The log data in the Nexus file (NX_LOG sections) will be loaded as TimeSeriesProperty data within the workspace. -Time is stored as seconds from the Unix epoch. - -===Errors=== - -The error for each histogram count is set as the square root of the number of counts. - -===Time bin data=== - -The ''corrected_times'' field of the Nexus file is used to provide time bin data and the bin edge values are calculated from these -bin centre times. - -===Multiperiod data=== - -To determine if a file contains data from more than one period the field ''switching_states'' is read from the Nexus file. -If this value is greater than one it is taken to be the number of periods, N_p of the data. -In this case the N_s spectra in the ''histogram_data'' field are split with N_s/N_p assigned to each period. - -===ChildAlgorithms used=== - -The ChildAlgorithms used by LoadMuonNexus are: -* LoadMuonLog - this reads log information from the Nexus file and uses it to create TimeSeriesProperty entries in the workspace. -* LoadInstrument - this algorithm looks for an XML description of the instrument and if found reads it. -* LoadIntstrumentFromNexus - this is called if the normal LoadInstrument fails. As the Nexus file has limited instrument data, this only populates a few fields. - -==Previous Versions== -===Version 1=== -Version 1 supports the loading version 1.0 of the muon nexus format. This is still in active use, if the current version of LoadMuonNexus detects that it has been asked to load a previous version muon nexus file it will call the previous version of the algorithm to perform the task. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/LoadNXSPE.cpp b/Code/Mantid/Framework/DataHandling/src/LoadNXSPE.cpp index 85e5e78a5114..c8605ec72e57 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadNXSPE.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadNXSPE.cpp @@ -1,11 +1,3 @@ -/*WIKI* - -Algorithm to load an NXSPE file into a workspace2D. It will create a new instrument, that can be overwritten later by the LoadInstrument algorithm. - -'''NOTE:''' In the current implementation, the rendering of the NXSPE instrument is VERY memory intensive. - - -*WIKI*/ #include "MantidDataHandling/LoadNXSPE.h" #include "MantidKernel/UnitFactory.h" #include "MantidAPI/FileProperty.h" @@ -392,5 +384,3 @@ namespace DataHandling } // namespace Mantid } // namespace DataHandling - - diff --git a/Code/Mantid/Framework/DataHandling/src/LoadNexus.cpp b/Code/Mantid/Framework/DataHandling/src/LoadNexus.cpp index 495e67319d09..614170e51f07 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadNexus.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadNexus.cpp @@ -1,18 +1,3 @@ -/*WIKI* - - -The algorithm LoadNexus will read the given Nexus file and try to identify its type so that it can be read into a workspace. -The file name can be an absolute or relative path and should have the extension -.nxs or .nx5. -Currently only Nexus Muon Version 1 files are recognised, but this will be extended as other types are supported such as [[LoadNexusProcessed]]. - -If the file contains data for more than one period, a separate workspace will be generated for each. -After the first period the workspace names will have "_2", "_3", and so on, appended to the given workspace name. -For single period data, the optional parameters can be used to control which spectra are loaded into the workspace. -If spectrum_min and spectrum_max are given, then only that range to data will be loaded. -If a spectrum_list is given than those values will be loaded. - -*WIKI*/ // LoadNexus // @author Freddie Akeroyd, STFC ISIS Faility // @author Ronald Fowler, e_Science - updated to be wrapper to either LoadMuonNeuxs or LoadNexusProcessed diff --git a/Code/Mantid/Framework/DataHandling/src/LoadNexusLogs.cpp b/Code/Mantid/Framework/DataHandling/src/LoadNexusLogs.cpp index 833e462d3f17..46ab95cf255a 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadNexusLogs.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadNexusLogs.cpp @@ -1,13 +1,3 @@ -/*WIKI* - - -The LoadNexusLogs algorithm loads the sample logs from the given nexus file. The logs are visible from MantidPlot if you right-click on a workspace and select "Sample Logs...". - -If you use [[LoadEventNexus]] or [[LoadISISNexus]], calling this algorithm is not necessary, since it called as a child algorithm. - - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/LoadNexusMonitors.cpp b/Code/Mantid/Framework/DataHandling/src/LoadNexusMonitors.cpp index 4770f218869e..ac2ba31962ee 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadNexusMonitors.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadNexusMonitors.cpp @@ -1,10 +1,3 @@ -/*WIKI* - - -This algorithm loads all monitors found in a NeXus file into a single [[Workspace2D]]. The algorithm assumes that all of the monitors are histograms and have the same bin boundaries. '''NOTE:''' The entry is assumed to be in SNS format, so the loader is currently not generically applicable. It is also written for single entry files and will need tweaking to handle period data where the monitors are different. - - -*WIKI*/ #include "MantidDataHandling/LoadNexusMonitors.h" #include "MantidDataHandling/LoadEventNexus.h" #include "MantidAPI/FileProperty.h" diff --git a/Code/Mantid/Framework/DataHandling/src/LoadNexusProcessed.cpp b/Code/Mantid/Framework/DataHandling/src/LoadNexusProcessed.cpp index 1ccf8de979a6..55a620bd91e7 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadNexusProcessed.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadNexusProcessed.cpp @@ -1,32 +1,3 @@ -/*WIKI* - - -The algorithm LoadNexusProcessed will read a Nexus data file created by [[SaveNexusProcessed]] and place the data -into the named workspace. -The file name can be an absolute or relative path and should have the extension -.nxs, .nx5 or .xml. -Warning - using XML format can be extremely slow for large data sets and generate very large files. -The optional parameters can be used to control which spectra are loaded into the workspace (not yet implemented). -If spectrum_min and spectrum_max are given, then only that range to data will be loaded. - -A Mantid Nexus file may contain several workspace entries each labelled with an integer starting at 1. -By default the highest number workspace is read, earlier ones can be accessed by setting the EntryNumber. - -If the saved data has a reference to an XML file defining instrument geometry this will be read. - - -===Time series data=== -The log data in the Nexus file (NX_LOG sections) is loaded as TimeSeriesProperty data within the workspace. -Time is stored as seconds from the Unix epoch. -Only floating point logs are stored and loaded at present. - -===Child algorithms used=== - -The Child Algorithms used by LoadMuonNexus are: -* LoadInstrument - this algorithm looks for an XML description of the instrument and if found reads it. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/LoadPDFgetNFile.cpp b/Code/Mantid/Framework/DataHandling/src/LoadPDFgetNFile.cpp index b7f9d5215960..9f8dcd6064ff 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadPDFgetNFile.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadPDFgetNFile.cpp @@ -1,20 +1,3 @@ -/*WIKI* - - -Loads a PDFgetN file such as that saved by PDFgetN. - -PDFgetN generates many types of files for the final result and communication among different executables at internal steps. This algorithm is designed to recognize and load all the ASCII based files created by PDFgetN. - -The file types include - * .ain - * .braw - * .bsmo - * .sq - * .sqa - * .gr - - -*WIKI*/ #include "MantidDataHandling/LoadPDFgetNFile.h" #include "MantidAPI/FileProperty.h" #include "MantidAPI/RegisterFileLoader.h" @@ -477,33 +460,3 @@ namespace DataHandling } // namespace DataHandling } // namespace Mantid - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Code/Mantid/Framework/DataHandling/src/LoadParameterFile.cpp b/Code/Mantid/Framework/DataHandling/src/LoadParameterFile.cpp index 59919e9867b4..f1c89407d6b4 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadParameterFile.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadParameterFile.cpp @@ -1,20 +1,3 @@ -/*WIKI* - -This algorithm allows instrument parameters to be specified in a separate file from the [[InstrumentDefinitionFile|IDF]]. The required format for this file is identical to that used for defining parameters through s in an IDF. Below is an example of how to define a parameter named 'test' to be associated with a component named 'bank_90degnew' defined in the IDF of the HRPD instrument: -
- - - - - - - - - -
- - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/LoadPreNexus.cpp b/Code/Mantid/Framework/DataHandling/src/LoadPreNexus.cpp index 666451222973..f72ef3019ace 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadPreNexus.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadPreNexus.cpp @@ -1,7 +1,3 @@ -/*WIKI* -Workflow algorithm to load all of the preNeXus files. -*WIKI*/ - #include #include #include diff --git a/Code/Mantid/Framework/DataHandling/src/LoadPreNexusMonitors.cpp b/Code/Mantid/Framework/DataHandling/src/LoadPreNexusMonitors.cpp index e5f48bbbd65d..3fdee009eb78 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadPreNexusMonitors.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadPreNexusMonitors.cpp @@ -1,11 +1,3 @@ -/*WIKI* - - -It reads that filenames of the monitors from the runinfo file. It will only work with histogram monitors and assumes that all monitors are on the same time axis. -It also assumes that the beam monitor files are in the same directory as the runinfo.xml file. - - -*WIKI*/ #include "MantidDataHandling/LoadPreNexusMonitors.h" #include "MantidAPI/FileProperty.h" #include "MantidKernel/ConfigService.h" diff --git a/Code/Mantid/Framework/DataHandling/src/LoadQKK.cpp b/Code/Mantid/Framework/DataHandling/src/LoadQKK.cpp index 6e919d11680a..c46716a48355 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadQKK.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadQKK.cpp @@ -1,7 +1,3 @@ -/*WIKI* - - -*WIKI*/ //--------------------------------------------------- // Includes //--------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/LoadRKH.cpp b/Code/Mantid/Framework/DataHandling/src/LoadRKH.cpp index 7776c385fd87..2bf1da31909b 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadRKH.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadRKH.cpp @@ -1,9 +1,3 @@ -/*WIKI* - -Loads the given file in the RKH text format, which can be a file with three columns of numbers. If the FirstColumnValue is a recognised [[Unit_Factory|Mantid unit]] the workspace is created with just one spectrum. Alteratively if FirstColumnValue is set to 'SpectrumNumber' then the workspace can have many spectra with the spectrum ID's equal to the first column in the file. - - -*WIKI*/ //--------------------------------------------------- // Includes //--------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/LoadRaw3.cpp b/Code/Mantid/Framework/DataHandling/src/LoadRaw3.cpp index 2b3b84b83371..591fd93bbe16 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadRaw3.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadRaw3.cpp @@ -1,25 +1,3 @@ -/*WIKI* - -The LoadRaw algorithm stores data from the [[RAW_File | RAW]] file in a [[Workspace2D]], which will naturally contain histogram data with each spectrum going into a separate histogram. The time bin boundaries (X values) will be common to all histograms and will have their [[units]] set to time-of-flight. The Y values will contain the counts and will be unit-less (i.e. no division by bin width or normalisation of any kind). The errors, currently assumed Gaussian, will be set to be the square root of the number of counts in the bin. - -=== Optional properties === -If only a portion of the data in the [[RAW_File | RAW]] file is required, then the optional 'spectrum' properties can be set before execution of the algorithm. Prior to loading of the data the values provided are checked and the algorithm will fail if they are found to be outside the limits of the dataset. - -=== Multiperiod data === -If the RAW file contains multiple periods of data this will be detected and the different periods will be output as separate workspaces, which after the first one will have the period number appended (e.g. OutputWorkspace_period). -Each workspace will share the same [[Instrument]], SpectraToDetectorMap and [[Sample]] objects. -If the optional 'spectrum' properties are set for a multiperiod dataset, then they will ignored. - -===Subalgorithms used=== -LoadRaw runs the following algorithms as child algorithms to populate aspects of the output [[Workspace]]: -* [[LoadInstrument]] - Looks for an instrument definition file named XXX_Definition.xml, where XXX is the 3 letter instrument prefix on the RAW filename, in the directory specified by the "instrumentDefinition.directory" property given in the config file (or, if not provided, in the relative path ../Instrument/). If the instrument definition file is not found then the [[LoadInstrumentFromRaw]] algorithm will be run instead. -* [[LoadMappingTable]] - To build up the mapping between the spectrum numbers and the Detectors of the attached [[Instrument]]. -* [[LoadLog]] - Will look for any log files in the same directory as the RAW file and load their data into the workspace's [[Sample]] object. - -==Previous Versions== -LoadRaw version 1 and 2 are no longer available in Mantid. Version 3 has been validated and in active use for several years, if you really need a previous version of this algorithm you will need to use an earlier version of Mantid. -*WIKI*/ - //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/LoadRawBin0.cpp b/Code/Mantid/Framework/DataHandling/src/LoadRawBin0.cpp index 490debf3909c..16dbd26b35e1 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadRawBin0.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadRawBin0.cpp @@ -1,9 +1,3 @@ -/*WIKI* - - -The LoadRawBin0 algorithm stores bin 0 data from the selected [[RAW_File | RAW]] file in a [[Workspace2D]]. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/LoadRawSpectrum0.cpp b/Code/Mantid/Framework/DataHandling/src/LoadRawSpectrum0.cpp index b43fd06a5313..97bc25201a60 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadRawSpectrum0.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadRawSpectrum0.cpp @@ -1,10 +1,3 @@ -/*WIKI* - - -The LoadRawSpectrum0 algorithm stores spectrum zero data from the selected [[RAW_File | RAW]] file in a [[Workspace2D]]. - -*WIKI*/ - //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/LoadReflTBL.cpp b/Code/Mantid/Framework/DataHandling/src/LoadReflTBL.cpp index f96d4a7ddc16..54322897ba86 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadReflTBL.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadReflTBL.cpp @@ -1,15 +1,3 @@ -/*WIKI* -LoadReflTBl is loads ascii files in Reflectometry TBL format into a tableworkspace. Format accepted is strict to only allow 17 columns of data. - -The 17 columns are split up into rows of 8, so a single row in the TBL file would be split into 3 colums like so: (Where Z is the newly created stitch group index) -A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q - -becomes - -A, B, C, D, E, P, Q, Z -F, G, H, I, J, P, Q, Z -K, L, M, N, O, P, Q, Z -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/LoadSINQFocus.cpp b/Code/Mantid/Framework/DataHandling/src/LoadSINQFocus.cpp index 5ccee5c4703a..f9dc74c991c7 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadSINQFocus.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadSINQFocus.cpp @@ -1,11 +1,3 @@ -/*WIKI* - -Loads a SINQ (PSI) nexus file into a [[Workspace2D]] with the given name. - -To date this algorithm only supports: FOCUS - - *WIKI*/ - #include "MantidDataHandling/LoadSINQFocus.h" #include "MantidAPI/FileProperty.h" #include "MantidAPI/Progress.h" diff --git a/Code/Mantid/Framework/DataHandling/src/LoadSNSspec.cpp b/Code/Mantid/Framework/DataHandling/src/LoadSNSspec.cpp index be5df65b7f6f..034c67adefd1 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadSNSspec.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadSNSspec.cpp @@ -1,61 +1,3 @@ -/*WIKI* - -The LoadSNSspec algorithm reads in spectra data from a text file and stores it in a Workspace2D as data points. The data in the file must be organized by set of 3 columns (separated by any number of spaces). The first column has to be the X values, the second column the Y values and the third column the error values. - -Here are two examples of such text files that can be loaded with LoadSNSspec: - -''Example 1:'' -
-#F norm: REF_M_2000.nxs
-#F data: REF_M_2001.nxs
-#E 1234567.80
-...
-#C SCL Version - 1.4.1
-
-#S 1 Spectrum ID ('bank1',(0,127))
-#L Lambda_T(Angstroms) Intensity(Counts/A) Sigma(Counts/A)
-0.0   0.0   0.0
-1.0   5.0   2.0
-2.0   10.0  3.0
-3.0   15.0  2.0
-4.0   20.0  2.5
-5.0   25.0  3.2
-6.0   30.0  4.2
-
-This will create a Workspace2D with 1 spectrum. - -''Example 2:'' -
-#F norm: REF_M_2000.nxs
-#F data: REF_M_2001.nxs
-#E 1234567.80
-...
-#C SCL Version - 1.4.1
-
-#S 1 Spectrum ID ('bank1',(0,127))
-#L Lambda_T(Angstroms) Intensity(Counts/A) Sigma(Counts/A)
-0.0   0.0   0.0
-1.0   5.0   2.0
-2.0   10.0  3.0
-3.0   15.0  4.0
-
-#S 1 Spectrum ID ('bank1',(1,127))
-#L Lambda_T(Angstroms) Intensity(Counts/A) Sigma(Counts/A)
-0.0   10.0   0.0
-1.0   15.0   2.0
-2.0   110.0  3.0
-3.0   115.0  4.0
-
-#S 1 Spectrum ID ('bank1',(3,127))
-#L Lambda_T(Angstroms) Intensity(Counts/A) Sigma(Counts/A)
-0.0   20.0   0.0
-1.0   25.0   2.0
-2.0   210.0  3.0
-3.0   215.0  4.0
-
-This text file will create a Workspace2D with 3 spectra. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/LoadSPE.cpp b/Code/Mantid/Framework/DataHandling/src/LoadSPE.cpp index 72c23733cea7..9ba83d277a8e 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadSPE.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadSPE.cpp @@ -1,10 +1,3 @@ -/*WIKI* - -Loads the file given into a [[Workspace2D]] with the given name. The file should be in the SPE format, which is described [[Media:Spe_file_format.pdf|here]]. -The workspace will have X units of [[Unit_Factory|Energy transfer]]. The other axis will be binned and have units of either [[Unit_Factory|Momentum transfer / Q]] or degrees, depending on the label in the input file. The workspace will be flagged as a distribution. - - -*WIKI*/ //--------------------------------------------------- // Includes //--------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/LoadSampleDetailsFromRaw.cpp b/Code/Mantid/Framework/DataHandling/src/LoadSampleDetailsFromRaw.cpp index 1a7283f18eec..40cb0d93debe 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadSampleDetailsFromRaw.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadSampleDetailsFromRaw.cpp @@ -1,31 +1,3 @@ -/*WIKI* - -The SPB struct within an ISIS raw file defines 4 fields that describe the basic geometry of the sample: -* e_geom; -* e_thick; -* e_height; -* e_width. - -The meaning of the last three are dependent on the flag value ''e_geom'', which defines the sample shape as one of 4 basic shapes: -* 1 = cylinder: radius = e_thick = e_width, height = e_height; -* 2 = flat plate: as named; -* 3 = disc: radius = e_width, thickness = e_thick; -* 4 = single crystal. - -The values are stored on the [http://doxygen.mantidproject.org/classMantid_1_1API_1_1Sample.html#a07df5ce7be639c3cb67f33f5e1c7493f sample] object. - -== Access in Python == -To access these values in Python: - sampleInfo = wksp.getSampleInfo() - print sampleInfo.getGeometryFlag() - print sampleInfo.getThickness() - print sampleInfo.getHeight() - print sampleInfo.getWidth() - -where wksp is a handle to a Mantid workspace. - - -*WIKI*/ //------------------------------------------------------- // Includes //------------------------------------------------------ diff --git a/Code/Mantid/Framework/DataHandling/src/LoadSassena.cpp b/Code/Mantid/Framework/DataHandling/src/LoadSassena.cpp index bdcaea04aee8..1364073f9d70 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadSassena.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadSassena.cpp @@ -1,29 +1,3 @@ -/*WIKI* - -The Sassena application [http://sassena.org] generates intermediate scattering factors from molecular dynamics trajectories. This algorithm reads Sassena output and stores all data in workspaces of type [[Workspace2D]], grouped under a single [[WorkspaceGroup]]. - -Sassena ouput files are in HDF5 format [http://www.hdfgroup.org/HDF5], and can be made up of the following datasets: ''qvectors'', ''fq'', ''fq0'', ''fq2'', and ''fqt'' - -Time units: -Current Sassena version does not specify the time unit, thus the user is required to enter the time in between consecutive data points. Enter the number of picoseconds separating consecutive datapoints. - -The workspace for '''qvectors''': -* X-values for the origin of the vector, default: (0,0,0) -* Y-values for the tip of the vector -* one spectra with three bins for each q-vector, one bin per vector component. If orientational average was performed by Sassena, then only the first component is non-zero. - -The workspaces for '''fq''', '''fq0''', and '''fq2''' contains two spectra: -* First spectrum is the real part, second spectrum is the imaginary part -* X-values contain the moduli of the q vector -* Y-values contain the structure factors - -Dataset '''fqt''' is split into two workspaces, one for the real part and the other for the imaginary part. The structure of these two workspaces is the same: -* X-values contain the time variable -* Y-values contain the structure factors -* one spectra for each q-vector - -*WIKI*/ - #include "MantidDataHandling/LoadSassena.h" #include "MantidAPI/Axis.h" #include "MantidAPI/AnalysisDataService.h" diff --git a/Code/Mantid/Framework/DataHandling/src/LoadSpec.cpp b/Code/Mantid/Framework/DataHandling/src/LoadSpec.cpp index 68160662b0e8..b2e80357f249 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadSpec.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadSpec.cpp @@ -1,61 +1,3 @@ -/*WIKI* - -The LoadSpec algorithm reads in spectra data from a text file and stores it in a Workspace2D as data points. The data in the file must be organized by set of 3 columns (separated by any number of spaces). The first column has to be the X values, the second column the Y values and the third column the error values. - -Here are two examples of such text files that can be loaded with LoadSpec: - -''Example 1:'' -
-#F norm: REF_M_2000.nxs
-#F data: REF_M_2001.nxs
-#E 1234567.80
-...
-#C SCL Version - 1.4.1
-
-#S 1 Spectrum ID ('bank1',(0,127))
-#L Lambda_T(Angstroms) Intensity(Counts/A) Sigma(Counts/A)
-0.0   0.0   0.0
-1.0   5.0   2.0
-2.0   10.0  3.0
-3.0   15.0  2.0
-4.0   20.0  2.5
-5.0   25.0  3.2
-6.0   30.0  4.2
-
-This will create a Workspace2D with 1 spectrum. - -''Example 2:'' -
-#F norm: REF_M_2000.nxs
-#F data: REF_M_2001.nxs
-#E 1234567.80
-...
-#C SCL Version - 1.4.1
-
-#S 1 Spectrum ID ('bank1',(0,127))
-#L Lambda_T(Angstroms) Intensity(Counts/A) Sigma(Counts/A)
-0.0   0.0   0.0
-1.0   5.0   2.0
-2.0   10.0  3.0
-3.0   15.0  4.0
-
-#S 1 Spectrum ID ('bank1',(1,127))
-#L Lambda_T(Angstroms) Intensity(Counts/A) Sigma(Counts/A)
-0.0   10.0   0.0
-1.0   15.0   2.0
-2.0   110.0  3.0
-3.0   115.0  4.0
-
-#S 1 Spectrum ID ('bank1',(3,127))
-#L Lambda_T(Angstroms) Intensity(Counts/A) Sigma(Counts/A)
-0.0   20.0   0.0
-1.0   25.0   2.0
-2.0   210.0  3.0
-3.0   215.0  4.0
-
-This text file will create a Workspace2D with 3 spectra. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/LoadSpice2D.cpp b/Code/Mantid/Framework/DataHandling/src/LoadSpice2D.cpp index 3044861c0fab..e72fcf39ae76 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadSpice2D.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadSpice2D.cpp @@ -1,8 +1,3 @@ -/*WIKI* - - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/LoadTOFRawNexus.cpp b/Code/Mantid/Framework/DataHandling/src/LoadTOFRawNexus.cpp index 9aa53cafef71..79295f7a8786 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadTOFRawNexus.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadTOFRawNexus.cpp @@ -1,22 +1,3 @@ -/*WIKI* - -This algorithm loads a NeXus file that conforms to the TOFRaw format and stores -it in a 2D workspace. The TOFRaw format is used at SNS and consists of a histogram -representation with common bin boundaries. - -Some NXS files have multiple data fields giving binning in other units -(e.g. d-spacing or momentum). You can choose which binning to use by entering -the '''Signal''' parameter. The default value is 1, which normally will -correspond to TOF. The "Y" units will still be in ''counts''. - -The typical meanings of Signal are as follows (note that these may change!): - -* Signal 1: Time of flight. The data field containing the bin boundaries is ''time_of_flight'' -* Signal 5: q. The data field containing the bin boundaries is ''momentum_transfer'' -* Signal 6: d-spacing. The data field containing the bin boundaries is ''dspacing'' - -*WIKI*/ - #include "MantidAPI/FileProperty.h" #include "MantidAPI/MatrixWorkspace.h" #include "MantidAPI/RegisterFileLoader.h" @@ -597,4 +578,3 @@ void LoadTOFRawNexus::exec() } // namespace DataHandling } // namespace Mantid - diff --git a/Code/Mantid/Framework/DataHandling/src/MaskDetectors.cpp b/Code/Mantid/Framework/DataHandling/src/MaskDetectors.cpp index aefce62eff4e..a4c89e56b4ec 100644 --- a/Code/Mantid/Framework/DataHandling/src/MaskDetectors.cpp +++ b/Code/Mantid/Framework/DataHandling/src/MaskDetectors.cpp @@ -1,56 +1,3 @@ -/*WIKI* -This algorithm will flag the detectors listed as masked([[IDetector]] isMasked() method) and will zero the data in the spectra related to those detectors. - -All but the first property are optional and at least one of the must be set. If several are set, the first will be used. - -The set of detectors to be masked can be given as a list of either spectrum numbers, detector IDs or workspace indices. The list should be set against the appropriate property. - -==== Mask Detectors According To Instrument ==== -If the input MaskedWorkspace is not a SpecialWorkspace2D object, this algorithm will check every detectors in input MaskedWorkspace's Instrument. -If the detector is masked, then the corresponding detector will be masked in Workspace. - -==== Mask Detectors According to Masking Workspace ==== -If the input MaskedWorkspace is a [[MaskWorkspace]] object, i.e., masking workspace, then the algorithm will mask Workspace's detector according to the histogram data of the SpecialWorkspace2D object - -=== Definition of Mask === -* If a pixel is masked, it means that the data from this pixel won't be used. In the masking workspace (i.e., [[SpecialWorkspace2D]]), the corresponding value is 1. -* If a pixel is NOT masked, it means that the data from this pixel will be used. In the masking workspace (i.e., [[SpecialWorkspace2D]]), the corresponding value is 0. - -=== About Input Parameters === -[[MaskDetectors]] supports various format of input to mask detectors, including -* Workspace indices -* Spectra -* Detectors -* [[MaskWorkspace]] -* General [[MatrixWorkspace]] other than [[MaskWorkspace]] (In this case, the mask will be extracted from this workspace) - -==== Rules ==== -Here are the rules for input information for masking - 1. At least one of the inputs must be specified. - 2. Workspace indices and Spectra cannot be given at the same time. - 3. [[MaskWorkspace]] and general [[MatrixWorkspace]] cannot be given at the same time. - 4. When a general [[MatrixWorkspace]] is specified, then all detectors in a spectrum are treated as masked if the effective detector of that spectrum is masked. - 5. The masks specified from - a) workspace indices/spectra - b) detectors - c) [[MaskWorkspace]]/general [[MatrixWorkspace]] - will be combined by the ''plus'' operation. - -=== Operations Involved in Masking === -There are 2 operations to mask a detector and thus spectrum related - 1. Set the detector in workspace's instrument's ''parameter map'' to ''masked''; - 2. Clear the data associated with the spectrum with detectors that are masked; - -=== Implementation === -In the plan, the workflow to mask detectors should be - 1. Convert input detectors, workspace indices or spectra, and general [[MatrixWorkspace]] to a [[MaskWorkspace]]; - 2. Mask detectors according to [[MaskWorkspace]]; - 3. Clear data on all spectra, which have at least one detector that is masked. - -=== Concern === -* Speed! - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/MaskDetectorsInShape.cpp b/Code/Mantid/Framework/DataHandling/src/MaskDetectorsInShape.cpp index 7956a4d773cd..ae62add23511 100644 --- a/Code/Mantid/Framework/DataHandling/src/MaskDetectorsInShape.cpp +++ b/Code/Mantid/Framework/DataHandling/src/MaskDetectorsInShape.cpp @@ -1,17 +1,3 @@ -/*WIKI* -Masks detectors that are contained within a user defined 3 dimensional shape within the instrument. - -The algorithm places the user defined geometric shape within the virtual instrument and masks any detector detectors that in contained within it. -A detector is considered to be contained it its central location point is contained within the shape. - -===ChildAlgorithms used=== -MaskDetectorsInShape runs the following algorithms as child algorithms: -* [[FindDetectorsInShape]] - To determine the detectors that are contained in the user defined shape. -* [[MaskDetectors]] - To mask the detectors found. - - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -114,4 +100,3 @@ void MaskDetectorsInShape::runMaskDetectors(API::MatrixWorkspace_sptr workspace, } // namespace DataHandling } // namespace Mantid - diff --git a/Code/Mantid/Framework/DataHandling/src/MergeLogs.cpp b/Code/Mantid/Framework/DataHandling/src/MergeLogs.cpp index 955e721901f2..884355aca13c 100644 --- a/Code/Mantid/Framework/DataHandling/src/MergeLogs.cpp +++ b/Code/Mantid/Framework/DataHandling/src/MergeLogs.cpp @@ -1,11 +1,3 @@ -/*WIKI* - -Two [[TimeSeriesProperty]] logs are merged together by the time stamps. - -==Output== -A MatrixWorkspace. - -*WIKI*/ #include "MantidDataHandling/MergeLogs.h" #include "MantidKernel/System.h" #include "MantidAPI/WorkspaceProperty.h" diff --git a/Code/Mantid/Framework/DataHandling/src/ModifyDetectorDotDatFile.cpp b/Code/Mantid/Framework/DataHandling/src/ModifyDetectorDotDatFile.cpp index 6425a2a6e8f6..a23a9955be60 100644 --- a/Code/Mantid/Framework/DataHandling/src/ModifyDetectorDotDatFile.cpp +++ b/Code/Mantid/Framework/DataHandling/src/ModifyDetectorDotDatFile.cpp @@ -1,26 +1,3 @@ -/*WIKI* - - -Modifies an ISIS detector dot data file, so that the detector positions are as in the given workspace. This algorithm can be used to transfer a calibration done via the [[ApplyCalibration]] algorithm to an ISIS detector dot dat file by selecting a workspace that has been modified by ApplyCalibration. - -A typical ISIS dot data file has a format like this: - - DETECTOR.DAT generated by CREATE_DETECTOR_FILE - 286729 14 - det no. offset l2 code theta phi w_x w_y w_z f_x ... - 11 0.000 -3.25800 1 180.00000 0.00000 0.00000 0.00000 0.00000 0.00000 ... - 21 0.000 -1.50400 1 180.00000 0.00000 0.00000 0.00000 0.00000 0.00000 ... - .... - 1110001 5.300 2.88936 3 52.28653 -140.67224 0.02540 0.02540 0.00283 0.02750 ... - 1110002 5.300 2.88794 3 52.26477 -140.72720 0.02540 0.02540 0.00283 0.02750 ... - .... - - -Each row corresponds to a detector whose type is indicated in the code column. -The algorithm will only modify values in colums l2, theta and phi and only if the value in the code column is 3, which indicates a PSD gas tube. -For more details about the detector dot data file see [[LoadDetectorInfo#File_format]]. - -*WIKI*/ #include "MantidAPI/FileProperty.h" #include "MantidAPI/MatrixWorkspace.h" #include "MantidDataHandling/ModifyDetectorDotDatFile.h" @@ -208,4 +185,3 @@ namespace DataHandling } // namespace Mantid } // namespace DataHandling - diff --git a/Code/Mantid/Framework/DataHandling/src/MoveInstrumentComponent.cpp b/Code/Mantid/Framework/DataHandling/src/MoveInstrumentComponent.cpp index f545c43e9c7d..e1bc75f37056 100644 --- a/Code/Mantid/Framework/DataHandling/src/MoveInstrumentComponent.cpp +++ b/Code/Mantid/Framework/DataHandling/src/MoveInstrumentComponent.cpp @@ -1,13 +1,3 @@ -/*WIKI* - -This moves an instrument component, e.g. a bank or a pixel. - -You can specify a pathname as the name of a non-unique component (e.g. "WISH/panel03/WISHpanel03/tube005") and one can skip parts not needed for uniqueness (e.g. "panel03/tube005"). For a unique component, you can just specify the name (e.g. "panel03"). - -You can either specify an absolute position or a relative position. -The relative position will be applied to the current position, so applying this twice will move the detector twice. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/NexusTester.cpp b/Code/Mantid/Framework/DataHandling/src/NexusTester.cpp index 8f3b667ddde1..dc3fc17a6c1c 100644 --- a/Code/Mantid/Framework/DataHandling/src/NexusTester.cpp +++ b/Code/Mantid/Framework/DataHandling/src/NexusTester.cpp @@ -1,20 +1,3 @@ -/*WIKI* - -'''This algorithm is meant for developers only!''' - -This algorithm is used for performance testing and debugging of nexus saving and loading. - -If you specify SaveFilename (optional), then the algorithm will save a file with the -given number of chunks of the given size. - -If you specify LoadFilename (optional), then the algorithm will load back a file -created with this algorithm. - -The ''SaveSpeed'' and ''LoadSpeed'' output properties are set to the -saving and loading rates, in MB per second. - -*WIKI*/ - #include "MantidDataHandling/NexusTester.h" #include "MantidAPI/FileProperty.h" #include "MantidKernel/CPUTimer.h" diff --git a/Code/Mantid/Framework/DataHandling/src/PDLoadCharacterizations.cpp b/Code/Mantid/Framework/DataHandling/src/PDLoadCharacterizations.cpp index 4ed12c2da54c..0f56d2143c84 100644 --- a/Code/Mantid/Framework/DataHandling/src/PDLoadCharacterizations.cpp +++ b/Code/Mantid/Framework/DataHandling/src/PDLoadCharacterizations.cpp @@ -1,10 +1,3 @@ -/*WIKI* -This algorithm loads information into a [[TableWorkspace]] for the characterization -information and a collection of output parameters for the focus positions to be used -in [[EditInstrumentGeometry]]. If a section is missing then those parameters will be -empty. This includes an empty table (zero rows) if that information is missing. -*WIKI*/ - #include "MantidDataHandling/PDLoadCharacterizations.h" #include "MantidAPI/FileProperty.h" #include "MantidAPI/TableRow.h" diff --git a/Code/Mantid/Framework/DataHandling/src/ProcessDasNexusLog.cpp b/Code/Mantid/Framework/DataHandling/src/ProcessDasNexusLog.cpp index e24a93371f38..da2aa1e73e2a 100644 --- a/Code/Mantid/Framework/DataHandling/src/ProcessDasNexusLog.cpp +++ b/Code/Mantid/Framework/DataHandling/src/ProcessDasNexusLog.cpp @@ -1,8 +1,3 @@ -/*WIKI* - -Some sample logs from DAS are written in the format such that the time stamps are the pulse times and the values are time-of-flight. They are usually used to record some mono-value sample log such as turning on or off of a sample environment device. This algorithm will convert sample logs of this time such that the new log will have the time stamp as the absolute time, i.e., sum of pulse time and time-of-flight. - -*WIKI*/ #include "MantidDataHandling/ProcessDasNexusLog.h" #include "MantidKernel/System.h" #include "MantidKernel/MandatoryValidator.h" diff --git a/Code/Mantid/Framework/DataHandling/src/RawFileInfo.cpp b/Code/Mantid/Framework/DataHandling/src/RawFileInfo.cpp index 1c957869cf8e..a2da3291cfaa 100644 --- a/Code/Mantid/Framework/DataHandling/src/RawFileInfo.cpp +++ b/Code/Mantid/Framework/DataHandling/src/RawFileInfo.cpp @@ -1,8 +1,3 @@ -/*WIKI* - -Extracts run parameters from the [[RAW_File | RAW]] file given as an input property. If the ''GetRunParameters'' argument is ''True'' then a TableWorkspace is created that contains a column for each value of the RPB_STRUCT, i.e. column names such as r_dur, r_goodfrm etc. This is Mantid's version of the '''Get''' routine in Open Genie. - -*WIKI*/ //---------------------------- // Includes //---------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/RemoveLogs.cpp b/Code/Mantid/Framework/DataHandling/src/RemoveLogs.cpp index 702f53eed341..f2bb5d0e7769 100644 --- a/Code/Mantid/Framework/DataHandling/src/RemoveLogs.cpp +++ b/Code/Mantid/Framework/DataHandling/src/RemoveLogs.cpp @@ -1,11 +1,3 @@ -/*WIKI* - - -Removes all logs from workspace, except those that are specified - - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/RenameLog.cpp b/Code/Mantid/Framework/DataHandling/src/RenameLog.cpp index 07b2639863e1..e78178b45c77 100644 --- a/Code/Mantid/Framework/DataHandling/src/RenameLog.cpp +++ b/Code/Mantid/Framework/DataHandling/src/RenameLog.cpp @@ -1,8 +1,3 @@ -/*WIKI* - -Rename a specified sample log of type TimeSeriesProperty in a given Workspace. - -*WIKI*/ #include "MantidDataHandling/RenameLog.h" #include "MantidKernel/MandatoryValidator.h" #include "MantidKernel/TimeSeriesProperty.h" diff --git a/Code/Mantid/Framework/DataHandling/src/RotateInstrumentComponent.cpp b/Code/Mantid/Framework/DataHandling/src/RotateInstrumentComponent.cpp index b01258a7fefe..0e56e45c5e0f 100644 --- a/Code/Mantid/Framework/DataHandling/src/RotateInstrumentComponent.cpp +++ b/Code/Mantid/Framework/DataHandling/src/RotateInstrumentComponent.cpp @@ -1,10 +1,3 @@ -/*WIKI* - - -RotateInstrumentComponent rotates a component around an axis of rotation by an angle given in degrees. Rotation by 0 degrees does not change the component's orientation. The rotation axis (X,Y,Z) must be given in the co-ordinate system attached to the component and rotates with it. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/SaveANSTOAscii.cpp b/Code/Mantid/Framework/DataHandling/src/SaveANSTOAscii.cpp index c9e02c4bca6c..6accb75e105f 100644 --- a/Code/Mantid/Framework/DataHandling/src/SaveANSTOAscii.cpp +++ b/Code/Mantid/Framework/DataHandling/src/SaveANSTOAscii.cpp @@ -1,8 +1,3 @@ -/*WIKI* -SaveANSTOAscii is an export-only Ascii-based save format with no associated loader. It is based on a python script by Maximilian Skoda, written for the ISIS Reflectometry GUI -==== Limitations ==== -While Files saved with SaveANSTOAscii can be loaded back into mantid using LoadAscii, the resulting workspaces won't be usful as the data written by SaveANSTOAscii is not in the normal X,Y,E,DX format. -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/SaveAscii.cpp b/Code/Mantid/Framework/DataHandling/src/SaveAscii.cpp index 40cf0faa783e..0874bac65b43 100644 --- a/Code/Mantid/Framework/DataHandling/src/SaveAscii.cpp +++ b/Code/Mantid/Framework/DataHandling/src/SaveAscii.cpp @@ -1,11 +1,3 @@ -/*WIKI* - -The workspace data are stored in the file in columns: the first column contains the X-values, followed by pairs of Y and E values. Columns are separated by commas. The resulting file can normally be loaded into a workspace by the [[LoadAscii]] algorithm. - -==== Limitations ==== -The algorithm assumes that the workspace has common X values for all spectra (i.e. is not a [[Ragged Workspace|ragged workspace]]). Only the X values from the first spectrum in the workspace are saved out. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/SaveAscii2.cpp b/Code/Mantid/Framework/DataHandling/src/SaveAscii2.cpp index e8355279513d..234e695a0077 100644 --- a/Code/Mantid/Framework/DataHandling/src/SaveAscii2.cpp +++ b/Code/Mantid/Framework/DataHandling/src/SaveAscii2.cpp @@ -1,11 +1,3 @@ -/*WIKI* - -The workspace data are stored in the file in columns: the first column contains the X-values, followed by pairs of Y and E values. Columns are separated by commas. The resulting file can normally be loaded into a workspace by the [[LoadAscii2]] algorithm. - -==== Limitations ==== -The algorithm assumes that the workspace has common X values for all spectra (i.e. is not a [[Ragged Workspace|ragged workspace]]). Only the X values from the first spectrum in the workspace are saved out. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/SaveCSV.cpp b/Code/Mantid/Framework/DataHandling/src/SaveCSV.cpp index 767407c725c6..c198a048d2e0 100644 --- a/Code/Mantid/Framework/DataHandling/src/SaveCSV.cpp +++ b/Code/Mantid/Framework/DataHandling/src/SaveCSV.cpp @@ -1,36 +1,3 @@ -/*WIKI* - -The format of the saved ascii CSV file for a 1D worksspace consists of three -columns where the numbers of each row are seperated by the Seperator and each -line by the LineSeperator. - -The format of the saved CSV file for a 2D workspace is as follows: - - A 0, 200, 400, 600, ..., 50000
- 0 10, 4, 234, 35, ..., 32
- 1 4, 234, 4, 9, ..., 12
- A 0, 100, 200, 300, ..., 25000
- 2 34, 0, 0, 0, ..., 23 - - ERRORS
- 0 0.1, 3.4, 2.4, 3.5, ..., 2
- 1 3.1, 3.3, 2.5, 3.5, ..., 2
- 2 1.1, 3.3, 2.4, 5, ..., 2.4 - -where for the matrix above the ERRORS line the first column -shows the content of the numbers on the of the same line; i.e. -'A' is followed by x-axis values (e.g. TOF values) and any number -(e.g. '2') followed by y-axis values (e.g. neutron counts). Multiple -'A' may be present to allow for the a-axis to change. So in -the example above the saved 2D workspace consists of three histograms -(y-axes) where the first two have the same x-axis but the third -histogram has a different x-axis. - -The matrix following the ERRORS line lists the errors as recorded -for each histogram. - - -*WIKI*/ /* Copyright © 2007 STFC Rutherford Appleton Laboratories diff --git a/Code/Mantid/Framework/DataHandling/src/SaveCalFile.cpp b/Code/Mantid/Framework/DataHandling/src/SaveCalFile.cpp index 6044805b6837..fa3ecb96a9f8 100644 --- a/Code/Mantid/Framework/DataHandling/src/SaveCalFile.cpp +++ b/Code/Mantid/Framework/DataHandling/src/SaveCalFile.cpp @@ -1,18 +1,3 @@ -/*WIKI* - - -This algorithm saves an ARIEL-style 5-column ASCII .cal file. - -The format is -* Number: ignored.* UDET: detector ID.* Offset: calibration offset. Comes from the OffsetsWorkspace, or 0.0 if none is given. -* Select: 1 if selected (not masked out). Comes from the MaskWorkspace, or 1 if none is given. -* Group: group number. Comes from the GroupingWorkspace, or 1 if none is given. - - - - - -*WIKI*/ #include "MantidAPI/FileProperty.h" #include "MantidDataHandling/SaveCalFile.h" #include "MantidKernel/System.h" @@ -154,4 +139,3 @@ namespace DataHandling } // namespace Mantid } // namespace DataHandling - diff --git a/Code/Mantid/Framework/DataHandling/src/SaveCanSAS1D.cpp b/Code/Mantid/Framework/DataHandling/src/SaveCanSAS1D.cpp index 06d8f79b9347..b9ae8941653c 100644 --- a/Code/Mantid/Framework/DataHandling/src/SaveCanSAS1D.cpp +++ b/Code/Mantid/Framework/DataHandling/src/SaveCanSAS1D.cpp @@ -1,10 +1,3 @@ -/*WIKI* - -Saves the given workspace to a file which will be in canSAS 1-D format specified by canSAS 1-D Data Formats Working Group schema http://svn.smallangles.net/svn/canSAS/1dwg/trunk/cansas1d.xsd. CANSAS has a Wiki page at http://www.smallangles.net/wgwiki/index.php/canSAS_Working_Groups - -Workspace group members and appended workspaces are stored in separate SASentry [http://en.wikipedia.org/wiki/Xml xml] elements. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/SaveCanSAS1D2.cpp b/Code/Mantid/Framework/DataHandling/src/SaveCanSAS1D2.cpp index 6c600662ecb8..e8d620027c4c 100644 --- a/Code/Mantid/Framework/DataHandling/src/SaveCanSAS1D2.cpp +++ b/Code/Mantid/Framework/DataHandling/src/SaveCanSAS1D2.cpp @@ -1,23 +1,3 @@ -/*WIKI* - -Saves the given workspace to a file which will be in canSAS 1-D format specified by canSAS 1-D Data Formats Working Group schema http://svn.smallangles.net/svn/canSAS/1dwg/trunk/cansas1d.xsd. CANSAS has a Wiki page at http://www.smallangles.net/wgwiki/index.php/canSAS_Working_Groups. - -The second version is compatible with canSAS - 1D - Version 1.1. If you need to save to the version 1.0 please -use the first version of this algorithm. You can see it at: [SaveCanSAS1D_1.0]. - -Workspace group members and appended workspaces are stored in separate SASentry [http://en.wikipedia.org/wiki/Xml xml] elements. - -This algorithm saves workspace into CanSAS1d format. This is an xml format except -the , tags and all data in between must be one line, which necesitates -the files be written iostream functions outside xml libraries. - -The second version of CanSAS1D implements the version 1.1, whose schema is found at -http://www.cansas.org/formats/1.1/cansas1d.xsd. See the tutorial for more infomation -about: http://www.cansas.org/svn/1dwg/trunk/doc/cansas-1d-1_1-manual.pdf. - -The structure of CanSAS1d xml is defined at the links above. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/SaveDaveGrp.cpp b/Code/Mantid/Framework/DataHandling/src/SaveDaveGrp.cpp index 52ea1f41d5d2..9c02edee6268 100644 --- a/Code/Mantid/Framework/DataHandling/src/SaveDaveGrp.cpp +++ b/Code/Mantid/Framework/DataHandling/src/SaveDaveGrp.cpp @@ -1,7 +1,3 @@ -/*WIKI* -Saves a workspace to a DAVE grp file. A description of the DAVE grouped data format can be found at [http://www.ncnr.nist.gov/dave/documentation/ascii_help.pdf http://www.ncnr.nist.gov/dave/documentation/ascii_help.pdf]. - -*WIKI*/ #include "MantidDataHandling/SaveDaveGrp.h" #include "MantidKernel/System.h" #include "MantidAPI/FileProperty.h" @@ -138,4 +134,3 @@ namespace DataHandling } // namespace Mantid } // namespace DataHandling - diff --git a/Code/Mantid/Framework/DataHandling/src/SaveDetectorsGrouping.cpp b/Code/Mantid/Framework/DataHandling/src/SaveDetectorsGrouping.cpp index a7406a2e10d7..95da6f6086f4 100644 --- a/Code/Mantid/Framework/DataHandling/src/SaveDetectorsGrouping.cpp +++ b/Code/Mantid/Framework/DataHandling/src/SaveDetectorsGrouping.cpp @@ -1,30 +1,3 @@ -/*WIKI* - -This algorithm is used to save a GroupingWorkspace to a file in XML format. - - -== XML File Format == - -=== Parameters === -* "instrument": mandatory attribute of node 'detector-grouping'. It must be valid instrument name. -* "ID": mandatory attribute of node 'group'. It must be valid group name, and the key to denote group. -* "detids": a node to define grouping by detectors' ID. Its value must be a list of integers separated by ','. A '-' is used between 2 integers to define a range of detectors. -* "component": a node to define that all detectors belonged to a component in the instrument are to be in a same group. Its value should be a valid component name. - -Example 1: - - - - - - 1-30,34-44,47-100 - - 103-304,344-444,474-5000 - - - -*WIKI*/ - #include "MantidDataHandling/SaveDetectorsGrouping.h" #include "MantidKernel/System.h" #include "MantidAPI/FileProperty.h" diff --git a/Code/Mantid/Framework/DataHandling/src/SaveDspacemap.cpp b/Code/Mantid/Framework/DataHandling/src/SaveDspacemap.cpp index e5bf035aa2e3..1cecbfeec258 100644 --- a/Code/Mantid/Framework/DataHandling/src/SaveDspacemap.cpp +++ b/Code/Mantid/Framework/DataHandling/src/SaveDspacemap.cpp @@ -1,12 +1,3 @@ -/*WIKI* - - - -The POWGEN d-space map file format is a binary list of the conversion. It needs to be a minimum size, determined by the PadDetID parameter. - - - -*WIKI*/ #include "MantidDataHandling/SaveDspacemap.h" #include "MantidDataObjects/OffsetsWorkspace.h" #include "MantidKernel/System.h" @@ -137,4 +128,3 @@ namespace DataHandling } // namespace Mantid } // namespace DataHandling - diff --git a/Code/Mantid/Framework/DataHandling/src/SaveFocusedXYE.cpp b/Code/Mantid/Framework/DataHandling/src/SaveFocusedXYE.cpp index 71ca330884ae..e6d736d1212d 100644 --- a/Code/Mantid/Framework/DataHandling/src/SaveFocusedXYE.cpp +++ b/Code/Mantid/Framework/DataHandling/src/SaveFocusedXYE.cpp @@ -1,18 +1,3 @@ -/*WIKI* - -This algorithm outputs the data in ASCII as a 3 column X, Y ,E format for use in subsequent analysis by other programs. -The output files can be read for example into FullProf with format instrument=10. - -For data where the focusing routine has generated several spectra (for example, multi-bank instruments), -the option is provided for saving all spectra into a single file, separated by headers, or into -several files that will be named "workspaceName-"+spectra_number - -== Current Issues == -Fullprof expects the data to be in TOF, however at present the [[DiffractionFocussing]] algorithm in Mantid leaves the data in d-spacing. - -If the written file is to be loaded into TOPAS, then headers should be omitted (set the IncludeHeader property to false); - -*WIKI*/ //--------------------------------------------------- // Includes //--------------------------------------------------- @@ -338,4 +323,3 @@ void SaveFocusedXYE::getFocusedPos(Mantid::API::MatrixWorkspace_const_sptr wksp, l2 = det->getDistance(*sample); tth = wksp->detectorTwoTheta(det) * 180. / M_PI; } - diff --git a/Code/Mantid/Framework/DataHandling/src/SaveFullprofResolution.cpp b/Code/Mantid/Framework/DataHandling/src/SaveFullprofResolution.cpp index d2c31f5a4879..1d9af9673774 100644 --- a/Code/Mantid/Framework/DataHandling/src/SaveFullprofResolution.cpp +++ b/Code/Mantid/Framework/DataHandling/src/SaveFullprofResolution.cpp @@ -1,33 +1,3 @@ -/*WIKI* - -A Fullprof's resolution file contains the peak profile parameters and some powder diffractometer's geometry related parameters in a certain format. -This algorithm reads a TableWorkspace containing all the information required by Fullprof's resolution file, and -write out a text file conforming to that resolution file's format. - -== Peak Profile Supported == -Here is the list of peak profile supported by this algorithm: -* Back-to-back Exponential Convoluted with Pseudo-voigt peak profile (profile 9). -* Thermal Neutron Back-to-back Exponential Convoluted with Pseudo-voigt peak profile (profile 10). - -== Instrument Profile Parameter TableWorkspace == -TableWorkspace as the input of this algorithm can be generated from ''CreateLeBailFitInput'', ''RefinePowderInstrumentParameters'' or ''LeBailFit''. -To be noticed that the TableWorkspace output from ''RefinePowderInstrumentParameters'' is usually an intermediate product. - -Input TableWorkspace must have two columns, "Name" and "Value", as column 0 and 1. There is no restriction on other columns. - -For a multiple bank instrument, from the second column, the name of the columns should be Value_1, Value_2 and so on. A row with parameter name 'BANK' should be there to indicate the bank ID of a specific row of parameters corresponding to. - -== How to use algorithm with other algorithms == - -==== Le Bail Fit ==== -This algorithm is designed to work with other algorithms to do Le Bail fit. The introduction can be found in [[Le Bail Fit]]. - -==== Save For Multiple-Bank Resolution File ==== -As SaveFullprofResolution can save 1 bank a time, in order to make a multiple-bank .irf file, user should execute this algorithm a few times. Except the first time, property 'Append' should be marked as 'True'. - - -*WIKI*/ - #include "MantidDataHandling/SaveFullprofResolution.h" #include "MantidAPI/WorkspaceProperty.h" #include "MantidAPI/FileProperty.h" diff --git a/Code/Mantid/Framework/DataHandling/src/SaveGSS.cpp b/Code/Mantid/Framework/DataHandling/src/SaveGSS.cpp index 623ef2199ac5..ddc5f771c597 100644 --- a/Code/Mantid/Framework/DataHandling/src/SaveGSS.cpp +++ b/Code/Mantid/Framework/DataHandling/src/SaveGSS.cpp @@ -1,15 +1,3 @@ -/*WIKI* - -Saves a focused data set into a three column GSAS format containing X_i, Y_i*step, and E_I*step. Exclusively for the crystallography package [http://www.ccp14.ac.uk/solution/gsas/index.html GSAS] and data needs to be in time-of-flight. For data where the focusing routine has generated several spectra (for example, multi-bank instruments), the option is provided for saving all spectra into a single file, separated by headers, or into several files that will be named "workspaceName_"+workspace_index_number. - -From the GSAS manual a description of the format options: -* If BINTYP is 'SLOG' then the neutron TOF data was collected in constant ∆T/T steps. BCOEF(1) is the initial TOF in μsec, and BCOEF(3) is the value of ∆T/T used in the data collection. BCOEF(2) is a maximum TOF for the data set. BCOEF(4) is zero and ignored. -* If BINTYP equals 'RALF' then the data was collected at one of the TOF neutron diffractometers at the ISIS Facility, Rutherford-Appleton Laboratory. The width of the time bins is constant for a section of the data at small values of TOF and then varies (irregularly) in pseudoconstant ∆T/T steps. In this case BCOEF(1) is the starting TOF in μsec*32, BCOEF(2) is the width of the first step in μsec*32, BCOEF(3) is the start of the log scaled step portion of the data in μsec*32 and BCOEF(4) is the resolution to be used in approximating the size of each step beyond BCOEF(3). - -The format is limited to saving 99 spectra in total. Trying to save more will generate an error. - - -*WIKI*/ //--------------------------------------------------- // Includes //--------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/SaveILLCosmosAscii.cpp b/Code/Mantid/Framework/DataHandling/src/SaveILLCosmosAscii.cpp index 3a08ccf963aa..582063c89214 100644 --- a/Code/Mantid/Framework/DataHandling/src/SaveILLCosmosAscii.cpp +++ b/Code/Mantid/Framework/DataHandling/src/SaveILLCosmosAscii.cpp @@ -1,8 +1,3 @@ -/*WIKI* -SaveILLCosmosAscii is an export-only Ascii-based save format with no associated loader. It is based on a python script by Maximilian Skoda, written for the ISIS Reflectometry GUI -==== Limitations ==== -While Files saved with SaveILLCosmosAscii can be loaded back into mantid using LoadAscii, the resulting workspaces won't be usful as the data written by SaveILLCosmosAscii is not in the normal X,Y,E,DX format. -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/SaveISISNexus.cpp b/Code/Mantid/Framework/DataHandling/src/SaveISISNexus.cpp index c69bdc09dd3e..44c543aaf8f7 100644 --- a/Code/Mantid/Framework/DataHandling/src/SaveISISNexus.cpp +++ b/Code/Mantid/Framework/DataHandling/src/SaveISISNexus.cpp @@ -1,7 +1,3 @@ -/*WIKI* - - -*WIKI*/ // SaveISISNexus // @author Freddie Akeroyd, STFC ISIS Faility // @author Ronald Fowler, STFC eScience. Modified to fit with SaveISISNexusProcessed diff --git a/Code/Mantid/Framework/DataHandling/src/SaveIsawDetCal.cpp b/Code/Mantid/Framework/DataHandling/src/SaveIsawDetCal.cpp index 955e743b8f97..999839fdbdbd 100644 --- a/Code/Mantid/Framework/DataHandling/src/SaveIsawDetCal.cpp +++ b/Code/Mantid/Framework/DataHandling/src/SaveIsawDetCal.cpp @@ -1,14 +1,3 @@ -/*WIKI* - - -Saves an instrument with RectangularDetectors to an ISAW .DetCal file. - -This algorithm will fail on instruments without RectangularDetectors. Additionally, the banks should be named "bankXX" where XX is the bank index. -Other names will fail or create an invalid .DetCal file. - - - -*WIKI*/ #include "MantidAPI/FileProperty.h" #include "MantidAPI/MatrixWorkspace.h" #include "MantidDataHandling/SaveIsawDetCal.h" @@ -173,4 +162,3 @@ namespace DataHandling } // namespace Mantid } // namespace DataHandling - diff --git a/Code/Mantid/Framework/DataHandling/src/SaveMask.cpp b/Code/Mantid/Framework/DataHandling/src/SaveMask.cpp index d0f29e39d398..f9d97b3b58d2 100644 --- a/Code/Mantid/Framework/DataHandling/src/SaveMask.cpp +++ b/Code/Mantid/Framework/DataHandling/src/SaveMask.cpp @@ -1,39 +1,3 @@ -/*WIKI* - -This algorithm is used to save the masking from a workspace to an XML file. -This algorithm has previously been renamed from [[SaveDetectorMasks]]. - -== 2 Types of Mask Workspace == -There are two types of mask workspace that can serve as input. - -==== 1. [[MaskWorkspace]] ==== -In this case, [[SaveMask]] will read Y values to determine which detectors are masked; - -==== 2. A non-[[MaskWorkspace]] [[MatrixWorkspace]] containing [[Instrument]] ==== -In this case, [[SaveMask]] will scan through all detectors to determine which are masked. - -== Definition of Mask == - * If a pixel is masked, it means that the data from this pixel won't be used. - In the masking workspace (i.e., [[SpecialWorkspace2D]]), the corresponding value is 1. - * If a pixel is NOT masked, it means that the data from this pixel will be used. - In the masking workspace (i.e., [[SpecialWorkspace2D]]), the corresponding value is 0. - -== XML File Format == -Example 1: - - - - - 3,34-44,47 - bank123 - bank124 - - - - - -*WIKI*/ - #include "MantidDataHandling/SaveMask.h" #include "MantidKernel/System.h" #include "MantidDataObjects/SpecialWorkspace2D.h" diff --git a/Code/Mantid/Framework/DataHandling/src/SaveNISTDAT.cpp b/Code/Mantid/Framework/DataHandling/src/SaveNISTDAT.cpp index 975c9838476c..097ed2a97b47 100644 --- a/Code/Mantid/Framework/DataHandling/src/SaveNISTDAT.cpp +++ b/Code/Mantid/Framework/DataHandling/src/SaveNISTDAT.cpp @@ -1,9 +1,3 @@ -/*WIKI* - -Qxy rebins a 2D workspace in units of wavelength into 2D Q. It also normalises to the solid angle of each detector pixel. The result is stored in a 2D workspace which two numeric axes, both in units of Q. SaveNISTDAT save the output of Qxy to an ASCII file that can be read by NIST software. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/SaveNXSPE.cpp b/Code/Mantid/Framework/DataHandling/src/SaveNXSPE.cpp index 8369b45ff771..23006101fbc2 100644 --- a/Code/Mantid/Framework/DataHandling/src/SaveNXSPE.cpp +++ b/Code/Mantid/Framework/DataHandling/src/SaveNXSPE.cpp @@ -1,18 +1,3 @@ -/*WIKI* - - -Saves the data in a workspace into a file in the NeXus based 'NXSPE' format. - -==== Restrictions on the input workspace ==== - -The input workspace must have units of Momentum Transfer ('DeltaE') and contain histogram data with common binning on all spectra. - -==== Child Algorithms used ==== - -[[FindDetectorsPar]] algorithm is used to calculate detectors parameters from the instrument description. - - -*WIKI*/ #include "MantidDataHandling/SaveNXSPE.h" #include "MantidAPI/FileProperty.h" #include "MantidKernel/ConfigService.h" diff --git a/Code/Mantid/Framework/DataHandling/src/SaveNexus.cpp b/Code/Mantid/Framework/DataHandling/src/SaveNexus.cpp index 3fc6986ccec9..fbe9f56db35b 100644 --- a/Code/Mantid/Framework/DataHandling/src/SaveNexus.cpp +++ b/Code/Mantid/Framework/DataHandling/src/SaveNexus.cpp @@ -1,35 +1,3 @@ -/*WIKI* - - -The algorithm SaveNexus will write a Nexus data file from the named workspace. -The file name can be an absolute or relative path and should have the extension -.nxs, .nx5 or .xml. -Warning - using XML format can be extremely slow for large data sets and generate very large files. -Both the extensions nxs and nx5 will generate HDF5 files. - -The optional parameters can be used to control which spectra are saved into the file (not yet implemented). -If spectrum_min and spectrum_max are given, then only that range to data will be loaded. - -A Mantid Nexus file may contain several workspace entries each labelled with an integer starting at 1. -If the file already contains n workspaces, the new one will be labelled n+1. - -In the future it may be possible to write other Nexus file types than the one supported by SaveNexusProcessed. - - -===Time series data=== -TimeSeriesProperty data within the workspace will be saved as NXlog sections in the Nexus file. -Only floating point logs are stored and loaded at present. - -===Child Algorithms used=== - -[[SaveNexusProcessed]] - - - - - - -*WIKI*/ // SaveNeXus // @author Freddie Akeroyd, STFC ISIS Faility // @author Ronald Fowler, STFC eScience. Modified to fit with SaveNexusProcessed diff --git a/Code/Mantid/Framework/DataHandling/src/SaveNexusProcessed.cpp b/Code/Mantid/Framework/DataHandling/src/SaveNexusProcessed.cpp index aac006a04900..9aa2ed26cf3a 100644 --- a/Code/Mantid/Framework/DataHandling/src/SaveNexusProcessed.cpp +++ b/Code/Mantid/Framework/DataHandling/src/SaveNexusProcessed.cpp @@ -1,37 +1,3 @@ -/*WIKI* - -The algorithm SaveNexusProcessed will write a Nexus data file from the named workspace. -This can later be loaded using [[LoadNexusProcessed]]. - -The file name can be an absolute or relative path and should have the extension -.nxs, .nx5 or .xml. Warning - using XML format can be extremely slow for large data sets and generate very large files. -Both the extensions nxs and nx5 will generate HDF5 files. - -The optional parameters can be used to control which spectra are saved into the file. -If WorkspaceIndexMin and WorkspaceIndexMax are given, then only that range to data will be loaded. - -A Mantid Nexus file may contain several workspace entries each labelled with an integer starting at 1. -If the file already contains n workspaces, the new one will be labelled n+1. - -=== Time series data === - -TimeSeriesProperty data within the workspace will be saved as NXlog sections in the Nexus file. -Only floating point logs are stored and loaded at present. - -=== EventWorkspaces === - -This algorithm will save [[EventWorkspace]]s with full event data, unless -you uncheck ''PreserveEvents'', in which case the histogram version of -the workspace is saved. - -Optionally, you can check ''CompressNexus'', which will compress the event -data. '''Warning!''' This can be ''very'' slow, and only gives approx. 40% compression -because event data is typically denser than histogram data. ''CompressNexus'' is -off by default. - -*WIKI*/ - - // SaveNexusProcessed // @author Ronald Fowler, based on SaveNexus #include "MantidAPI/EnabledWhenWorkspaceIsType.h" diff --git a/Code/Mantid/Framework/DataHandling/src/SavePAR.cpp b/Code/Mantid/Framework/DataHandling/src/SavePAR.cpp index 3bc0b9338482..911831ac63fd 100644 --- a/Code/Mantid/Framework/DataHandling/src/SavePAR.cpp +++ b/Code/Mantid/Framework/DataHandling/src/SavePAR.cpp @@ -1,28 +1,3 @@ -/*WIKI* - - -Saves the geometry information of the detectors in a workspace into a PAR format ASCII file. The angular positions and linear sizes of the detectors are calculated using [[FindDetectorsPar]] algorithm. - -Tobyfit PAR file is an ASCII file consisting of the header and 5 or 6 text columns. Mantid generates 6-column files. Header contains the number of the rows in the phx file excluding the header. (number of detectors). The column has the following information about a detector: - - * - * 1st column sample-detector distance (secondary flight path) - * 2nd " scattering angle (deg) - * 3rd " azimuthal angle (deg) - * (west bank = 0 deg, north bank = -90 deg etc.) - * (Note the reversed sign convention cf [[SavePHX|.phx]] files) - * 4th " width (m) - * 5th " height (m) - * 6th " detector ID -- Mantid specific. - *--- - - -You should expect to find column 6 to be the detector ID in Mantid-generated par files only. - - - - -*WIKI*/ #include "MantidDataHandling/SavePAR.h" #include "MantidDataHandling/FindDetectorsPar.h" #include "MantidAPI/FileProperty.h" diff --git a/Code/Mantid/Framework/DataHandling/src/SavePHX.cpp b/Code/Mantid/Framework/DataHandling/src/SavePHX.cpp index 1cb79c55b19b..df1573b92dd5 100644 --- a/Code/Mantid/Framework/DataHandling/src/SavePHX.cpp +++ b/Code/Mantid/Framework/DataHandling/src/SavePHX.cpp @@ -1,28 +1,3 @@ -/*WIKI* - - -Saves the geometry information of the detectors in a workspace into a PHX format ASCII file. The angular positions and angular sizes of the detectors are calculated using [[FindDetectorsPar]] algorithm. - -Mantid generated PHX file is an ASCII file consisting of the header and 7 text columns. Header contains the number of the rows in the phx file excluding the header. (number of detectors). The column has the following information about a detector: - - * 1st column secondary flightpath,e.g. sample to detector distance (m) -- Mantid specific - * 2nt " 0 - * 3rd " scattering angle (deg) - * 4th " azimuthal angle (deg) - * (west bank = 0 deg, north bank = 90 deg etc.) - * (Note the reversed sign convention wrt [[SavePAR|.par]] files) - * 5th " angular width e.g. delta scattered angle (deg) - * 6th " angular height e.g. delta azimuthal angle (deg) - * 7th " detector ID -- Mantid specific. - *--- - - -In standard phx file only the columns 3,4,5 and 6 contain useful information. You can expect to find column 1 to be the secondary flightpath and the column 7 -- the detector ID in Mantid-generated phx files only. - - - - -*WIKI*/ #include "MantidDataHandling/SavePHX.h" #include "MantidDataHandling/FindDetectorsPar.h" #include "MantidAPI/FileProperty.h" diff --git a/Code/Mantid/Framework/DataHandling/src/SaveRKH.cpp b/Code/Mantid/Framework/DataHandling/src/SaveRKH.cpp index 1efdccd7883e..6367c20b181a 100644 --- a/Code/Mantid/Framework/DataHandling/src/SaveRKH.cpp +++ b/Code/Mantid/Framework/DataHandling/src/SaveRKH.cpp @@ -1,10 +1,3 @@ -/*WIKI* - -Saves the the given workspace to a file which will be formatted in one of the LOQ data formats (see [http://www.isis.rl.ac.uk/archive/LargeScale/LOQ/other/formats.htm here]). -1D or 2D workspaces may be saved. If a 1D workspace is 'horizontal' (a single spectrum) then the first column in the three column output will contain the X values of the spectrum (giving the bin centre if histogram data). For a 'vertical' (single column) 1D workspace, the first column of the file will contain the spectrum number. - - -*WIKI*/ //--------------------------------------------------- // Includes //--------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/SaveReflTBL.cpp b/Code/Mantid/Framework/DataHandling/src/SaveReflTBL.cpp index 97a75264f2e1..5b623ef210e4 100644 --- a/Code/Mantid/Framework/DataHandling/src/SaveReflTBL.cpp +++ b/Code/Mantid/Framework/DataHandling/src/SaveReflTBL.cpp @@ -1,21 +1,3 @@ -/*WIKI* -Saves a TableWorkspace at least 8 colunms wide into an ascii file in 17-column Reflectometry TBL format compatible with the old ISIS reflectometry Interface. - -The 8 columns are grouped into rows of 17 according to stitch index, so up to 3 rows int he table would become a single row in the TBL file like so: -(Where Z is an identical stitch group index, and - is ignored as only the first instance of P and Q are used in the file) - -A, B, C, D, E, P, Q, Z -F, G, H, I, J, -, -, Z -K, L, M, N, O, -, -, Z - -becomes - -A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q -==== Limitations ==== -The Algorithm will fail if any stitch index appears more than 3 times, as the old interface does not support more than 3 runs per row. - -Stitch groups of index 0 are treated as non-grouped, and will not be grouped with one another (and by extension can be larger than 3 members). They will however be moved to the end of the file -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/SaveSPE.cpp b/Code/Mantid/Framework/DataHandling/src/SaveSPE.cpp index c574f42e3457..348d66e37474 100644 --- a/Code/Mantid/Framework/DataHandling/src/SaveSPE.cpp +++ b/Code/Mantid/Framework/DataHandling/src/SaveSPE.cpp @@ -1,14 +1,3 @@ -/*WIKI* - -Saves the data in a workspace into a file in the ASCII 'SPE' format (as described [[Media:Spe_file_format.pdf|here]]). - -The units used for saving will match those of the input workspace, such that if you have the units Momentum Transfer ('DeltaE') then you will get a traditional SPE file, you could choose to have the units in mod Q and then it will save to an SPQ file variant. - -==== Restrictions on the input workspace ==== - -The input workspace must contain histogram data with common binning on all spectra. - -*WIKI*/ //--------------------------------------------------- // Includes //--------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/SaveToSNSHistogramNexus.cpp b/Code/Mantid/Framework/DataHandling/src/SaveToSNSHistogramNexus.cpp index ab239dbc34de..2a9817118510 100644 --- a/Code/Mantid/Framework/DataHandling/src/SaveToSNSHistogramNexus.cpp +++ b/Code/Mantid/Framework/DataHandling/src/SaveToSNSHistogramNexus.cpp @@ -1,12 +1,3 @@ -/*WIKI* - -The algorithm essentially copies the InputFilename into OutputFilename, except that it replaces the data field with whatever the specified workspace contains. -The histograms do not need to be the same size (in number of bins), but the number of pixels needs to be the same. - -In addition, this only works for instruments that use [[RectangularDetector]]s (SNAP, TOPAZ, POWGEN, for example); in addition, -the name in the instrument definition file must match the name in the NXS file. - -*WIKI*/ // SaveToSNSHistogramNexus // @author Freddie Akeroyd, STFC ISIS Faility // @author Ronald Fowler, STFC eScience. Modified to fit with SaveToSNSHistogramNexusProcessed diff --git a/Code/Mantid/Framework/DataHandling/src/SaveVTK.cpp b/Code/Mantid/Framework/DataHandling/src/SaveVTK.cpp index 301df0948805..ff4b8f91f451 100644 --- a/Code/Mantid/Framework/DataHandling/src/SaveVTK.cpp +++ b/Code/Mantid/Framework/DataHandling/src/SaveVTK.cpp @@ -1,10 +1,3 @@ -/*WIKI* - -Saves a workspace out to a VTK file that can be loaded with Paraview or any other software supporting the VTK file format. -This is a very basic algorithm that simple creates a 3D view of the data as a series of histograms. -It should only be used for relatively small data sets as the resulting file can become quite large relatively quickly. - -*WIKI*/ //--------------------------------------------------- // Includes //--------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/SetSampleMaterial.cpp b/Code/Mantid/Framework/DataHandling/src/SetSampleMaterial.cpp index 98a3b4e76adf..17577614ddb1 100644 --- a/Code/Mantid/Framework/DataHandling/src/SetSampleMaterial.cpp +++ b/Code/Mantid/Framework/DataHandling/src/SetSampleMaterial.cpp @@ -1,35 +1,3 @@ -/*WIKI* - -Sets the neutrons information in the sample. You can either enter details about the chemical formula or atomic number, -or you can provide specific values for the attenuation and scattering cross sections and the sample number density. -If you decide to provide specific values you must give values for all three (attenuation and scattering cross sections and the sample number density), and any formula information will be ignored. -If you miss any of the three specific values then the other will be ignored. - -Neutron scattering lengths and cross sections of the elements and their isotopes have been taken from [http://www.ncnr.nist.gov/resources/n-lengths/list.html]. -*WIKI*/ -/*WIKI_USAGE* -=====Setting the sample by simple formula===== -SetSampleMaterial(InputWorkspace='IRS26173',ChemicalFormula='Fe') - -=====Setting the sample by a more complex formula===== -SetSampleMaterial(InputWorkspace='IRS26173',ChemicalFormula='Al2-O3', UnitCellVolume='253.54', ZParameter='6') - -=====Setting the sample by specific values===== -SetSampleMaterial(InputWorkspace='IRS26173',AtomicNumber=26,AttenuationXSection=2.56,ScatteringXSection=11.62,SampleNumberDensity=0.0849106) - -=====Extracting the set values out by python===== -sam = ws.sample() -mat = sam.getMaterial() -print mat.absorbXSection() -1.3374 -print mat.cohScatterXSection() -339.1712 -print mat.name() -C2 H4 -print mat.totalScatterXSection() -339.1712 - -*WIKI_USAGE*/ //-------------------------------- // Includes //-------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/SetScalingPSD.cpp b/Code/Mantid/Framework/DataHandling/src/SetScalingPSD.cpp index d8e8d19ced07..849d5477db41 100644 --- a/Code/Mantid/Framework/DataHandling/src/SetScalingPSD.cpp +++ b/Code/Mantid/Framework/DataHandling/src/SetScalingPSD.cpp @@ -1,54 +1,3 @@ -/*WIKI* - - -This algorithm was developed for the Merlin instrument but may be used with other instruments if appropriate scaling data is available. -The scaling data should give the true centre point location of each pixel detector in the instrument. -This may be obtained by a calibration run and post-processing of the results. -Since the calibration data may vary with time, it is not convenient to store it in the instrument XML definition file. -Instead it can be stored as an ACSII file with the extension ".sca" or within the ".raw" file associated with the data, as data on the -position of each detector (r,theta,phi). - -A scaling file (extension .sca) is expected to be an ASCII file with three header lines. -Of these, only the second line is actual read and the first item on this line should -give the number of detectors described by the file as an integer value. -Each subsequent line after the first three will give the information for one detector with at least the five -ordered values detector_ID, detector_offset, l2, code, theta and phi. -Of these values only the detector_ID and the new position (l2, theta, phi) are used. -The latter three values are taken as defining the true position of the detector -in spherical polar coordinates relative to the origin (sample position). -If a raw file is given the true positions are taken from this instead. - -This algorithm creates a parameter map for the instrument that applies a shift to each -detector so that is at the correct position. -Monitors are not moved. -Because the shift of detector locations can alter the effective width of the pixel -it is necessary to apply a scaling factor. -While each shift can have components in all three primary axes (X,Y,Z), it is assumed that a single PSD will maintain the co-linear nature of pixel centres. -The width scaling factor for a pixel i is approximated as average of the left and right side scalings cased by the change -in relative spacings with respect to neighbour pixels. -End of detector pixels only have one scaling value to use. -It is assumed that the scaling is both small and smooth so that the approximate scaling is reasonable. - -Scaling and position correction will be reflected in properties of the detector objects including values such as the solid -angle, bounding box, etc. -The detector numbering in Merlin uses sequential numbers for pixels within a PSD and non-sequential jumps between PSDs. -This algorithm uses these jumps to identify individual PSDs. - -To apply this algorithm to instruments other than Merlin it may be necessary to modify the code depending on the type of detectors -present and how they are numbered. - -If the tube detector performance enhancement is used the results of the algorithm will not be visible in the instrument view in MantidPlot, at the same time all calclations will be performed correctly. - -=== Optional properties === -ScalingOpt - this integer value controls the way in which the scaling is calculated for pixels that have both left and right values for the scaling. -The default is to just average the two together. -Setting this to 1 causes the maximum scaling to be used and setting it to 2 uses the maximum scaling plus 5% to be used. - -===ChildAlgorithms used=== -None - - -*WIKI*/ // SetScalingPSD // @author Ronald Fowler //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/DataHandling/src/UpdateInstrumentFromFile.cpp b/Code/Mantid/Framework/DataHandling/src/UpdateInstrumentFromFile.cpp index c8e1bbe6be61..e44ab757883e 100644 --- a/Code/Mantid/Framework/DataHandling/src/UpdateInstrumentFromFile.cpp +++ b/Code/Mantid/Framework/DataHandling/src/UpdateInstrumentFromFile.cpp @@ -1,39 +1,3 @@ -/*WIKI* - -Some instrument definition file ([[InstrumentDefinitionFile|IDF]]) positions are only approximately correct and the true positions are located within data files. -This algorithm reads the detector positioning from the supplied file and updates the instrument accordingly. It currently supports ISIS Raw, ISIS NeXus files and ASCII files. - -It is assumed that the positions specified in the file are all with respect to the a coordinate system defined with its origin at the sample position. Note that this algorithm -moves the detectors without subsequent rotation, hence this means that detectors may not for example face the sample perfectly after this algorithm has been applied. - -==== Additional Detector Parameters Using ASCII File ==== -The ASCII format allows a multi-column text file to provide new positions along with additional parameters for each detector. If a text file is used then -the AsciiHeader parameter is required as it identifies each column in the file as header information in the file is always ignored. There is a minor restriction -in that the first column is expected to specify either a detector ID or a spectrum number and will never be interpreted as anything else. - -The keywords recognised by the algorithm to pick out detector position values & spectrum/ID values are: spectrum, ID, R,theta, phi. The spectrum/ID keywords -can only be used in the first column. A dash (-) is used to ignore a column. - -As an example the following header: -
-spectrum,theta,t0,-,R
-
-and the following text file: -
-    1   0.0000  -4.2508  11.0550  -2.4594
-    2   0.0000   0.0000  11.0550   2.3800
-    3 130.4653  -0.4157  11.0050   0.6708
-    4 131.9319  -0.5338  11.0050   0.6545
-    5 133.0559  -0.3362  11.0050   0.6345
-
-would tell the algorithm to interpret the columns as: -# Spectrum number -# Theta position value -# A new instrument parameter called t0 -# This column would be ignored -# R position value - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/ICat/src/CatalogDownloadDataFiles.cpp b/Code/Mantid/Framework/ICat/src/CatalogDownloadDataFiles.cpp index bb841a9eac98..cd7143f9702a 100644 --- a/Code/Mantid/Framework/ICat/src/CatalogDownloadDataFiles.cpp +++ b/Code/Mantid/Framework/ICat/src/CatalogDownloadDataFiles.cpp @@ -1,10 +1,3 @@ -/*WIKI* - -This algorithm gets the location strings for the selected files from the data archive; -if the data archive is not accessible, it downloads the files from the data server. - -*WIKI*/ - #include "MantidAPI/CatalogManager.h" #include "MantidAPI/ICatalogInfoService.h" #include "MantidAPI/WorkspaceProperty.h" diff --git a/Code/Mantid/Framework/ICat/src/CatalogGetDataFiles.cpp b/Code/Mantid/Framework/ICat/src/CatalogGetDataFiles.cpp index 31d4900c21b3..bfb3a9bfff00 100644 --- a/Code/Mantid/Framework/ICat/src/CatalogGetDataFiles.cpp +++ b/Code/Mantid/Framework/ICat/src/CatalogGetDataFiles.cpp @@ -1,9 +1,3 @@ -/*WIKI* - -This algorithm retrieves the files associated to selected investigation from the information catalog and saves the file search results to mantid workspace. - -*WIKI*/ - #include "MantidICat/CatalogGetDataFiles.h" #include "MantidKernel/MandatoryValidator.h" #include "MantidAPI/CatalogManager.h" diff --git a/Code/Mantid/Framework/ICat/src/CatalogGetDataSets.cpp b/Code/Mantid/Framework/ICat/src/CatalogGetDataSets.cpp index cae8a0c1fc00..c5159572eeb7 100644 --- a/Code/Mantid/Framework/ICat/src/CatalogGetDataSets.cpp +++ b/Code/Mantid/Framework/ICat/src/CatalogGetDataSets.cpp @@ -1,8 +1,3 @@ -/*WIKI* -This algorithm retrieves the datasets associated to the selected investigation -from the information catalog and saves the search results to mantid workspace. -*WIKI*/ - #include "MantidICat/CatalogGetDataSets.h" #include "MantidKernel/MandatoryValidator.h" #include "MantidAPI/CatalogManager.h" diff --git a/Code/Mantid/Framework/ICat/src/CatalogKeepAlive.cpp b/Code/Mantid/Framework/ICat/src/CatalogKeepAlive.cpp index 56fd8ee1a7d8..473606e062e4 100644 --- a/Code/Mantid/Framework/ICat/src/CatalogKeepAlive.cpp +++ b/Code/Mantid/Framework/ICat/src/CatalogKeepAlive.cpp @@ -1,9 +1,3 @@ -/*WIKI* - -This algorithm refreshes the current session to the maximum amount provided by the catalog API. - -*WIKI*/ - #include "MantidICat/CatalogKeepAlive.h" #include "MantidAPI/CatalogManager.h" @@ -50,4 +44,3 @@ namespace Mantid } } - diff --git a/Code/Mantid/Framework/ICat/src/CatalogListInstruments.cpp b/Code/Mantid/Framework/ICat/src/CatalogListInstruments.cpp index 6fcd1b35b46d..ae9420401ca6 100644 --- a/Code/Mantid/Framework/ICat/src/CatalogListInstruments.cpp +++ b/Code/Mantid/Framework/ICat/src/CatalogListInstruments.cpp @@ -1,9 +1,3 @@ -/*WIKI* - -This algorithm retrieves the instrument names from a catalog and stores them in a vector. - -*WIKI*/ - #include "MantidICat/CatalogListInstruments.h" #include "MantidAPI/CatalogManager.h" #include "MantidKernel/ArrayProperty.h" @@ -33,4 +27,3 @@ namespace Mantid } } - diff --git a/Code/Mantid/Framework/ICat/src/CatalogListInvestigationTypes.cpp b/Code/Mantid/Framework/ICat/src/CatalogListInvestigationTypes.cpp index 191cdc13b4db..57b74bf5857a 100644 --- a/Code/Mantid/Framework/ICat/src/CatalogListInvestigationTypes.cpp +++ b/Code/Mantid/Framework/ICat/src/CatalogListInvestigationTypes.cpp @@ -1,9 +1,3 @@ -/*WIKI* - -This algorithm is responsible for obtaining a list of investigation types from the catalog. - -*WIKI*/ - #include "MantidICat/CatalogListInvestigationTypes.h" #include "MantidAPI/CatalogManager.h" #include "MantidKernel/ArrayProperty.h" diff --git a/Code/Mantid/Framework/ICat/src/CatalogLogin.cpp b/Code/Mantid/Framework/ICat/src/CatalogLogin.cpp index d0660173e756..713353610637 100644 --- a/Code/Mantid/Framework/ICat/src/CatalogLogin.cpp +++ b/Code/Mantid/Framework/ICat/src/CatalogLogin.cpp @@ -1,9 +1,3 @@ -/*WIKI* - -This algorithm connects the logged in user to the information catalog. - -*WIKI*/ - #include "MantidICat/CatalogLogin.h" #include "MantidAPI/AlgorithmManager.h" #include "MantidAPI/CatalogManager.h" @@ -68,4 +62,3 @@ namespace Mantid } } - diff --git a/Code/Mantid/Framework/ICat/src/CatalogLogout.cpp b/Code/Mantid/Framework/ICat/src/CatalogLogout.cpp index 2c76aeeebeca..9e0dd1dc3ea8 100644 --- a/Code/Mantid/Framework/ICat/src/CatalogLogout.cpp +++ b/Code/Mantid/Framework/ICat/src/CatalogLogout.cpp @@ -1,9 +1,3 @@ -/*WIKI* - -This algorithm disconnects the logged in user from a specific catalog using the session information provided. - -*WIKI*/ - #include "MantidICat/CatalogLogout.h" #include "MantidAPI/CatalogManager.h" #include "MantidAPI/AlgorithmManager.h" diff --git a/Code/Mantid/Framework/ICat/src/CatalogMyDataSearch.cpp b/Code/Mantid/Framework/ICat/src/CatalogMyDataSearch.cpp index cdf64f20d64a..b48b8ac7688a 100644 --- a/Code/Mantid/Framework/ICat/src/CatalogMyDataSearch.cpp +++ b/Code/Mantid/Framework/ICat/src/CatalogMyDataSearch.cpp @@ -1,9 +1,3 @@ -/*WIKI* - -This algorithm retrieves logged in users investigations data from the information catalog and stores it in mantid workspace. - -*WIKI*/ - #include "MantidICat/CatalogMyDataSearch.h" #include "MantidAPI/CatalogManager.h" diff --git a/Code/Mantid/Framework/ICat/src/CatalogPublish.cpp b/Code/Mantid/Framework/ICat/src/CatalogPublish.cpp index 72efd80a16e8..5671d093e157 100644 --- a/Code/Mantid/Framework/ICat/src/CatalogPublish.cpp +++ b/Code/Mantid/Framework/ICat/src/CatalogPublish.cpp @@ -1,17 +1,3 @@ -/*WIKI* - -This algorithm allows a user (who is logged into the information catalog) to publish -datafiles or workspaces to investigations of which they are an investigator. - -Datafiles and workspaces that are published are automatically made private. This means only investigators of that investigation can view them. - -'''Parameters Note''' - -* A file or workspace can be published, but not both at the same time. -* When uploading a workspace, it is saved to the default save directory as a nexus file. The history of of the workspace is generated and saved into a Python script, which is also uploaded alongside the datafile of the workspace. - -*WIKI*/ - #include "MantidICat/CatalogPublish.h" #include "MantidICat/CatalogAlgorithmHelper.h" diff --git a/Code/Mantid/Framework/ICat/src/CatalogSearch.cpp b/Code/Mantid/Framework/ICat/src/CatalogSearch.cpp index 240f17647d7b..ca3f251b9c40 100644 --- a/Code/Mantid/Framework/ICat/src/CatalogSearch.cpp +++ b/Code/Mantid/Framework/ICat/src/CatalogSearch.cpp @@ -1,9 +1,3 @@ -/*WIKI* - -This algorithm searches for the investigations and stores the search results in a table workspace. - -*WIKI*/ - #if GCC_VERSION >= 40800 // 4.8.0 GCC_DIAG_OFF(literal-suffix) #endif @@ -154,4 +148,3 @@ namespace Mantid } } - diff --git a/Code/Mantid/Framework/ISISLiveData/src/FakeISISEventDAE.cpp b/Code/Mantid/Framework/ISISLiveData/src/FakeISISEventDAE.cpp index c62bcf1d9cb3..6c5b12fbdb97 100644 --- a/Code/Mantid/Framework/ISISLiveData/src/FakeISISEventDAE.cpp +++ b/Code/Mantid/Framework/ISISLiveData/src/FakeISISEventDAE.cpp @@ -1,9 +1,3 @@ -/*WIKI* - -Simulates ISIS event DAE. It runs continuously until canceled and listens to port 10000 for connection. -When connected starts sending event packets. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -208,4 +202,3 @@ void FakeISISEventDAE::exec() } // namespace LiveData } // namespace Mantid - diff --git a/Code/Mantid/Framework/Kernel/CMakeLists.txt b/Code/Mantid/Framework/Kernel/CMakeLists.txt index 6063c3d3ff9b..e60d22d53aab 100644 --- a/Code/Mantid/Framework/Kernel/CMakeLists.txt +++ b/Code/Mantid/Framework/Kernel/CMakeLists.txt @@ -106,7 +106,7 @@ set ( SRC_UNITY_IGNORE_FILES src/Atom.cpp src/FileValidator.cpp src/DirectoryValidator.cpp src/PropertyManager.cpp - src/Unit.cpp + src/Unit.cpp src/System.cpp ) @@ -356,9 +356,9 @@ enable_precompiled_headers ( inc/MantidKernel/PrecompiledHeader.h SRC_FILES ) # Add the target for this directory add_library ( Kernel ${SRC_FILES} ${INC_FILES} ) # Set the name of the generated library -set_target_properties ( Kernel PROPERTIES OUTPUT_NAME MantidKernel +set_target_properties ( Kernel PROPERTIES OUTPUT_NAME MantidKernel COMPILE_DEFINITIONS "IN_MANTID_KERNEL;PSAPI_VERSION=1" ) - + # Add to the 'Framework' group in VS set_property ( TARGET Kernel PROPERTY FOLDER "MantidFramework" ) @@ -375,7 +375,7 @@ add_subdirectory ( test ) ########################################################################### # DON'T try to update the MantidVersion source file if we were not able to -# determine it from git and the file already exists. This makes sure the +# determine it from git and the file already exists. This makes sure the # version number is correct when building off the source tarball if ( NOT NOT_GIT_REPO OR NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/src/MantidVersion.cpp ) @@ -388,7 +388,7 @@ endif () # This section deals with creating the ParaViewVersion implementation ########################################################################### configure_file ( ${CMAKE_CURRENT_SOURCE_DIR}/src/ParaViewVersion.cpp.in - ${CMAKE_CURRENT_SOURCE_DIR}/src/ParaViewVersion.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/src/ParaViewVersion.cpp ) ########################################################################### @@ -408,7 +408,7 @@ set ( PV_PLUGINS "./pvplugins" ) set ( IGNORE_PARAVIEW "0" ) set ( QTPLUGINS "." ) set ( PYTHONPLUGIN_DIRS "${MANTID_ROOT}/Framework/PythonInterface/plugins" ) -set ( DATADIRS ${MANTID_ROOT}/../../Test/AutoTestData;${MANTID_ROOT}/instrument ) +set ( DATADIRS ${MANTID_ROOT}/../../Test/AutoTestData;${MANTID_ROOT}/../../Test/AutoTestData/UsageData;${MANTID_ROOT}/instrument ) set ( COLORMAPS_FOLDER ${MANTID_ROOT}/Installers/colormaps/ ) SET ( MANTIDPUBLISHER "http://upload.mantidproject.org/scriptrepository/payload/publish_debug" ) @@ -461,7 +461,7 @@ configure_file ( ../Properties/Mantid.properties.template # Then, at build time, copy into appropriate place add_custom_command ( TARGET Kernel POST_BUILD - COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different + COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different ${CMAKE_CURRENT_BINARY_DIR}/Mantid.properties ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${CMAKE_CFG_INTDIR} ) @@ -528,6 +528,6 @@ endif () configure_file ( ../Properties/Mantid.properties.template ${CMAKE_CURRENT_BINARY_DIR}/Mantid.properties.install ) -install ( FILES ${CMAKE_CURRENT_BINARY_DIR}/Mantid.properties.install +install ( FILES ${CMAKE_CURRENT_BINARY_DIR}/Mantid.properties.install DESTINATION ${BIN_DIR} RENAME Mantid.properties ) diff --git a/Code/Mantid/Framework/LiveData/src/FakeISISHistoDAE.cpp b/Code/Mantid/Framework/LiveData/src/FakeISISHistoDAE.cpp index ed6113c9135e..60aa58c2b6e1 100644 --- a/Code/Mantid/Framework/LiveData/src/FakeISISHistoDAE.cpp +++ b/Code/Mantid/Framework/LiveData/src/FakeISISHistoDAE.cpp @@ -1,8 +1,3 @@ -/*WIKI* - -Simulates ISIS histogram DAE. It runs continuously until canceled and listens to port 6789 for ISIS DAE commands. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -399,4 +394,3 @@ void FakeISISHistoDAE::exec() } // namespace LiveData } // namespace Mantid - diff --git a/Code/Mantid/Framework/LiveData/src/LoadLiveData.cpp b/Code/Mantid/Framework/LiveData/src/LoadLiveData.cpp index 8141279d7ab1..088a8f6f3fa7 100644 --- a/Code/Mantid/Framework/LiveData/src/LoadLiveData.cpp +++ b/Code/Mantid/Framework/LiveData/src/LoadLiveData.cpp @@ -1,60 +1,3 @@ -/*WIKI* - -This algorithm is called on a regular interval -by the [[MonitorLiveData]] algorithm. -'''It should not be necessary to call LoadLiveData directly.''' - -[[File:LoadLiveData_flow.png]] - -=== Data Processing === - -* Each time LoadLiveData is called, a chunk of data is loaded from the [[LiveListener]]. -** This consists of all the data collected since the previous call. -** The data is saved in a temporary [[workspace]]. -* You have two options on how to process this workspace: - -==== Processing with an Algorithm ==== - -* Specify the name of the algorithm in the ''ProcessingAlgorithm'' property. -** This could be, e.g. a [[Python Algorithm]] written for this purpose. -** The algorithm ''must'' have at least 2 properties: ''InputWorkspace'' and ''OutputWorkspace''. -** Any other properties are set from the string in ''ProcessingProperties''. -** The algorithm is then run, and its OutputWorkspace is saved. - -==== Processing with a Python Script ==== - -* Specify a python script in the ''ProcessingScript'' property. -** This can have several lines. -** Two variables have special meaning: -*** ''input'' is the input workspace. -*** ''output'' is the name of the processed, output workspace. -** Otherwise, your script can contain any legal python code including calls to other Mantid algorithms. -** If you create temporary workspaces, you should delete them in the script. - -=== Data Accumulation === - -* The ''AccumulationMethod'' property specifies what to do with each chunk. -** If you select 'Add', the chunks of processed data will be added using [[Plus]] or [[PlusMD]]. -** If you select 'Replace', then the output workspace will always be equal to the latest processed chunk. -** If you select 'Append', then the spectra from each chunk will be appended to the output workspace. - -
-==== A Warning About Events ==== - -Beware! If you select ''PreserveEvents'' and your processing keeps the data as [[EventWorkspace]]s, you may end -up creating '''very large''' EventWorkspaces in long runs. Most plots require re-sorting the events, -which is an operation that gets much slower as the list gets bigger (Order of N*log(N)). -This could cause Mantid to run very slowly or to crash due to lack of memory. -
- -=== Post-Processing Step === - -* Optionally, you can specify some processing to perform ''after'' accumulation. -** You then need to specify the ''AccumulationWorkspace'' property. -* Using either the ''PostProcessingAlgorithm'' or the ''PostProcessingScript'' (same way as above), the ''AccumulationWorkspace'' is processed into the ''OutputWorkspace'' - -*WIKI*/ - #include "MantidLiveData/LoadLiveData.h" #include "MantidLiveData/Exception.h" #include "MantidKernel/WriteLock.h" diff --git a/Code/Mantid/Framework/LiveData/src/MonitorLiveData.cpp b/Code/Mantid/Framework/LiveData/src/MonitorLiveData.cpp index 8194ef86c277..0d03495b03e1 100644 --- a/Code/Mantid/Framework/LiveData/src/MonitorLiveData.cpp +++ b/Code/Mantid/Framework/LiveData/src/MonitorLiveData.cpp @@ -1,16 +1,3 @@ -/*WIKI* - -The MonitorLiveData algorithm is started in the background -by [[StartLiveData]] and repeatedly calls [[LoadLiveData]]. -'''It should not be necessary to call MonitorLiveData directly.''' - -This algorithm simply calls [[LoadLiveData]] at the given ''UpdateFrequency''. -For more details, see [[StartLiveData]]. - -For details on the way to specify the data processing steps, see: [[LoadLiveData#Description|LoadLiveData]]. - -*WIKI*/ - #include "MantidLiveData/MonitorLiveData.h" #include "MantidKernel/System.h" #include "MantidLiveData/LoadLiveData.h" diff --git a/Code/Mantid/Framework/LiveData/src/StartLiveData.cpp b/Code/Mantid/Framework/LiveData/src/StartLiveData.cpp index 5157a2b79c78..3f8d80b25133 100644 --- a/Code/Mantid/Framework/LiveData/src/StartLiveData.cpp +++ b/Code/Mantid/Framework/LiveData/src/StartLiveData.cpp @@ -1,99 +1,3 @@ -/*WIKI* - -The StartLiveData algorithm launches a background job that monitors and processes live data. - -The background algorithm started is [[MonitorLiveData]], which simply calls [[LoadLiveData]] at a fixed interval. - -For details on the way to specify the data processing steps, see: [[LoadLiveData#Description|LoadLiveData]]. - -=== Live Plots === - -Once live data monitoring has started, you can open a plot in MantidPlot. For example, you can right-click a workspace and choose "Plot Spectra". - -As the data is acquired, this plot updates automatically. - -Another way to start plots is to use [[MantidPlot:_Help#Python_Scripting_in_MantidPlot|python MantidPlot commands]]. -The StartLiveData algorithm returns after the first chunk of data has been loaded and processed. -This makes it simple to write a script that will open a live plot. For example: - - -StartLiveData(UpdateEvery='1.0',Instrument='FakeEventDataListener', - ProcessingAlgorithm='Rebin',ProcessingProperties='Params=10e3,1000,60e3;PreserveEvents=1', - OutputWorkspace='live') -plotSpectrum('live', [0,1]) - - -=== Run Transition Behavior === - -* When the experimenter starts and stops a run, the Live Data Listener receives this as a signal. -* The ''RunTransitionBehavior'' property specifies what to do at these run transitions. -** Restart: the accumulated data (from the previous run if a run has just ended or from the time between runs a if a run has just started) is discarded as soon as the next chunk of data arrives. -** Stop: live data monitoring ends. It will have to be restarted manually. -** Rename: the previous workspaces are renamed, and monitoring continues with cleared ones. The run number, if found, is used to rename the old workspaces. -*** There is a check for available memory before renaming; if there is not enough memory, the old data is discarded. -* Note that LiveData continues monitoring even if outside of a run (i.e. before a run begins you will still receive live data). - -=== Multiple Live Data Sessions === - -It is possible to have multiple live data sessions running at the same time. -Simply call StartLiveData more than once, but make sure to specify unique -names for the ''OutputWorkspace''. - -Please note that you may be limited in how much simultaneous processing you -can do by your available memory and CPUs. - -*WIKI*/ -/*WIKI_USAGE_NO_SIGNATURE* -Here are some examples of usage of StartLiveData, most use the FakeEventDataListener so they will always work, but this can be swapped for any instrument such as OFFSPEC, GEM, HYSPEC etc. - -Note: After running each of these you will need to cancel the ongoing data loading by cancelling the MonitorLiveData algorithm. -You will find this by clicking the details button in the bottom left corner of Mantidplot. - -====Just Live Event Data==== - -StartLiveData(UpdateEvery='1.0',Instrument='FakeEventDataListener', - OutputWorkspace='live') - - -====Live Event Rebin using an algorithm and plotting==== - -StartLiveData(UpdateEvery='1.0',Instrument='FakeEventDataListener', - ProcessingAlgorithm='Rebin',ProcessingProperties='Params=10e3,1000,60e3;PreserveEvents=1', - OutputWorkspace='live') -plotSpectrum('live', [0,1]) - - -====Live Event Rebin using a python script==== -The script can be as simple or complicated as you want, -you have to call the input workspace input, and the output workspace at the end output. - -script='Rebin(InputWorkspace=input,OutputWorkspace=output,Params="40000,100,50000")' -StartLiveData(UpdateEvery='1.0',Instrument='FakeEventDataListener', - ProcessingScript=script,ProcessingProperties='Params=10e3,1000,60e3;PreserveEvents=1', - OutputWorkspace='live') -plotSpectrum('live', [0,1]) - - -====Live Event Pre and post processing==== -This uses rebin to select a region of time of flight, and then after -the data is accumulated it uses SumSpectra to sum all of the data into a single spectrum. -When using post processing you have to give the accumulation workspace a name. - -StartLiveData(UpdateEvery='1.0',Instrument='FakeEventDataListener', - ProcessingAlgorithm='Rebin',ProcessingProperties='Params=10e3,1000,60e3;PreserveEvents=1', - OutputWorkspace='live', AccumulationWorkspace="accumulation", - PostProcessingAlgorithm="SumSpectra",PostProcessingProperties="") -plotSpectrum('live', 0) - - -====Live Histogram Data and plotting==== -For Histogram data the accumulationMethod needs to be set to Replace, you will get a warning otherwise. - -StartLiveData(UpdateEvery='1.0',Instrument='OFFSPEC', - AccumulationMethod="Replace", OutputWorkspace='live') -plotSpectrum('live', [0,1]) - -*WIKI_USAGE_NO_SIGNATURE*/ #include "MantidLiveData/StartLiveData.h" #include "MantidKernel/System.h" #include "MantidLiveData/LoadLiveData.h" diff --git a/Code/Mantid/Framework/MDAlgorithms/src/AndMD.cpp b/Code/Mantid/Framework/MDAlgorithms/src/AndMD.cpp index f6eb61077e80..6899c89e1c6d 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/AndMD.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/AndMD.cpp @@ -1,19 +1,3 @@ -/*WIKI* - -Perform the And boolean operation on two MDHistoWorkspaces. -The & operation is performed element-by-element. -A signal of 0.0 means "false" and any non-zero signal is "true". - -*WIKI*/ -/*WIKI_USAGE* - - C = A & B - A &= B - -See [[MDHistoWorkspace#Boolean_Operations|this page]] for examples on using boolean operations. - -*WIKI_USAGE*/ - #include "MantidMDAlgorithms/AndMD.h" #include "MantidKernel/System.h" diff --git a/Code/Mantid/Framework/MDAlgorithms/src/BinMD.cpp b/Code/Mantid/Framework/MDAlgorithms/src/BinMD.cpp index e2b97f7f3183..48425eb9dbab 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/BinMD.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/BinMD.cpp @@ -1,78 +1,3 @@ -/*WIKI* - -This algorithm performs dense binning of the events in multiple dimensions of an input -[[MDEventWorkspace]] and places them into a dense MDHistoWorkspace with 1-4 dimensions. - -The input MDEventWorkspace may have more dimensions than the number of output dimensions. -The names of the dimensions in the DimX, etc. parameters are used to find the corresponding -dimensions that will be created in the output. - -An ImplicitFunction can be defined using the ImplicitFunctionXML parameter; -any points NOT belonging inside of the ImplicitFunction will be set as NaN (not-a-number). - -=== Axis-Aligned Binning === - -This is binning where the output axes are aligned with the original workspace. -Specify each of the AlignedDim0, etc. parameters with these values, separated by commas: -* First, the name of the dimension in the original workspace -* Next, the start and end position along that dimension -* Finally, the number of bins to use in that dimensions. - -If you specify fewer output dimensions, then events in the remaining dimensions -will be integrated along all space. If you wish to integrate only within a range, -then specify the start and end points, with only 1 bin. - -=== Non-Axis Aligned Binning === - -This allows rebinning to a new arbitrary space, with rotations, translations, -or skewing. This is given by a set of basis vectors and other parameters - -The '''BasisVector0...''' parameters allow you to specify the basis vectors -relating the input coordinates to the output coordinates. -They are string with these parameters, separated by commas: 'name, units, x,y,z,..,': -* Name: of the new dimension -* Units: string giving the units -* x, y, z, etc.: a vector, matching the number of dimensions, giving the direction of the basis vector - -The '''Translation''' parameter defines the translation between the spaces. -The coordinates are given in the input space dimensions, and they -correspond to 0,0,0 in the output space. - -The '''OutputExtents''' parameter specifies the min/max coordinates -''in the output coordinate'' space. For example, if you the output X to range -from -5 to 5, and output Y to go from 0 to 10, you would have: "-5,5, 0,10". - -The '''OutputBins''' parameter specifies how many bins to use in the output -workspace for each dimension. For example, "10,20,30" will make -10 bins in X, 20 bins in Y and 30 bins in Z. - -If the '''NormalizeBasisVectors''' parameter is '''True''', then the distances -in the ''input'' space are the same as in the ''output'' space (no scaling). -* For example, if BasisVector0=(1,1), a point at (1,1) transforms to x=\sqrt{2}, which is the same as the distance in the input dimension. - -If the '''NormalizeBasisVectors''' parameter is '''False''', then the algorithm -will take into account the ''length'' of each basis vector. -* For example, if BasisVector0=(1,1), a point at (1,1) transforms to x=1. The distance was scaled by 1/\sqrt{2} - -Finally, the '''ForceOrthogonal''' parameter will modify your basis vectors -if needed to make them orthogonal to each other. Only works in 3 dimensions! - -=== Binning a MDHistoWorkspace === - -It is possible to rebin a [[MDHistoWorkspace]]. -Each MDHistoWorkspace holds a reference to the [[MDEventWorkspace]] that created it, -as well as the coordinate transformation that was used. In this case, the rebinning is actually performed on the original MDEventWorkspace, -after suitably transforming the basis vectors. - -Only the non-axis aligned binning method can be performed on a MDHistoWorkspace! -Of course, your basis vectors can be aligned with the dimensions, which is equivalent. - -For more details on the coordinate transformations applied in this case, please see [[BinMD Coordinate Transformations]]. - -[[File:BinMD_Coordinate_Transforms_withLine.png]] - -*WIKI*/ - #include "MantidAPI/ImplicitFunctionFactory.h" #include "MantidGeometry/MDGeometry/MDBoxImplicitFunction.h" #include "MantidGeometry/MDGeometry/MDHistoDimension.h" diff --git a/Code/Mantid/Framework/MDAlgorithms/src/BinaryOperationMD.cpp b/Code/Mantid/Framework/MDAlgorithms/src/BinaryOperationMD.cpp index c462cd3f8389..8305bb9c08e0 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/BinaryOperationMD.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/BinaryOperationMD.cpp @@ -1,7 +1,3 @@ -/*WIKI* -Base class for other algorithms. -*WIKI*/ - #include "MantidMDAlgorithms/BinaryOperationMD.h" #include "MantidKernel/System.h" #include "MantidAPI/IMDWorkspace.h" diff --git a/Code/Mantid/Framework/MDAlgorithms/src/CentroidPeaksMD.cpp b/Code/Mantid/Framework/MDAlgorithms/src/CentroidPeaksMD.cpp index 1ef00b3af260..f2d7b4ee8240 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/CentroidPeaksMD.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/CentroidPeaksMD.cpp @@ -1,10 +1,3 @@ -/*WIKI* - - -This algorithm starts with a PeaksWorkspace containing the expected positions of peaks in reciprocal space. It calculates the centroid of the peak by calculating the average of the coordinates of all events within a given radius of the peak, weighted by the weight (signal) of the event. - - -*WIKI*/ #include "MantidKernel/System.h" #include "MantidKernel/ListValidator.h" #include "MantidAPI/IMDEventWorkspace.h" @@ -195,4 +188,3 @@ namespace MDAlgorithms } // namespace Mantid } // namespace MDEvents - diff --git a/Code/Mantid/Framework/MDAlgorithms/src/CentroidPeaksMD2.cpp b/Code/Mantid/Framework/MDAlgorithms/src/CentroidPeaksMD2.cpp index 6b956ae81894..13d7cef67254 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/CentroidPeaksMD2.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/CentroidPeaksMD2.cpp @@ -1,10 +1,3 @@ -/*WIKI* - - -This algorithm starts with a PeaksWorkspace containing the expected positions of peaks in reciprocal space. It calculates the centroid of the peak by calculating the average of the coordinates of all events within a given radius of the peak, weighted by the weight (signal) of the event. - - -*WIKI*/ #include "MantidKernel/System.h" #include "MantidKernel/ListValidator.h" #include "MantidAPI/IMDEventWorkspace.h" @@ -185,4 +178,3 @@ namespace MDAlgorithms } // namespace Mantid } // namespace MDEvents - diff --git a/Code/Mantid/Framework/MDAlgorithms/src/CloneMDWorkspace.cpp b/Code/Mantid/Framework/MDAlgorithms/src/CloneMDWorkspace.cpp index ba496eea8fb7..ce86bde09e1a 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/CloneMDWorkspace.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/CloneMDWorkspace.cpp @@ -1,17 +1,3 @@ -/*WIKI* - -This algorithm will clones an existing [[MDEventWorkspace]] or [[MDHistoWorkspace]] into a new one. - -If the InputWorkspace is a file-backed MDEventWorkspace, then the algorithm -will copy the original file into a new one with the suffix '_clone' added to its filename, in the same directory. -Before the clone operation, the file back-end will be updated using [[SaveMD]] with UpdateFileBackEnd=True. -This may delay the operation. - -If you wish to clone a file-backed MDEventWorkspace to an in-memory MDEventWorkspace, we -recommend that you first call [[SaveMD]] with UpdateFileBackEnd=True (if necessary), -followed by a simple LoadMD call to the file in question. - -*WIKI*/ #include "MantidAPI/IMDEventWorkspace.h" #include "MantidKernel/System.h" #include "MantidMDEvents/MDEventFactory.h" @@ -164,4 +150,3 @@ namespace MDAlgorithms } // namespace Mantid } // namespace MDEvents - diff --git a/Code/Mantid/Framework/MDAlgorithms/src/CompareMDWorkspaces.cpp b/Code/Mantid/Framework/MDAlgorithms/src/CompareMDWorkspaces.cpp index 06b923139b8a..949e16e0408b 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/CompareMDWorkspaces.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/CompareMDWorkspaces.cpp @@ -1,17 +1,3 @@ -/*WIKI* - -Compare two MDWorkspaces ([[MDEventWorkspace]] or [[MDHistoWorkspace]]) to see -if they are the same. This is mostly meant for testing/debugging use by -developers. - -'''What is compared''': The dimensions, as well as the signal and error for each -bin of each workspace will be compared. - -'''[[MDEventWorkspace]]''': the events in each box will be compared if the ''CheckEvents'' -option is checked. The events would need to be in the same order to match. - -*WIKI*/ - #include "MantidAPI/IMDEventWorkspace.h" #include "MantidAPI/IMDWorkspace.h" #include "MantidKernel/Strings.h" diff --git a/Code/Mantid/Framework/MDAlgorithms/src/ConvertToDetectorFaceMD.cpp b/Code/Mantid/Framework/MDAlgorithms/src/ConvertToDetectorFaceMD.cpp index 2edf51f61985..c04944cbefb6 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/ConvertToDetectorFaceMD.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/ConvertToDetectorFaceMD.cpp @@ -1,39 +1,3 @@ -/*WIKI* - -This algorithm takes a a [[MatrixWorkspace]] and converts it into -a [[MDEventWorkspace]] that can be viewed in the [[SliceViewer]]. - -The algorithm currently only works for instruments with [[RectangularDetectors]]. -The coordinates of the output workspace are: - -* Pixel X coordinate (integer starting at 0) -* Pixel Y coordinate (integer starting at 0) -* The center of the bin of the spectrum in that pixel (e.g. time-of-flight) - -Each MDEvent created has a weight given by the number of counts in that bin. -Zero bins are not converted to events (saving memory). - -Once created, the [[MDEventWorkspace]] can be viewed in the [[SliceViewer]]. -It can also be rebinned with different parameters using [[BinMD]]. -This allows you to view the data in detector-space. For example, -you might use this feature to look at your detector's sensitivity as a function -of position, as well as a function of TOF. -You can also do line plots of the data. -See this screenshot for example: - -[[File:SliceViewer-DetectorFace.png|500px]] - -==== BankNumbers Parameter ==== - -If your instrument has several [[RectangularDetectors]], you can use the ''BankNumbers'' property -to specify which one(s) to convert. The algorithm looks for RectangularDetectors with the name 'bankXX' -where XX is the bank number. - -If you specify more than one bank number, then the algorithm will create a 4D MDEventWorkspace. -The fourth dimension will be equal to the bank number, allowing you to easily pick a bank to view. - -*WIKI*/ - #include "MantidMDAlgorithms/ConvertToDetectorFaceMD.h" #include "MantidKernel/System.h" #include "MantidAPI/IMDEventWorkspace.h" diff --git a/Code/Mantid/Framework/MDAlgorithms/src/ConvertToDiffractionMDWorkspace.cpp b/Code/Mantid/Framework/MDAlgorithms/src/ConvertToDiffractionMDWorkspace.cpp index b96b3fd151cf..08555533f1cc 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/ConvertToDiffractionMDWorkspace.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/ConvertToDiffractionMDWorkspace.cpp @@ -1,62 +1,3 @@ -/*WIKI* - -This algorithm converts from a [[MatrixWorkspace]] (in detector/time-of-flight space) to a -[[MDEventWorkspace]] containing events in reciprocal space. - -The calculations apply only to elastic diffraction experiments. -The conversion can be done either to Q-space in the lab or sample frame, or to HKL of the crystal. - -If the OutputWorkspace does NOT already exist, a default one is created. -In order to define more precisely the parameters of the [[MDEventWorkspace]], -use the [[CreateMDWorkspace]] algorithm first. - -==== Types of Conversion ==== - -* '''Q (lab frame)''': this calculates the momentum transfer (ki-kf) for each event is calculated in the experimental lab frame. -* '''Q (sample frame)''': the goniometer rotation of the sample is taken out, to give Q in the frame of the sample. See [[SetGoniometer]] to specify the goniometer used in the experiment. -* '''HKL''': uses the UB matrix (see [[SetUB]], [[FindUBUsingFFT]] and others) to calculate the HKL Miller indices of each event. - -==== Lorentz Correction ==== - -If selected, the following Lorentz correction factor is applied on each event -by multiplying its weight by L: - -L = \frac{ sin(\theta)^2 } { \lambda^{4} } - -Where \theta is ''half'' of the neutron scattering angle (conventionally called 2\theta). -\lambda is the neutron wavelength in ''Angstroms''. - -This correction is also done by the [[AnvredCorrection]] algorithm, and will be set to false if -that algorithm has been run on the input workspace. - -==== OneEventPerBin option ==== - -If you specify ''OneEventPerBin'', then the '''histogram''' representation of the input workspace is used, -with one MDEvent generated for each bin of the workspace, '''including zeros'''. - -This can be useful in cases where the experimental coverage needs to be tracked. With one MDEvent for each -bin, you can count which regions in Q-space have been measured. The [[SliceViewer]] has an option -to view normalized by number of events. This means that, for example, areas with overlap from two runs -will appear scaled down. - -A significant drawback to this is that the output MDEventWorkspace will be ''significantly'' larger than the -events alone would be. It currently must be created in physical memory (it cannot yet be cached to disk). -One way to limit the memory used is to limit the OutputExtents to a smaller region and only convert -part of the space. - -Also, the [[FindPeaksMD]] algorithm may not work optimally because it depends partly on higher density of -events causing more finely split boxes. - -If your input is a [[Workspace2D]] and you do NOT check ''OneEventPerBin'', then the workspace is converted -to an [[EventWorkspace]] but with no events for empty bins. - -==== Performance Notes ==== - -* 8-core Intel Xeon 3.2 GHz computer: measured between 4 and 5.5 million events per second (100-200 million event workspace). -* 32-core AMD Opteron 2.7 GHz computer: measured between 8 and 9 million events per second (400-1000 million event workspaces). - -*WIKI*/ - #include "MantidAPI/IMDEventWorkspace.h" #include "MantidAPI/Progress.h" #include "MantidAPI/WorkspaceValidators.h" @@ -632,4 +573,3 @@ namespace MDAlgorithms } // namespace Mantid } // namespace MDEvents - diff --git a/Code/Mantid/Framework/MDAlgorithms/src/ConvertToDiffractionMDWorkspace2.cpp b/Code/Mantid/Framework/MDAlgorithms/src/ConvertToDiffractionMDWorkspace2.cpp index 048595244533..2435c2245352 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/ConvertToDiffractionMDWorkspace2.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/ConvertToDiffractionMDWorkspace2.cpp @@ -1,62 +1,3 @@ -/*WIKI* - -This algorithm converts from a [[MatrixWorkspace]] (in detector/time-of-flight space) to a -[[MDEventWorkspace]] containing events in reciprocal space. - -The calculations apply only to elastic diffraction experiments. -The conversion can be done either to Q-space in the lab or sample frame, or to HKL of the crystal. - -If the OutputWorkspace does NOT already exist, a default one is created. -In order to define more precisely the parameters of the [[MDEventWorkspace]], -use the [[CreateMDWorkspace]] algorithm first. - -==== Types of Conversion ==== - -* '''Q (lab frame)''': this calculates the momentum transfer (ki-kf) for each event is calculated in the experimental lab frame. -* '''Q (sample frame)''': the goniometer rotation of the sample is taken out, to give Q in the frame of the sample. See [[SetGoniometer]] to specify the goniometer used in the experiment. -* '''HKL''': uses the UB matrix (see [[SetUB]], [[FindUBUsingFFT]] and others) to calculate the HKL Miller indices of each event. - -==== Lorentz Correction ==== - -If selected, the following Lorentz correction factor is applied on each event -by multiplying its weight by L: - -L = \frac{ sin(\theta)^2 } { \lambda^{4} } - -Where \theta is ''half'' of the neutron scattering angle (conventionally called 2\theta). -\lambda is the neutron wavelength in ''Angstroms''. - -This correction is also done by the [[AnvredCorrection]] algorithm, and will be set to false if -that algorithm has been run on the input workspace. - -==== OneEventPerBin option ==== - -If you specify ''OneEventPerBin'', then the '''histogram''' representation of the input workspace is used, -with one MDEvent generated for each bin of the workspace, '''including zeros'''. - -This can be useful in cases where the experimental coverage needs to be tracked. With one MDEvent for each -bin, you can count which regions in Q-space have been measured. The [[SliceViewer]] has an option -to view normalized by number of events. This means that, for example, areas with overlap from two runs -will appear scaled down. - -A significant drawback to this is that the output MDEventWorkspace will be ''significantly'' larger than the -events alone would be. It currently must be created in physical memory (it cannot yet be cached to disk). -One way to limit the memory used is to limit the OutputExtents to a smaller region and only convert -part of the space. - -Also, the [[FindPeaksMD]] algorithm may not work optimally because it depends partly on higher density of -events causing more finely split boxes. - -If your input is a [[Workspace2D]] and you do NOT check ''OneEventPerBin'', then the workspace is converted -to an [[EventWorkspace]] but with no events for empty bins. - -==== Performance Notes ==== - -* 8-core Intel Xeon 3.2 GHz computer: measured between 4 and 5.5 million events per second (100-200 million event workspace). -* 32-core AMD Opteron 2.7 GHz computer: measured between 8 and 9 million events per second (400-1000 million event workspaces). - -*WIKI*/ - #include "MantidMDAlgorithms/ConvertToDiffractionMDWorkspace2.h" #include "MantidAPI/Algorithm.h" @@ -297,4 +238,3 @@ namespace MDAlgorithms } // namespace Mantid } // namespace MDEvents - diff --git a/Code/Mantid/Framework/MDAlgorithms/src/ConvertToMD.cpp b/Code/Mantid/Framework/MDAlgorithms/src/ConvertToMD.cpp index 7f5a1d4f1f8b..2fb955ba0b80 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/ConvertToMD.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/ConvertToMD.cpp @@ -1,140 +1,3 @@ -/*WIKI* - -== Used Subalgorithms == - -The algorithm uses [[Unit_Factory|Unit Factory ]] and existing unit conversion procedures from input Workspace Units to the Units, necessary for transformation into correspondent MD Event workspace. It also uses [[PreprocessDetectorsToMD]] algorithm to help with transformation to reciprocal space. - -If min, max or both lists of values (properties 12 and 13) for the algorithm are not specified, [[ConvertToMDMinMaxLocal]] is used to estimate missing min-max values. This algorithm is also used to calculate min-max values if specified min-max values are deemed incorrect (e.g. less values then dimensions or some min values are bigger then max values) -== Notes == -
    -
  1. For elastic analysis ( dEAnalysisMode=Elastic) the target [[units|unit]] is momentum k. -
  2. For no analysis (CopyToMD) mode, the units remain the one, previously defined along the workspace's axes. -
  3. When units of input Matrix 2D workspace (Histogram workspace) are not Momentums for Elastic or EnergyTransfer for inelastic mode, the algorithm uses internal unit conversion of input X-values based on central average of a bin ranges. Namely, value X_c = 0.5*(X_i+X_{i+1}) is calculated and converted to Momentum or EnergyTransfer correspondingly. This can give slightly different result from the case, when input workspace has been converted into correspondent units before converting to MDEvents. -
  4. Confusing message "Error in execution of algorithm ConvertToMD: emode must be equal to 1 or 2 for energy transfer calculation" is generated when one tries to process the results of inelastic scattering experiment in elastic mode. This message is generated by units conversion routine, which finds out that one of the workspace axis is in [[units|unit]] of DeltaE. These units can not be directly converted into momentum or energy, necessary for elastic mode. Select Direct or Indirect mode and integrate over whole energy transfer range to obtain MD workspace, which would correspond to an Elastic mode. -
  5. A good guess on the limits can be obtained from the [[ConvertToMDMinMaxLocal]] algorithm. -
- - -== How to write custom ConvertToMD plugin == - -This information intended for developers who have at least basic knowledge of C++ and needs to write its own [[Writing custom ConvertTo MD transformation |convertToMD plugin]]. - -== Usage examples == -The examples below demonstrate the usages of the algorithm in most common situations. They work with the data files which already used by Mantid for different testing tasks. - -=== Convert re-binned MARI 2D workspace to 3D MD workspace for further analysis/merging with data at different temperatures === - -
- - -Load(Filename='MAR11001.nxspe',OutputWorkspace='MAR11001') -SofQW3(InputWorkspace='MAR11001',OutputWorkspace='MAR11001Qe2',QAxisBinning='0,0.1,7',EMode='Direct') -AddSampleLog(Workspace='MAR11001Qe2',LogName='T',LogText='100.0',LogType='Number Series') - -ConvertToMD(InputWorkspace='MAR11001Qe2',OutputWorkspace='MD3',QDimensions='CopyToMD',OtherDimensions='T',\ -MinValues='-10,0,0',MaxValues='10,6,500',SplitInto='50,50,5') - - -
-Output '''MD3''' workspace can be viewed in slice-viewer as 3D workspace with T-axis having single value. - -=== Convert Set of Event Workspaces (Horace scan) to 4D MD workspace, direct mode: === - -This example is based on CNCS_7860_event.nxs file, available in Mantid test folder. The same script without any changes would produce similar MD workspace given histogram data obtained from inelastic instruments and stored in nxspe files. - -
- -# let's load test event workspace, which has been already preprocessed and available in Mantid Test folder -WS_Name='CNCS_7860_event' -Load(Filename=WS_Name,OutputWorkspace=WS_Name) -# this workspace has been obtained from an inelastic experiment with input energy Ei = 3. -# Usually this energy is stored in workspace -# but if it is not, we have to provide it for inelastic conversion to work. -AddSampleLog(Workspace=WS_Name,LogName='Ei',LogText='3.0',LogType='Number') -# -# set up target ws name and remove target workspace with the same name which can occasionally exist. -RezWS = 'WS_4D' -try: -DeleteWorkspace(RezWS) -except ValueError: -print "Target ws ",RezWS," not found in analysis data service\n" -# -#---> Start loop over contributing files -for i in range(0,20,5): -# the following operations simulate different workspaces, obtained from experiment using rotating crystal; -# For real experiment we usually just load these workspaces from nxspe files with proper Psi values defined there -# and have to set up ub matrix -SourceWS = 'SourcePart'+str(i) -# it should be : -# Load(Filename=SourceWS_fileName,OutputWorkspace=WS_SourceWS) -# here, but the test does not have these data so we emulate the data by the following rows: -# ws emulation begin ----> -CloneWorkspace(InputWorkspace=WS_Name,OutputWorkspace=SourceWS) -# using scattering on a crystal with cubic lattice and 1,0,0 direction along the beam. -SetUB(Workspace=SourceWS,a='1.4165',b='1.4165',c='1.4165',u='1,0,0',v='0,1,0') -# rotated by proper number of degrees around axis Y -AddSampleLog(Workspace=SourceWS,LogName='Psi',LogText=str(i),LogType='Number Series') -SetGoniometer(Workspace=SourceWS,Axis0='Psi,0,1,0,1') -# ws emulation, end --------------------------------------------------------------------------------------- - -ConvertToMD(InputWorkspace=SourceWS,OutputWorkspace=RezWS,QDimensions='Q3D',QConversionScales='HKL',\ -OverwriteExisting=0,\ -dEAnalysisMode='Direct',MinValues='-3,-3,-3,-1',MaxValues='3,3,3,3',\ -SplitInto="20,20,1,1") -# delete source workspace from memory; -DeleteWorkspace(SourceWS) -#---> End loop -# plot results using sliceviewer -plotSlice(RezWS, xydim=["[H,0,0]","[0,K,0]"], slicepoint=[0,0] ) - -
- -=== Convert set of inelastic results obtained in Powder mode (direct) as function of temperature to a 3D workspace: === - -The test example is based on MAR1011.nxspe data file, obtained by reducing test data from the MARI experiment. The data for the experiment can be located in [http://github.com/mantidproject/systemtests Mantid system test] folder. The text will produce 3-dimensional dataset, with temperature axis. The image does not change with temperature, as we have just cloned initial workspace without any changes to the experimental data. - -
- -# let's load test event workspace, which has been already preprocessed and available in Mantid Test folder -WS_Name='MAR11001.nxspe' -Load(Filename=WS_Name,OutputWorkspace=WS_Name) -# this workspace has been obtained from an inelastic experiment with input energy -# nxspe file has input energy stored in it so no need to add energy artificially -#AddSampleLog(Workspace=WS_Name,LogName='Ei',LogText='3.0',LogType='Number') - -# set up target ws name and remove target workspace with the same name which can occasionally exist. -RezWS = 'WS_3D' -try: -DeleteWorkspace(RezWS) -except ValueError: -print "Target ws ",RezWS," not found in analysis data service\n" -i=0 -# let's assume this is the temperature range obtained in experiments and -# each data file is obtained for particular temperature. -T = [1.0,1.5,2.0,2.5,3.0,3.5,4.0,4.5,5.0,5.5,6.0,6.5,7.0,7.5,8.0,8.5,9.0,9.5,10.0] -for i in range(0,len(T),1): -# EMULATE LOAD OF DIFFERENT results obtained for different temperatures. ------> -SourceWS = 'SourcePart'+str(i) -# Load(Filename=WS_Name,OutputWorkspace=WS_Name) -CloneWorkspace(InputWorkspace=WS_Name,OutputWorkspace=SourceWS) -# Each workspace has the temperature from the list above associated with it through the correspondent log file -AddSampleLog(Workspace=SourceWS,LogName='T',LogText=str(T[i]),LogType='Number Series') -# END EMULATION --------------------------------------------------------------------- - -ConvertToMD(InputWorkspace=SourceWS,OutputWorkspace=RezWS,QDimensions='|Q|',OverwriteExisting=0,\ -dEAnalysisMode='Direct',OtherDimensions='T',PreprocDetectorsWS='DetWS', -MinValues='0,-10,0',MaxValues='12,10,10',SplitInto="100,100,20") -# delete source workspace from memory; -DeleteWorkspace(SourceWS) - -plotSlice(RezWS, xydim=["|Q|","DeltaE"], slicepoint=[0,0] ) - - -
- - -*WIKI*/ - #include "MantidMDAlgorithms/ConvertToMD.h" #include "MantidKernel/PhysicalConstants.h" @@ -724,5 +587,3 @@ namespace Mantid } // namespace Mantid } // namespace MDAlgorithms - - diff --git a/Code/Mantid/Framework/MDAlgorithms/src/ConvertToMDMinMaxGlobal.cpp b/Code/Mantid/Framework/MDAlgorithms/src/ConvertToMDMinMaxGlobal.cpp index 7e96177db826..d639e1220f37 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/ConvertToMDMinMaxGlobal.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/ConvertToMDMinMaxGlobal.cpp @@ -1,17 +1,3 @@ -/*WIKI* -The algorithm will try to calculate the MinValues and MaxValues limits that are required in the ConvertToMD algorithm, using the following procedure: - -* If QDimensions is CopyToMD the first value in MinValues is going to be the workspace minimum X coordinate, and the first value in MaxValues is going to be the maximum X coordinate -* If QDimensions is |Q| or Q3D, first we calculate the maximum momentum transfer, Qmax. If dEAnalysisMode is Elastic, we convert to Momentum units, find the maximum value, and multiply by 2, since the maximum momentum transfer occurs when the incident beam and the scattered beam are anti-parallel. -* If dEAnalysisMode is Direct or Indirect, we convert to DeltaE units, find the minimum and maximum (dEmin, dEmax), calculate to ki and kf. The maximum momentum transfer is ki+kf. -* If QDimensions is |Q|, the first value of the MinValues is 0, and the first value of MaxValues is Qmax -* If QDimensions is Q3D, and Q3DFrames is Q the first three values of the MinValues are -Qmax, -Qmax, -Qmax, and the first three values of MaxValues are Qmax, Qmax, Qmax -* If QDimensions is Q3D, and Q3DFrames is HKL the first three values of the MinValues are -Qmax*a/(2*pi), -Qmax*b/(2*pi), -Qmax*c/(2*pi), and the first three values of MaxValues are Qmax*a/(2*pi), Qmax*b/(2*pi), Qmax*c/(2*pi). Note: for HKL mode one needs to have an OrientedLattice attached to the sample. -* If QDimensions is |Q| or Q3D, and dEAnalysisMode is Elastic or Inelastic, the next value in MinValues is dEmin, and the next value in MaxValues is dEmax -* If any OtherDimensions are added, the last values in MinValues (MaxValues) are the minimum (maximum) of each of the sample log values selected - -*WIKI*/ - #include "MantidMDAlgorithms/ConvertToMDMinMaxGlobal.h" #include "MantidAPI/WorkspaceValidators.h" #include "MantidKernel/ListValidator.h" diff --git a/Code/Mantid/Framework/MDAlgorithms/src/ConvertToMDMinMaxLocal.cpp b/Code/Mantid/Framework/MDAlgorithms/src/ConvertToMDMinMaxLocal.cpp index 8d48d572a0a9..2992b0c524f9 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/ConvertToMDMinMaxLocal.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/ConvertToMDMinMaxLocal.cpp @@ -1,21 +1,3 @@ -/*WIKI* -Helper algorithm to calculate min-max input values for ConvertToMD algorithm, using ConvertToMD algorithm factory. - -Initiates the same as ConvertToMD algorithm transformation from the ConvertToMD factory and uses this transformation to evaluate all points where -the transformation can achieve extrema for each workspace spectra. Then goes through all extrema points, calculates min/max values for each spectra -and select global min-max values for the whole workspace. - -For example, given input workspace in the units of energy transfer and requesting |Q| inelastic transformation, the algorithm looks through -all spectra of the input workspace and identifies minimal, maximal and an extremal* energy transfer for the input spectra. -Then it runs |Q| dE conversion for these energy transfer points and loops through all spectra of the workspace to identify |Q|_min, |Q|_max -and dE_min and dE_max values. - -*extremal energy transfer for |Q| transformation occurs at some energy transfer where momentum transfer is maximal. It depends on polar - - -*WIKI*/ - - #include "MantidMDAlgorithms/ConvertToMDMinMaxLocal.h" #include "MantidKernel/ArrayProperty.h" diff --git a/Code/Mantid/Framework/MDAlgorithms/src/CreateMDHistoWorkspace.cpp b/Code/Mantid/Framework/MDAlgorithms/src/CreateMDHistoWorkspace.cpp index 65e95cabf177..d087d29d6b12 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/CreateMDHistoWorkspace.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/CreateMDHistoWorkspace.cpp @@ -1,33 +1,3 @@ -/*WIKI* -Takes two arrays of signal and error values, as well as information describing the dimensionality and extents, and creates a MDHistoWorkspace (histogrammed multi-dimensional workspace). The ''SignalInput'' and ''ErrorInput'' arrays must be of equal length and have a length that is equal to the product of all the comma separated arguments provided to '''NumberOfBins'''. The order in which the arguments are specified to each of the properties (for those taking multiple arguments) is important, as they are assumed to match by the order they are declared. For example, specifying '''Names'''='A,B' and '''Units'''='U1,U2' will generate two dimensions, the first with a name of ''A'' and units of ''U1'' and the second with a name of ''B'' and units of ''U2''. The same logic applies to the '''Extents''' inputs. Signal and Error inputs are read in such that, the first entries in the file will be entered across the first dimension specified, and the zeroth index in the other dimensions. The second set of entries will be entered across the first dimension and the 1st index in the second dimension, and the zeroth index in the others. - -== Alternatives == -A very similar algorithm to this is [[ImportMDHistoWorkspace]], which takes it's input signal and error values from a text file rather than from arrays. Another alternative is to use [[ConvertToMD]] which works on MatrixWorkspaces, and allows log values to be included in the dimensionality. - -*WIKI*/ -/*WIKI_USAGE* -The following example creates a 2D MDHistoWorkspace called ''demo'' with 3 bins in each dimension and and extents spanning from -1 to 1 in each dimension. The first dimension is called A, and has units of U, the second is called B and has units of T. - - CreateMDHistoWorkspace(SignalInput='1,2,3,4,5,6,7,8,9',ErrorInput='1,1,1,1,1,1,1,1,1',Dimensionality='2',Extents='-1,1,-1,1',NumberOfBins='3,3',Names='A,B',Units='U,T',OutputWorkspace='demo') - -The following example creates a 1D sine function - - import math - - signals=[] - errors=[] - pi = 3.14159 - extents = [-2*pi,2*pi] - nbins = [100] - dimensionality = 1 - step = float((extents[1] - extents[0])/nbins[0]) - for i in range(0, nbins[0]): - x = i*step; - signals.append(math.sin(x)) - errors.append(math.cos(x)) - CreateMDHistoWorkspace(SignalInput=signals,ErrorInput=errors,Dimensionality=dimensionality,Extents=extents,NumberOfBins=nbins,Names='x',Units='dimensionless',OutputWorkspace='demo') -*WIKI_USAGE*/ - #include "MantidMDAlgorithms/CreateMDHistoWorkspace.h" #include "MantidKernel/ArrayProperty.h" #include diff --git a/Code/Mantid/Framework/MDAlgorithms/src/CreateMDWorkspace.cpp b/Code/Mantid/Framework/MDAlgorithms/src/CreateMDWorkspace.cpp index f20b77b1182e..46cbae765502 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/CreateMDWorkspace.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/CreateMDWorkspace.cpp @@ -1,20 +1,3 @@ -/*WIKI* - -This algorithm creates an empty MDEventWorkspace from scratch. The workspace can have any number of dimensions (up to ~20). -Each dimension must have its name, units, extents specified as comma-spearated string. - -The SplitInto parameter determines how splitting of dense boxes will be performed. -For example, if SplitInto=5 and the number of dimensions is 3, then each box will get split into 5x5x5 sub-boxes. - -The SplitThreshold parameter determines how many events to keep in a box before splitting it into sub-boxes. -This value can significantly affect performance/memory use! -Too many events per box will mean unnecessary iteration and a slowdown in general. -Too few events per box will waste memory with the overhead of boxes. - -You can create a file-backed MDEventWorkspace by specifying the Filename and Memory parameters. - -*WIKI*/ - #include "MantidAPI/FileProperty.h" #include "MantidAPI/IMDEventWorkspace.h" #include "MantidGeometry/MDGeometry/MDHistoDimension.h" @@ -203,4 +186,3 @@ namespace MDAlgorithms } // namespace Mantid } // namespace MDEvents - diff --git a/Code/Mantid/Framework/MDAlgorithms/src/DivideMD.cpp b/Code/Mantid/Framework/MDAlgorithms/src/DivideMD.cpp index 7b887fcb90f6..92b385ab29fa 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/DivideMD.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/DivideMD.cpp @@ -1,28 +1,3 @@ -/*WIKI* -Divide two [[MDHistoWorkspace]]'s or a MDHistoWorkspace and a scalar. - -The error of f = a / b is propagated with df^2 = f^2 * (da^2 / a^2 + db^2 / b^2) - -* '''MDHistoWorkspace / MDHistoWorkspace''' -** The operation is performed element-by-element. -* '''MDHistoWorkspace / Scalar''' -** Every element of the MDHistoWorkspace is divided by the scalar. -* '''Scalar / MDHistoWorkspace''' -** This is not allowed. -* '''[[MDEventWorkspace]]'s''' -** This operation is not supported, as it is not clear what its meaning would be. - -*WIKI*/ -/*WIKI_USAGE* - - C = A / B - C = A / 123.4 - A /= B - A /= 123.4 - -See [[MDHistoWorkspace#Arithmetic_Operations|this page]] for examples on using arithmetic operations. -*WIKI_USAGE*/ - #include "MantidMDAlgorithms/DivideMD.h" #include "MantidKernel/System.h" #include "MantidMDEvents/MDEventFactory.h" diff --git a/Code/Mantid/Framework/MDAlgorithms/src/EqualToMD.cpp b/Code/Mantid/Framework/MDAlgorithms/src/EqualToMD.cpp index ab239e9289e5..a27ca7d6f1bb 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/EqualToMD.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/EqualToMD.cpp @@ -1,16 +1,3 @@ -/*WIKI* - -Perform the == (equals to) boolean operation on two MDHistoWorkspaces or a MDHistoWorkspace and a scalar. -The output workspace has a signal of 0.0 to mean "false" and a signal of 1.0 to mean "true". Errors are 0. - -For two MDHistoWorkspaces, the operation is performed element-by-element. Only the signal is compared. - -For a MDHistoWorkspace and a scalar, the operation is performed on each element of the output. - -*WIKI*/ -/*WIKI_USAGE* -See [[MDHistoWorkspace#Boolean_Operations|this page]] for examples on using boolean operations. -*WIKI_USAGE*/ #include "MantidMDAlgorithms/EqualToMD.h" #include "MantidKernel/System.h" diff --git a/Code/Mantid/Framework/MDAlgorithms/src/ExponentialMD.cpp b/Code/Mantid/Framework/MDAlgorithms/src/ExponentialMD.cpp index e12a28616fdf..18b15eb5bac1 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/ExponentialMD.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/ExponentialMD.cpp @@ -1,15 +1,3 @@ -/*WIKI* - -This executes the exponential function on a MDHistoWorkspace. - -The signal a becomes f = e^a - -The error da becomes df^2 = f^2 * da^2 - -This algorithm cannot be run on a [[MDEventWorkspace]]. Its equivalent on a [[MatrixWorkspace]] is called [[Exponential]]. - -*WIKI*/ - #include "MantidMDAlgorithms/ExponentialMD.h" #include "MantidKernel/System.h" diff --git a/Code/Mantid/Framework/MDAlgorithms/src/FakeMDEventData.cpp b/Code/Mantid/Framework/MDAlgorithms/src/FakeMDEventData.cpp index 4a1a4985e29f..9ea9dfc19e49 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/FakeMDEventData.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/FakeMDEventData.cpp @@ -1,13 +1,3 @@ -/*WIKI* - - - -For testing MDEventWorkspaces, this algorithm either creates a uniform, random distribution of events, -or generate regular events placed in boxes, or fills peaks around given points with a given number of events. - - - -*WIKI*/ #include "MantidKernel/ArrayProperty.h" #include "MantidKernel/System.h" #include "MantidMDAlgorithms/FakeMDEventData.h" @@ -466,4 +456,3 @@ namespace MDAlgorithms } // namespace Mantid } // namespace MDEvents - diff --git a/Code/Mantid/Framework/MDAlgorithms/src/FindPeaksMD.cpp b/Code/Mantid/Framework/MDAlgorithms/src/FindPeaksMD.cpp index bd3b61e35932..91dfc1f4fbba 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/FindPeaksMD.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/FindPeaksMD.cpp @@ -1,25 +1,3 @@ -/*WIKI* - - -This algorithm is used to find single-crystal peaks in a multi-dimensional workspace ([[MDEventWorkspace]] or [[MDHistoWorkspace]]). -It looks for high signal density areas, and is based on an algorithm designed by Dennis Mikkelson for ISAW. - -The algorithm proceeds in this way: -* Sorts all the boxes in the workspace by decreasing order of signal density (total weighted event sum divided by box volume). -** It will skip any boxes with a density below a threshold. The threshold is TotalSignal / TotalVolume * DensityThresholdFactor. -* The centroid of the strongest box is considered a peak. -* The centroid of the next strongest box is calculated. -** We look through all the peaks that have already been found. If the box is too close to an existing peak, it is rejected. This distance is PeakDistanceThreshold. -* This is repeated until we find up to MaxPeaks peaks. - -Each peak created is placed in the output [[PeaksWorkspace]], which can be a new workspace or replace the old one. - -This algorithm works on a [[MDHistoWorkspace]] resulting from the [[BinMD]] algorithm also. -It works in the same way, except that the center of each bin is used since the centroid is not accessible. -It may give better results on [[Workspace2D]]'s that were converted to [[MDWorkspace]]s. - -*WIKI*/ - #include "MantidDataObjects/PeaksWorkspace.h" #include "MantidKernel/System.h" #include "MantidMDAlgorithms/FindPeaksMD.h" @@ -656,4 +634,3 @@ namespace MDAlgorithms } // namespace Mantid } // namespace MDEvents - diff --git a/Code/Mantid/Framework/MDAlgorithms/src/GreaterThanMD.cpp b/Code/Mantid/Framework/MDAlgorithms/src/GreaterThanMD.cpp index bca81b5e339c..011cca654355 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/GreaterThanMD.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/GreaterThanMD.cpp @@ -1,22 +1,3 @@ -/*WIKI* - -Perform the > (greater-than) boolean operation on two MDHistoWorkspaces or a MDHistoWorkspace and a scalar. -The output workspace has a signal of 0.0 to mean "false" and a signal of 1.0 to mean "true". Errors are 0. - -For two MDHistoWorkspaces, the operation is performed element-by-element. - -For a MDHistoWorkspace and a scalar, the operation is performed on each element of the output. - -*WIKI*/ -/*WIKI_USAGE* - # Compare two workspaces, element-by-element - C = A < B - # Compare a workspace and a number, element-by-element - C = A < 123.4 - -See [[MDHistoWorkspace#Boolean_Operations|this page]] for examples on using boolean operations. -*WIKI_USAGE*/ - #include "MantidMDAlgorithms/GreaterThanMD.h" #include "MantidKernel/System.h" diff --git a/Code/Mantid/Framework/MDAlgorithms/src/IntegratePeaksMD.cpp b/Code/Mantid/Framework/MDAlgorithms/src/IntegratePeaksMD.cpp index e99d4bc98631..57ea935fb928 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/IntegratePeaksMD.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/IntegratePeaksMD.cpp @@ -1,70 +1,3 @@ -/*WIKI* - -This algorithm performs integration of single-crystal peaks within a radius (with optional background subtraction) in reciprocal space. - -=== Inputs === - -The algorithms takes two input workspaces: - -* A MDEventWorkspace containing the events in multi-dimensional space. This would be the output of [[ConvertToDiffractionMDWorkspace]]. -* As well as a PeaksWorkspace containing single-crystal peak locations. This could be the output of [[FindPeaksMD]] -* The OutputWorkspace will contain a copy of the input PeaksWorkspace, with the integrated intensity and error found being filled in. - -=== Calculations === - -Integration is performed by summing the weights of each MDEvent within the provided radii. Errors are also summed in quadrature. - -[[File:IntegratePeaksMD_graph1.png]] - -* All the Radii are specified in \AA^{-1} -* A sphere of radius '''PeakRadius''' is integrated around the center of each peak. -** This gives the summed intensity I_{peak} and the summed squared error \sigma I_{peak}^2. -** The volume of integration is V_{peak}. -* If '''BackgroundOuterRadius''' is specified, then a shell, with radius r where '''BackgroundInnerRadius''' < r < '''BackgroundOuterRadius''', is integrated. -** This gives the summed intensity I_{shell} and the summed squared error \sigma I_{shell}^2. -** The volume of integration is V_{shell}. -** '''BackgroundInnerRadius''' allows you to give some space between the peak and the background area. - -==== Background Subtraction ==== - -The background signal within PeakRadius is calculated by scaling the background signal density in the shell to the volume of the peak: - -I_{bg} = I_{shell} \frac{V_{peak}}{V_{shell}} - -with the error squared on that value: - -\sigma I_{bg}^2 = \frac{V_{peak}}{V_{shell}} \sigma I_{shell}^2 - -This is applied to the integrated peak intensity I_{peak} to give the corrected intensity I_{corr}: - -I_{corr} = I_{peak} - I_{bg} - -with the errors summed in quadrature: - -\sigma I_{corr}^2 = \sigma I_{peak}^2 + \sigma I_{bg}^2 - -=== If BackgroundInnerRadius is Omitted === - -If BackgroundInnerRadius is left blank, then '''BackgroundInnerRadius''' = '''PeakRadius''', and the integration is as follows: - -[[File:IntegratePeaksMD_graph2.png]] - -=== Sample Usage === - - -# Load a SCD data set and find the peaks -LoadEventNexus(Filename=r'TOPAZ_3131_event.nxs',OutputWorkspace='TOPAZ_3131_nxs') -ConvertToDiffractionMDWorkspace(InputWorkspace='TOPAZ_3131_nxs',OutputWorkspace='TOPAZ_3131_md',LorentzCorrection='1') -FindPeaksMD(InputWorkspace='TOPAZ_3131_md',PeakDistanceThreshold='0.15',MaxPeaks='100',OutputWorkspace='peaks') -FindUBUsingFFT(PeaksWorkspace='peaks',MinD='2',MaxD='16') - -# Perform the peak integration, in-place in the 'peaks' workspace. -IntegratePeaksMD(InputWorkspace='TOPAZ_3131_md', PeaksWorkspace='peaks', - PeakRadius=0.12, BackgroundOuterRadius=0.2, BackgroundInnerRadius=0.16, - OutputWorkspace='peaks') - - -*WIKI*/ #include "MantidAPI/IMDEventWorkspace.h" #include "MantidMDAlgorithms/GSLFunctions.h" #include "MantidDataObjects/PeaksWorkspace.h" @@ -704,4 +637,3 @@ namespace MDAlgorithms } // namespace Mantid } // namespace MDEvents - diff --git a/Code/Mantid/Framework/MDAlgorithms/src/IntegratePeaksMD2.cpp b/Code/Mantid/Framework/MDAlgorithms/src/IntegratePeaksMD2.cpp index 0cd01c12e4e2..8034eed7ff1c 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/IntegratePeaksMD2.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/IntegratePeaksMD2.cpp @@ -1,70 +1,3 @@ -/*WIKI* - -This algorithm performs integration of single-crystal peaks within a radius (with optional background subtraction) in reciprocal space. - -=== Inputs === - -The algorithms takes two input workspaces: - -* A MDEventWorkspace containing the events in multi-dimensional space. This would be the output of [[ConvertToDiffractionMDWorkspace]]. -* As well as a PeaksWorkspace containing single-crystal peak locations. This could be the output of [[FindPeaksMD]] -* The OutputWorkspace will contain a copy of the input PeaksWorkspace, with the integrated intensity and error found being filled in. - -=== Calculations === - -Integration is performed by summing the weights of each MDEvent within the provided radii. Errors are also summed in quadrature. - -[[File:IntegratePeaksMD_graph1.png]] - -* All the Radii are specified in \AA^{-1} -* A sphere of radius '''PeakRadius''' is integrated around the center of each peak. -** This gives the summed intensity I_{peak} and the summed squared error \sigma I_{peak}^2. -** The volume of integration is V_{peak}. -* If '''BackgroundOuterRadius''' is specified, then a shell, with radius r where '''BackgroundInnerRadius''' < r < '''BackgroundOuterRadius''', is integrated. -** This gives the summed intensity I_{shell} and the summed squared error \sigma I_{shell}^2. -** The volume of integration is V_{shell}. -** '''BackgroundInnerRadius''' allows you to give some space between the peak and the background area. - -==== Background Subtraction ==== - -The background signal within PeakRadius is calculated by scaling the background signal density in the shell to the volume of the peak: - -I_{bg} = I_{shell} \frac{V_{peak}}{V_{shell}} - -with the error squared on that value: - -\sigma I_{bg}^2 = \frac{V_{peak}}{V_{shell}} \sigma I_{shell}^2 - -This is applied to the integrated peak intensity I_{peak} to give the corrected intensity I_{corr}: - -I_{corr} = I_{peak} - I_{bg} - -with the errors summed in quadrature: - -\sigma I_{corr}^2 = \sigma I_{peak}^2 + \sigma I_{bg}^2 - -=== If BackgroundInnerRadius is Omitted === - -If BackgroundInnerRadius is left blank, then '''BackgroundInnerRadius''' = '''PeakRadius''', and the integration is as follows: - -[[File:IntegratePeaksMD_graph2.png]] - -=== Sample Usage === - - -# Load a SCD data set and find the peaks -LoadEventNexus(Filename=r'TOPAZ_3131_event.nxs',OutputWorkspace='TOPAZ_3131_nxs') -ConvertToDiffractionMDWorkspace(InputWorkspace='TOPAZ_3131_nxs',OutputWorkspace='TOPAZ_3131_md',LorentzCorrection='1') -FindPeaksMD(InputWorkspace='TOPAZ_3131_md',PeakDistanceThreshold='0.15',MaxPeaks='100',OutputWorkspace='peaks') -FindUBUsingFFT(PeaksWorkspace='peaks',MinD='2',MaxD='16') - -# Perform the peak integration, in-place in the 'peaks' workspace. -IntegratePeaksMD(InputWorkspace='TOPAZ_3131_md', PeaksWorkspace='peaks', - PeakRadius=0.12, BackgroundOuterRadius=0.2, BackgroundInnerRadius=0.16, - OutputWorkspace='peaks') - - -*WIKI*/ #include "MantidAPI/IMDEventWorkspace.h" #include "MantidMDAlgorithms/GSLFunctions.h" #include "MantidDataObjects/PeaksWorkspace.h" @@ -736,4 +669,3 @@ namespace MDAlgorithms } // namespace Mantid } // namespace MDEvents - diff --git a/Code/Mantid/Framework/MDAlgorithms/src/LessThanMD.cpp b/Code/Mantid/Framework/MDAlgorithms/src/LessThanMD.cpp index 2b95bcad912d..a0b45c420805 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/LessThanMD.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/LessThanMD.cpp @@ -1,21 +1,3 @@ -/*WIKI* - -Perform the < (less-than) boolean operation on two MDHistoWorkspaces or a MDHistoWorkspace and a scalar. -The output workspace has a signal of 0.0 to mean "false" and a signal of 1.0 to mean "true". Errors are 0. - -For two MDHistoWorkspaces, the operation is performed element-by-element. - -For a MDHistoWorkspace and a scalar, the operation is performed on each element of the output. -*WIKI*/ -/*WIKI_USAGE* - # Compare two workspaces, element-by-element - C = A > B - # Compare a workspace and a number, element-by-element - C = A > 123.4 - -See [[MDHistoWorkspace#Boolean_Operations|this page]] for examples on using boolean operations. -*WIKI_USAGE*/ - #include "MantidMDAlgorithms/LessThanMD.h" #include "MantidKernel/System.h" diff --git a/Code/Mantid/Framework/MDAlgorithms/src/LoadMD.cpp b/Code/Mantid/Framework/MDAlgorithms/src/LoadMD.cpp index badda8feba3b..e9057798c501 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/LoadMD.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/LoadMD.cpp @@ -1,23 +1,3 @@ -/*WIKI* - -This algorithm loads a [[MDEventWorkspace]] that was previously -saved using the [[SaveMD]] algorithm to a .nxs file format. - -If the workspace is too large to fit into memory, -You can load the workspace as a [[MDWorkspace#File-Backed MDWorkspaces|file-backed MDWorkspace]] -by checking the FileBackEnd option. This will load the box structure -(allowing for some visualization with no speed penalty) but leave the -events on disk until requested. Processing file-backed MDWorkspaces -is significantly slower than in-memory workspaces due to frequency file access! - -For file-backed workspaces, the Memory option allows you to specify a cache -size, in MB, to keep events in memory before caching to disk. - -Finally, the BoxStructureOnly and MetadataOnly options are for special situations -and used by other algorithms, they should not be needed in daily use. - -*WIKI*/ - #include "MantidAPI/ExperimentInfo.h" #include "MantidAPI/FileProperty.h" #include "MantidAPI/IMDEventWorkspace.h" @@ -466,4 +446,3 @@ namespace Mantid } // namespace Mantid } // namespace MDEvents - diff --git a/Code/Mantid/Framework/MDAlgorithms/src/LoadSQW.cpp b/Code/Mantid/Framework/MDAlgorithms/src/LoadSQW.cpp index a280282c6fde..1879d759e5e8 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/LoadSQW.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/LoadSQW.cpp @@ -1,146 +1,3 @@ -/*WIKI* - -The algorithm takes every pixel defined in the SQW horace file and converts it into an event. - -Only top level binning information is currently taken from DND/Image data. All DND image information is currently ignored and the resulting MDEvent workspace is in the units of Q^{-1} (SQW dimensions, recalculated to the Crystal? frame, without HKL transformation). - -U matrix is set to unity but the B-matrix is read from the SQW and attached to the workspace which may confuse the algorithms which work with [[MDEventWorkspace]] produced by Mantid algorithms. - - -=== Notes on Horace SQW files === -Sqw objects comes in two flavours: - -- sqw-type - -- dnd-type - -The former has the four main fields fully filled. The fields description is given below. -The latter has: - -- '''main_header''', '''header''', '''detpar''' as empty structures (0x0 struct array with no fields) - -- data.urange and data.pix do not exist. - -The dnd-type is created from d0d, d1d,... objects for most algorithms so as to use private methods of sqw objects. - -DND-type object can not be currently read or understood by Mantid. - -=== Structure of sqw class with remarks on what is currently used and what is ignored === -String started by: - % -- ignored - * -- used - - '''Main_header''': - % main_headerfilename Name of sqw file that is being read, excluding path - % main_headerfilepath Path to sqw file that is being read, including terminating file separator - % main_headertitle Title of sqw data structure - % main_headernfiles Number of spe files that contribute to the sqw object - - '''Header''': (scalar structure, or cellarray of scalar structures if more than one spe file) - % header{i}.filename Name of sqw file excluding path - % header{i}.filepath Path to sqw file including terminating file separator - % header{i}.efix Fixed energy (ei or ef depending on emode) - % header{i}.emode Emode=1 direct geometry, =2 indirect geometry, =0 if diffraction ''' Only emode 1 have ever been tried ''' - % header{i}.alatt Lattice parameters (Angstroms) - % header{i}.angdeg Lattice angles (deg) - % header{i}.cu First vector defining scattering plane (r.l.u.) - % header{i}.cv Second vector defining scattering plane (r.l.u.) - % header{i}.psi Orientation angle (rad) - % header{i}.omega --| - % header{i}.dpsi | Crystal misorientation description (rad) - % header{i}.gl | (See notes elsewhere e.g. Tobyfit manual - % header{i}.gs --| - % header{i}.en Energy bin boundaries (meV) in the input spe file [column vector] - % header{i}.uoffset Offset of origin of pixel projection axes in r.l.u. and energy i.e. [h; k; l; en] [column vector] - % header{i}.u_to_rlu Matrix (4x4) of pixel projection axes in hkle representation - % u(:,1) first vector - u(1:3,1) r.l.u., u(4,1) energy etc. - % header{i}.ulen Length of pixel projection axes vectors in Ang^-1 or meV [row vector] - % header{i}.ulabel Labels of the pixel projection axes [1x4 cell array of character strings] - -The pixel projection axes, u1, u2, u3 are the orthonormal vectors of the crystal Cartesian coordinate frame i.e. u1 || a*, u2 in plane of a*, and b*, and u3 || a* x b*. -They form the coordinate frame in which the pixel coordinates are stored in data.pix. -The pixel projection axes must necessarily be identical for all contributing spe files. - - - '''Detpar''': - % detpar.filename Name of file excluding path - % detpar.filepath Path to file including terminating file separator - % detpar.group Row vector of detector group number - % detpar.x2 Row vector of secondary flightpaths (m) - % detpar.phi Row vector of scattering angles (deg) - % detpar.azim Row vector of azimuthal angles (deg) - % (West bank=0 deg, North bank=90 deg etc.) - % detpar.width Row vector of detector widths (m) - % detpar.height Row vector of detector heights (m) - - '''Data''': - % data.filename Name of sqw file that is being read, excluding path - % data.filepath Path to sqw file that is being read, including terminating file separator - % data.title Title of sqw data structure - * data.alatt Lattice parameters for data field (Ang^-1) - * data.angdeg Lattice angles for data field (degrees) - % data.uoffset Offset of origin of projection axes in r.l.u. and energy ie. [h; k; l; en] [column vector] - % data.u_to_rlu Matrix (4x4) of projection axes in hkle representation - % u(:,1) first vector - u(1:3,1) r.l.u., u(4,1) energy etc. - % data.ulen Length of projection axes vectors in Ang^-1 or meV [row vector] - % data.ulabel Labels of the projection axes [1x4 cell array of character strings] - % data.iax Index of integration axes into the projection axes [row vector] - % Always in increasing numerical order - % e.g. if data is 2D, data.iax=[1,3] means summation has been performed along u1 and u3 axes - % data.iint Integration range along each of the integration axes. [iint(2,length(iax))] - % e.g. in 2D case above, is the matrix vector [u1_lo, u3_lo; u1_hi, u3_hi] - % data.pax Index of plot axes into the projection axes [row vector] - % Always in increasing numerical order - % e.g. if data is 3D, data.pax=[1,2,4] means u1, u2, u4 axes are x,y,z in any plotting - % 2D, data.pax=[2,4] " u2, u4, axes are x,y in any plotting - % data.p Call array containing bin boundaries along the plot axes [column vectors] - % i.e. row cell array {data.p{1}, data.p{2} ...} (for as many axes as length of data.pax) - % data.dax Index into data.pax of the axes for display purposes. For example we may have - % data.pax=[1,3,4] and data.dax=[3,1,2] This means that the first display axis is data.pax(3)=4, - % the second is data.pax(1)=1, the third is data.pax(2)=3. The reason for data.dax is to allow - % the display axes to be permuted but without the contents of the fields p, s,..pix needing to - % be reordered [row vector] - -----> Large data fields, data for MD image - % data.s Cumulative signal. [size(data.s)=(length(data.p1)-1, length(data.p2)-1, ...)] - % data.e Cumulative variance [size(data.e)=(length(data.p1)-1, length(data.p2)-1, ...)] - % data.npix No. contributing pixels to each bin of the plot axes. - % [size(data.pix)=(length(data.p1)-1, length(data.p2)-1, ...)] - -----> - * data.urange True range of the data along each axis [urange(2,4)] - ----> Pixels or events data - * data.pix Array containing data for each pixel: - * If npixtot=sum(npix), then pix(9,npixtot) contains: - * u1 -| - * u2 | Coordinates of pixel in the pixel projection axes - * u3 | - * u4 -| - * irun Run index in the header block from which pixel came - * idet Detector group number in the detector listing for the pixel - * ien Energy bin number for the pixel in the array in the (irun)th header - * signal Signal array - * err Error array (variance i.e. error bar squared) - - -data.s is normalized by the number of pixels, as is the variance data.e. -For those elements where data.npix==0, data.s=0 and data.e=0 - -=== General notes about SQW file assumptions === - -Parts of the code were written with the idea of generalising functionality at a later stage. However, we can now assume that: - - - the lattice parameters are all the same for all contributing spe files - - the energy offset is zero in cuts - - Requires that all sqw files that are to be combined have - (1) each been created from only one spe file - (2) the same lattice parameters and pixel projection axes as held in the header block - (3) the same projection axes and offsets, as held in the data block - (4) the same plot and integration axes, with same bins and integration ranges - The display axes will be taken from the first sqw object in the list to be combined ` - - - -*WIKI*/ #include "MantidAPI/FileProperty.h" #include "MantidAPI/IMDEventWorkspace.h" #include "MantidAPI/MemoryManager.h" diff --git a/Code/Mantid/Framework/MDAlgorithms/src/LogarithmMD.cpp b/Code/Mantid/Framework/MDAlgorithms/src/LogarithmMD.cpp index 6b0cf123a51b..06eace150682 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/LogarithmMD.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/LogarithmMD.cpp @@ -1,15 +1,3 @@ -/*WIKI* - -This executes the natural logarithm operation on a MDHistoWorkspace. - -The signal a becomes f = log(a) - -The error da becomes df^2 = a^2 / da^2 - -This algorithm cannot be run on a [[MDEventWorkspace]]. Its equivalent on a [[MatrixWorkspace]] is called [[Logarithm]]. - -*WIKI*/ - #include "MantidMDAlgorithms/LogarithmMD.h" #include "MantidKernel/System.h" diff --git a/Code/Mantid/Framework/MDAlgorithms/src/MaskMD.cpp b/Code/Mantid/Framework/MDAlgorithms/src/MaskMD.cpp index 0a2f9d32af69..b3bb0b61fc3d 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/MaskMD.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/MaskMD.cpp @@ -1,26 +1,3 @@ -/*WIKI* - -This algorithm masks a [[MDWorkspace]] in-situ. - -This algorithm will first clear-out any existing masking and then apply the new masking. - -== Simple Example == -Mask as single box region in a 3D workspace with Dimension ids X, Y, Z. Suppose that the dimensions exented from -2 to 2 in each dimension and you want to mask the central region. - - MaskMD("Workspace"=workspace,Dimensions="X,Y,Z",Exents="-1,1,-1,1,-1,1") - -== Complex Example == - -Mask two box regions in a 3D workspace, where the input workspace is the same as above. Here we attempt to mask two opposite corners of the 3D workspace. - - MaskMD("Workspace"=workspace,Dimensions="X,Y,Z,X,Y,Z",Extents="-2,-1,-2,-1,-2,-1,+1,+2,+1,+2,+1,+2") - -In this example, because the dimensionality is 3 and because 6 dimension ids have been provided, the algorithm treats {X,Y,Z} as one masking region and the -following {X,Y,Z} as another. Likewise of the 12, Extents inputs provided, the first 6 entries {-2,-1,-2,-1,-2,-1} are min, max values for the first {X,Y,Z} and the -latter 6 {+1,+2,+1,+2,+1,+2} relate to the last {X,Y,Z}. Applying this maksing will result in two completely separate areas masked in a single call to the algorithm. - -*WIKI*/ - #include "MantidMDAlgorithms/MaskMD.h" #include "MantidGeometry/MDGeometry/MDBoxImplicitFunction.h" #include "MantidAPI/IMDWorkspace.h" diff --git a/Code/Mantid/Framework/MDAlgorithms/src/MergeMD.cpp b/Code/Mantid/Framework/MDAlgorithms/src/MergeMD.cpp index 187ea41aed0e..a72b2ff38ace 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/MergeMD.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/MergeMD.cpp @@ -1,18 +1,3 @@ -/*WIKI* - -This algorithm merges several [[MDWorkspace]]s together into one by adding their events together. - -The algorithm starts by going through the list of [[MDWorkspace]]s to find the extents -that fully encompass all input workspaces in each dimension. -The number and names of dimensions must match for all input workspaces. - -The output workspace is created with these dimensions and the box parameters specified above. Then the events -from each input workspace are appended to the output. - -See also: [[MergeMDFiles]], for merging when system memory is too small to keep the entire workspace in memory. - -*WIKI*/ - #include "MantidMDAlgorithms/MergeMD.h" #include "MantidKernel/Strings.h" #include "MantidGeometry/MDGeometry/IMDDimension.h" diff --git a/Code/Mantid/Framework/MDAlgorithms/src/MergeMDFiles.cpp b/Code/Mantid/Framework/MDAlgorithms/src/MergeMDFiles.cpp index 27db1b038f36..e8f107bc7295 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/MergeMDFiles.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/MergeMDFiles.cpp @@ -1,21 +1,3 @@ -/*WIKI* - -This algorithm is meant to merge a large number of large MDEventWorkspaces together into one file-backed MDEventWorkspace, without exceeding available memory. - -First, you will need to generate a MDEventWorkspaces NXS file for each run with a fixed box structure: -* You can call [[CreateMDWorkspace]] with MinRecursionDepth = MaxRecursionDepth. -** This will make the box structure identical. The number of boxes will be equal to SplitInto ^ (NumDims * MaxRecursionDepth). -** Aim for the boxes to be small enough for all events contained to fit in memory; without there being so many boxes as to slow down too much. -* This can be done immediately after acquiring each run so that less processing has to be done at once. - -Then, enter the path to all of the files created previously. The algorithm avoids excessive memory use by only -keeping the events from ONE box from ALL the files in memory at once to further process and refine it. -This is why it requires a common box structure. - -See also: [[MergeMD]], for merging any MDWorkspaces in system memory (faster, but needs more memory). - -*WIKI*/ - #include "MantidAPI/FileProperty.h" #include "MantidAPI/MultipleFileProperty.h" #include "MantidKernel/CPUTimer.h" @@ -423,4 +405,3 @@ namespace MDAlgorithms } // namespace Mantid } // namespace MDAlgorithms - diff --git a/Code/Mantid/Framework/MDAlgorithms/src/MinusMD.cpp b/Code/Mantid/Framework/MDAlgorithms/src/MinusMD.cpp index 77a43a30da88..fb7497403988 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/MinusMD.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/MinusMD.cpp @@ -1,27 +1,3 @@ -/*WIKI* -Subtract two [[MDHistoWorkspace]]'s or a MDHistoWorkspace and a scalar. - -* '''MDHistoWorkspace - MDHistoWorkspace''' -** The operation is performed element-by-element. -* '''MDHistoWorkspace - Scalar ''' -** The scalar is subtracted from every element of the MDHistoWorkspace. The squares of errors are summed. -* '''Scalar - MDHistoWorkspace''' -** This is not allowed. -* '''[[MDEventWorkspace]] - [[MDEventWorkspace]]''' -** The signal of each event on the right-hand-side is multiplied by -1 before the events are summed. -** The number of events in the output MDEventWorkspace is that of the LHS and RHS workspaces put together. -* '''[[MDEventWorkspace]] - Scalar or MDHistoWorkspace''' -** This is not possible. -*WIKI*/ -/*WIKI_USAGE* - C = A - B - C = A - 123.4 - A -= B - A -= 123.4 - -See [[MDHistoWorkspace#Arithmetic_Operations|this page]] for examples on using arithmetic operations. -*WIKI_USAGE*/ - #include "MantidMDAlgorithms/MinusMD.h" #include "MantidKernel/System.h" #include "MantidMDEvents/MDEventFactory.h" diff --git a/Code/Mantid/Framework/MDAlgorithms/src/MultiplyMD.cpp b/Code/Mantid/Framework/MDAlgorithms/src/MultiplyMD.cpp index 9f9e50992594..96dc128fee74 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/MultiplyMD.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/MultiplyMD.cpp @@ -1,25 +1,3 @@ -/*WIKI* -Multiply two [[MDHistoWorkspace]]'s or a MDHistoWorkspace and a scalar. - -The error of f = a * b is propagated with df^2 = f^2 * (da^2 / a^2 + db^2 / b^2) - -* '''MDHistoWorkspace * MDHistoWorkspace''' -** The operation is performed element-by-element. -* '''MDHistoWorkspace * Scalar''' or '''Scalar * MDHistoWorkspace''' -** Every element of the MDHistoWorkspace is multiplied by the scalar. -* '''[[MDEventWorkspace]]'s''' -** This operation is not supported, as it is not clear what its meaning would be. -*WIKI*/ -/*WIKI_USAGE* - C = A * B - C = A * 123.4 - A *= B - A *= 123.4 - -See [[MDHistoWorkspace#Arithmetic_Operations|this page]] for examples on using arithmetic operations. - -*WIKI_USAGE*/ - #include "MantidKernel/System.h" #include "MantidMDAlgorithms/MultiplyMD.h" #include "MantidMDEvents/MDBoxBase.h" diff --git a/Code/Mantid/Framework/MDAlgorithms/src/NotMD.cpp b/Code/Mantid/Framework/MDAlgorithms/src/NotMD.cpp index 15d95490545c..c273cde63a31 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/NotMD.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/NotMD.cpp @@ -1,19 +1,3 @@ -/*WIKI* - -Perform the Not (negation) boolean operation on a [[MDHistoWorkspace]]. -The not operation is performed element-by-element. -Any 0.0 signal is changed to 1.0 (meaning true). -Any non-zero signal is changed to 0.0 (meaning false). - -*WIKI*/ -/*WIKI_USAGE* - B = ~A - A = ~A - -See [[MDHistoWorkspace#Boolean_Operations|this page]] for examples on using boolean operations. - -*WIKI_USAGE*/ - #include "MantidMDAlgorithms/NotMD.h" #include "MantidKernel/System.h" diff --git a/Code/Mantid/Framework/MDAlgorithms/src/OrMD.cpp b/Code/Mantid/Framework/MDAlgorithms/src/OrMD.cpp index bfdc0d683c40..f55ef19fe87c 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/OrMD.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/OrMD.cpp @@ -1,16 +1,3 @@ -/*WIKI* - -Perform the Or boolean operation on two MDHistoWorkspaces. -The || operation is performed element-by-element. -A signal of 0.0 means "false" and any non-zero signal is "true". -*WIKI*/ -/*WIKI_USAGE* - C = A | B - A |= B - -See [[MDHistoWorkspace#Boolean_Operations|this page]] for examples on using boolean operations. - -*WIKI_USAGE*/ #include "MantidMDAlgorithms/OrMD.h" #include "MantidKernel/System.h" diff --git a/Code/Mantid/Framework/MDAlgorithms/src/PlusMD.cpp b/Code/Mantid/Framework/MDAlgorithms/src/PlusMD.cpp index 9d15b6e3667e..5c65e9c7f265 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/PlusMD.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/PlusMD.cpp @@ -1,38 +1,3 @@ -/*WIKI* - -This algorithm sums two [[MDHistoWorkspace]]s or merges two [[MDEventWorkspace]]s together. - -=== MDHistoWorkspaces === - -* '''MDHistoWorkspace + MDHistoWorkspace''' -** The operation is performed element-by-element. -* '''MDHistoWorkspace + Scalar''' or '''Scalar + MDHistoWorkspace''' -** The scalar is subtracted from every element of the MDHistoWorkspace. The squares of errors are summed. - -=== MDEventWorkspaces === - -This algorithm operates similary to calling Plus on two [[EventWorkspace]]s: it combines the events from the two workspaces together to form one large workspace. - -==== Note for file-backed workspaces ==== - -The algorithm uses [[CloneMDWorkspace]] to create the output workspace, except when adding in place (e.g. A = A + B ). -See [[CloneMDWorkspace]] for details, but note that a file-backed [[MDEventWorkspace]] will have its file copied. - -* If A is in memory and B is file-backed, the operation C = A + B will clone the B file-backed workspace and add A to it. -* However, the operation A = A + B will clone the A workspace and add B into memory (which might be too big!) - -Also, be aware that events added to a MDEventWorkspace are currently added '''in memory''' and are not cached to file until [[SaveMD]] -or another algorithm requiring it is called. The workspace is marked as 'requiring file update'. -*WIKI*/ -/*WIKI_USAGE* - C = A + B - C = A + 123.4 - A += B - A += 123.4 - -See [[MDHistoWorkspace#Arithmetic_Operations|this page]] for examples on using arithmetic operations. -*WIKI_USAGE*/ - #include "MantidAPI/IMDEventWorkspace.h" #include "MantidKernel/System.h" #include "MantidMDEvents/MDBoxBase.h" diff --git a/Code/Mantid/Framework/MDAlgorithms/src/PowerMD.cpp b/Code/Mantid/Framework/MDAlgorithms/src/PowerMD.cpp index 69be4eaf9a3f..bc42a95d023d 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/PowerMD.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/PowerMD.cpp @@ -1,15 +1,3 @@ -/*WIKI* - -This executes the power function on a MDHistoWorkspace. - -The signal a becomes f = a^b - -The error da becomes df^2 = f^2 * b^2 * (da^2 / a^2) - -This algorithm cannot be run on a [[MDEventWorkspace]]. Its equivalent on a [[MatrixWorkspace]] is called [[Power]]. - -*WIKI*/ - #include "MantidMDAlgorithms/PowerMD.h" #include "MantidKernel/System.h" diff --git a/Code/Mantid/Framework/MDAlgorithms/src/PreprocessDetectorsToMD.cpp b/Code/Mantid/Framework/MDAlgorithms/src/PreprocessDetectorsToMD.cpp index 9ae726296677..a90304ba00d1 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/PreprocessDetectorsToMD.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/PreprocessDetectorsToMD.cpp @@ -1,101 +1,3 @@ -/*WIKI* -PreprocessDetectorsToMD is helper algorithm, used to make general part of transformation from real to reciprocal space. -It is used by ConvertToMD algorithm to save time on this transformation when the algorithm used multiple times for the same instrument. -It is also should be used to calculate limits of transformation in Q-space and the detectors trajectories in Q-space. - -The result of this algorithm do in fact define an "ideal instrument", which is used to convert experimental data into the reciprocal space. -Additional purpose of '''PreprocessDetectorsToMD''' is to return these data in the form, which can be easy extracted, observed and modified -to see and check all corrections done to the real instrument before starting transformation from the experiment's(instrument) space to the -target physical space. - -== Output Table Workspace Description == - -Table workspace obtained from the algorithm is the table workspace with properties, containing the following information: - - -{| border="1" cellpadding="5" cellspacing="0" -!Column Name -!Type -!Present -!Description -|- -|DetDirections -|V3D -|Always -|Unit vectors pointing from sample to detector's positions -|- -|L2 -|double -|Always -|Sample-detector distances -|- -|TwoTheta -|double -|Always -|Sampe-detector polar angle (2''θ'', diffraction angle) -|- -|Azimuthal -|double -|Always -|Sampe-detector azimuthal angle -|- -|DetectorID -|int32_t -|Always -|The unique ID specific to the detector or group of detectors. -|- -|detIDMap -|size_t -|Always -|Spectra index which corresponds to a valid detector index. ''detIDMap[liveDetectorsCount]= WorkspaceIndex''; -|- -|spec2detMap -|size_t -|Always -|The detector's index corresponding to the workspace index. It is the value used to match the spectra obtained from the workspace to the values of detector's parameters defined in this table. ''spec2detMap[WorkspaceIndex]= liveDetectorsCount''; -|- -|detMask -|int -|if GetMaskState==true -|The vector containing 1 for masked spectra and 0 for not masked. This is temporary solution necessary until Mantid masks signal by 0 rather then NaN -|- -|eFixed -|float -|if GetEFixed==true -|Input energy on a detector from Indirect instrument, copied value of '''Ei''' or '''eFixed''' property on other instruments or NaN if nothing is defined -|} - - -The workspace also has the following properties attached to it: -{| border="1" cellpadding="5" cellspacing="0" -!Property Name -!Type -!Description -|- -|InstrumentName -|string -|The name which should uniquely identify current instrument -|- -|L1 -|double -|L1 is the source to sample distance -|- -|Ei -|double -|Incident energy for Direct or Crystal-Analyser energy for Indirect instruments copied from '''Ei''' (first) or '''eFixed''' (if '''Ei''' is undefined) property of the input workspace. '''NaN''' if no energy property is found. -|- -|ActualDetectorsNum -|uint32_t -|The actual number of detectors receiving signal (This is the number of instrument's detectors minus monitors and masked detectors) -|- -|FakeDetectors -|bool. -|Usually false and specifies if the detectors were actually processed for real instrument or generated for some fake one when the detector information has been lost. The detector information considered lost when the input matrix workspace has numeric Y-axis. -|- -|} - - -*WIKI*/ #include "MantidMDAlgorithms/PreprocessDetectorsToMD.h" #include "MantidKernel/CompositeValidator.h" #include "MantidKernel/PropertyWithValue.h" diff --git a/Code/Mantid/Framework/MDAlgorithms/src/Quantification/FitResolutionConvolvedModel.cpp b/Code/Mantid/Framework/MDAlgorithms/src/Quantification/FitResolutionConvolvedModel.cpp index e7fe3f2325c7..177bcdc62809 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/Quantification/FitResolutionConvolvedModel.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/Quantification/FitResolutionConvolvedModel.cpp @@ -1,7 +1,3 @@ -/*WIKI* -Fits a dataset using a resolution function convolved with a foreground model -*WIKI*/ - #include "MantidMDAlgorithms/Quantification/FitResolutionConvolvedModel.h" #include "MantidAPI/IMDEventWorkspace.h" diff --git a/Code/Mantid/Framework/MDAlgorithms/src/Quantification/SimulateResolutionConvolvedModel.cpp b/Code/Mantid/Framework/MDAlgorithms/src/Quantification/SimulateResolutionConvolvedModel.cpp index 2f0f643fa623..cb720f0d99ce 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/Quantification/SimulateResolutionConvolvedModel.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/Quantification/SimulateResolutionConvolvedModel.cpp @@ -1,8 +1,3 @@ -/*WIKI* -Runs a simulation of a model with a selected resolution function. - -*WIKI*/ - #include "MantidMDAlgorithms/Quantification/SimulateResolutionConvolvedModel.h" #include "MantidAPI/IMDEventWorkspace.h" diff --git a/Code/Mantid/Framework/MDAlgorithms/src/SaveMD.cpp b/Code/Mantid/Framework/MDAlgorithms/src/SaveMD.cpp index f1e6bbb4a68f..606baa9cca6c 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/SaveMD.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/SaveMD.cpp @@ -1,14 +1,3 @@ -/*WIKI* - -Save a [[MDEventWorkspace]] to a .nxs file. The workspace's current box structure and entire list of events is preserved. -The resulting file can be loaded via [[LoadMD]]. - -If you specify MakeFileBacked, then this will turn an in-memory workspace to a file-backed one. Memory will be released as it is written to disk. - -If you specify UpdateFileBackEnd, then any changes (e.g. events added using the PlusMD algorithm) will be saved to the file back-end. - -*WIKI*/ - #include "MantidAPI/CoordTransform.h" #include "MantidAPI/FileProperty.h" #include "MantidAPI/IMDEventWorkspace.h" @@ -329,4 +318,3 @@ namespace MDAlgorithms } // namespace Mantid } // namespace MDEvents - diff --git a/Code/Mantid/Framework/MDAlgorithms/src/SaveZODS.cpp b/Code/Mantid/Framework/MDAlgorithms/src/SaveZODS.cpp index cac4e2f46298..886396c4ce5f 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/SaveZODS.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/SaveZODS.cpp @@ -1,35 +1,3 @@ -/*WIKI* - -Saves a HDF5 file to the ZODS (Zurich Oak Ridge Disorder Simulation program) format. -This format consists of a slice of a [[MDHistoWorkspace]] and some information about its location. - -'''You must be in HKL space for the output of this algorithm to make sense!''' - -From http://www.crystal.mat.ethz.ch/research/DiffuseXrayScattering: -* In the frame of an international cooperation between our group, the University of Zurich and Oak Ridge National Laboratories, we are further developing Monte Carlo simulation techniques for modeling disordered crystal structures. A major goal of this project is to develop the Monte Carlo simulation computer program ZODS (Zurich Oak Ridge Disorder Simulation program), which is designed to be not only user friendly, but also fast and flexible. Special focus is on the efficient use of modern super-computer architectures and of multi-core desktop computers to take full advantage of current trends in computing technologies. - -==== Summary of data format ==== - -In general it contains collection of grids with intensities and each grid is described by specifying origin, size of grid (in each direction) and grid base vectors (a1,a2,a3) so a point at node (i,j,k) of grid has coordinates r = origin+i*a1+j*a2+k*a3. - -Please contact Michal Chodkiewicz (michal.chodkiewicz@gmail.com); Vickie Lynch (vel@ornl.gov) for more details. - -==== Description of data fields ==== - -* The CoordinateSystem data object has the attribute "isLocal". -** If '''isLocal'''=1, then we are in HKL space: -*** The '''direction_1''' vector (0.04,0,0) represents a step of 0.04 in the (1,0,0) direction (a*) in reciprocal space. -*** '''This is currently the only mode in which SaveZODS saves'''. -** If '''isLocal'''=0, then we are in Q-space. -*** The '''direction_1''' vector (0.04,0,0) represents a step of 0.04 Angstrom^(-1) in X direction of Cartesian coordinate system (with X colinear with a and Z with c*) -*** In this case CoordinateSystem has additional attribute UnitCell, which is a vector with 6 components (a,b,c,alpha,beta,gamma) a,b,c in angstroms and angles in degrees. -* The '''origin''' field gives the origin of the center of the (0,0,0) cell; in HKL space for our case of isLocal=1. -* The '''size''' field gives the number of bins in each direction. -* The '''data''' field contains the actual intensity at each bin. -** The grid of points (r = origin+i*a1+j*a2+k*a3) specifies the centers of histogram, not the corners. - -*WIKI*/ - #include "MantidAPI/FileProperty.h" #include "MantidAPI/IMDHistoWorkspace.h" #include "MantidKernel/System.h" diff --git a/Code/Mantid/Framework/MDAlgorithms/src/SetMDUsingMask.cpp b/Code/Mantid/Framework/MDAlgorithms/src/SetMDUsingMask.cpp index f141c351d541..25365e92b9bb 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/SetMDUsingMask.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/SetMDUsingMask.cpp @@ -1,25 +1,3 @@ -/*WIKI* - -This algorithm is used to replace values in a [[MDHistoWorkspace]] but only at particular points. - -A mask MDHistoWorkspace is provided, where non-zero values indicate 'true'. -At these points, the corresponding value in the ValueWorkspace will be set. -Any 'false' points in the MaskWorkspace are skipped. - -If ValueWorkspace is not specified, the you must specify Value, which is a a simple number to set. - -In matlab, the equivalent function call would be WS[mask] = OtherWS[mask] - -See [[MDHistoWorkspace#Boolean_Operations| this page on boolean operations]] for examples of how to create a mask. - -== Usage (Python) == - - # This will zero-out any values below the threshold of 123 - MaskWS = WS < 123 - ModifiedWS = SetMDUsingMask(InputWorkspace=WS, Value="0", MaskWorkspace=MaskWS) - -*WIKI*/ - #include "MantidMDAlgorithms/SetMDUsingMask.h" #include "MantidKernel/System.h" #include "MantidAPI/IMDWorkspace.h" diff --git a/Code/Mantid/Framework/MDAlgorithms/src/SliceMD.cpp b/Code/Mantid/Framework/MDAlgorithms/src/SliceMD.cpp index aa912daec1db..10f8a2415c9a 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/SliceMD.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/SliceMD.cpp @@ -1,48 +1,3 @@ -/*WIKI* -Algorithm that can take a slice out of an original [[MDEventWorkspace]] while preserving all the events contained therein. - -It uses the same parameters as [[BinMD]] to determine a transformation to make from input->output workspace. -The difference is that [[BinMD]] sums events in a regular grid whereas SliceMD moves the events into the output workspace, -which boxes itself. - -Please see [[BinMD]] for a detailed description of the parameters. - -=== Axis-Aligned Slice === - -Events outside the range of the slice are dropped. The new output -MDEventWorkspace's dimensions only extend as far as the limit specified. - -=== Non-Axis-Aligned Slice === - -The coordinates of each event are transformed according to the new basis vectors, -and placed in the output MDEventWorkspace. The dimensions of the output workspace -are along the basis vectors specified. - -=== Splitting Parameters === - -The '''OutputBins''' parameter is interpreted as the "SplitInto" parameter for each dimension. -For instance, if you want the output workspace to split in 2x2x2, -you would specify OutputBins="2,2,2". - -For 1D slices, it may make sense to specify a SplitInto parameter of 1 in every other dimension - that way, boxes -will only be split along the 1D direction. - -=== Slicing a MDHistoWorkspace === - -It is possible to slice a [[MDHistoWorkspace]]. -Each MDHistoWorkspace holds a reference to the [[MDEventWorkspace]] that created it, -as well as the coordinate transformation that was used. - -In this case, the algorithm is executed on the original MDEventWorkspace, in the -proper coordinates. Perhaps surprisingly, the output of SliceMD on a MDHistoWorkspace is a -MDEventWorkspace! - -Only the non-axis aligned slice method can be performed on a MDHistoWorkspace! -Of course, your basis vectors can be aligned with the dimensions, which is equivalent. - - -*WIKI*/ - #include "MantidAPI/IMDEventWorkspace.h" #include "MantidKernel/System.h" #include "MantidMDEvents/MDEventFactory.h" @@ -380,4 +335,3 @@ namespace MDAlgorithms } // namespace Mantid } // namespace MDEvents - diff --git a/Code/Mantid/Framework/MDAlgorithms/src/Stitch1DMD.cpp b/Code/Mantid/Framework/MDAlgorithms/src/Stitch1DMD.cpp index f4368e62d44a..d4facda66b47 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/Stitch1DMD.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/Stitch1DMD.cpp @@ -1,11 +1,3 @@ -/*WIKI* -Performs 1D stitching of Reflectometry 2D MDHistoWorkspaces. Based on the Quick script developed at ISIS. This only works on 1D Histogrammed MD Workspaces. - -Scales either the LHS or RHS workspace by some scale factor which, can be manually specified, or calculated from the overlap. - -Calculates the weighted mean values in the overlap region and then combines the overlap region with the difference of the LHS and RHS workspaces -*WIKI*/ - #include "MantidMDAlgorithms/Stitch1DMD.h" #include "MantidAPI/WorkspaceProperty.h" #include "MantidAPI/WorkspaceValidators.h" diff --git a/Code/Mantid/Framework/MDAlgorithms/src/ThresholdMD.cpp b/Code/Mantid/Framework/MDAlgorithms/src/ThresholdMD.cpp index 2b6005952938..c990fb71d22a 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/ThresholdMD.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/ThresholdMD.cpp @@ -1,9 +1,3 @@ -/*WIKI* - -Threshold an MDHistoWorkspace to overwrite values below or above the defined threshold. - -*WIKI*/ - #include "MantidMDAlgorithms/ThresholdMD.h" #include "MantidAPI/WorkspaceProperty.h" #include "MantidMDEvents/MDHistoWorkspace.h" diff --git a/Code/Mantid/Framework/MDAlgorithms/src/TransformMD.cpp b/Code/Mantid/Framework/MDAlgorithms/src/TransformMD.cpp index 16c3a1a3087e..52cd3aedf0c8 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/TransformMD.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/TransformMD.cpp @@ -1,36 +1,3 @@ -/*WIKI* - -This algorithm applies a simple linear transformation to a [[MDWorkspace]] or [[MDHistoWorkspace]]. -This could be used, for example, to scale the Energy dimension to different units. - -Each coordinate is tranformed so that - x'_d = (x_d * s_d) + o_d -where: -* d : index of the dimension, from 0 to the number of dimensions -* s : value of the Scaling parameter -* o : value of the Offset parameter. - -You can specify either a single value for Scaling and Offset, in which case the -same m_scaling or m_offset are applied to each dimension; or you can specify a list -with one entry for each dimension. - -==== Notes ==== - -The relationship between the workspace and the original [[MDWorkspace]], -for example when the MDHistoWorkspace is the result of [[BinMD]], is lost. -This means that you cannot re-bin a transformed [[MDHistoWorkspace]]. - -No units are not modified by this algorithm. - -==== Performance Notes ==== - -* Performing the operation in-place (input=output) is always faster because the first step of the algorithm if NOT in-place is to clone the original workspace. -* For [[MDHistoWorkspace]]s done in-place, TransformMD is very quick (no data is modified, just the coordinates). -* For [[MDWorkspace]]s, every event's coordinates gets modified, so this may take a while for large workspaces. -* For file-backed [[MDWorkspace]]s, you will find much better performance if you perform the change in-place (input=output), because the data gets written out to disk twice otherwise. - -*WIKI*/ - #include "MantidMDAlgorithms/TransformMD.h" #include "MantidKernel/System.h" #include "MantidKernel/ArrayProperty.h" diff --git a/Code/Mantid/Framework/MDAlgorithms/src/WeightedMeanMD.cpp b/Code/Mantid/Framework/MDAlgorithms/src/WeightedMeanMD.cpp index 0e567cee2de3..85f6ee8eebf9 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/WeightedMeanMD.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/WeightedMeanMD.cpp @@ -1,44 +1,3 @@ -/*WIKI* - -Takes two MDHistoWorkspaces and calculates the weighted mean for each bin. See [[WeightedMean]] for more details on the algorithm workings. Both inputs must be MDHistoWorkspaces, the algorithm will not run with MDEventWorkspaces. - -*WIKI*/ -/*WIKI_USAGE* -The following utilises [[WeightedMean]] and [[WeightedMeanMD]] to inspect the same data. - - import math - - # Create some input arrays data - pi = 3.14 - s1 = [] - e1 = [] - s2 = [] - e2 = [] - extents = [0,40] - x = range(extents[0], extents[1]) - theta_shift=0.4 - for i in x : - theta = 0.02 * i * pi - s1.append(math.sin(theta)) - e1.append(math.sin(theta)) - s2.append(math.sin(theta+theta_shift)) - e2.append(math.sin(theta+theta_shift)) - - # Create Matrix workspaces from input arrrays - matrix_1 =CreateWorkspace(DataX=x, DataE=e1, NSpec=1,DataY=s1) - matrix_2 =CreateWorkspace(DataX=x, DataE=e2, NSpec=1,DataY=s2) - # Create MD workspaces from input arrays - md_1 =CreateMDHistoWorkspace(Dimensionality=1,SignalInput=s1,ErrorInput=e1,NumberOfBins=[len(x)],Extents=extents,Names="v",Units="t") - md_2 =CreateMDHistoWorkspace(Dimensionality=1,SignalInput=s2,ErrorInput=e2,NumberOfBins=[len(x)],Extents=extents,Names="v",Units="t") - - # Produce the weighted mean as a matrix workspace. - mean = WeightedMean(InputWorkspace1=matrix_1, InputWorkspace2=matrix_2) - - # Produce the weithed mean as a 1D MD workspace. Contents sould be identical to the output created above. - mean_md = WeightedMeanMD(LHSWorkspace=md_1,RHSWorkspace=md_2) - -*WIKI_USAGE*/ - #include "MantidMDAlgorithms/WeightedMeanMD.h" #include "MantidMDEvents/MDHistoWorkspaceIterator.h" #include "MantidKernel/System.h" @@ -145,4 +104,4 @@ namespace MDAlgorithms } // namespace Mantid -} // namespace MDAlgorithms \ No newline at end of file +} // namespace MDAlgorithms diff --git a/Code/Mantid/Framework/MDAlgorithms/src/XorMD.cpp b/Code/Mantid/Framework/MDAlgorithms/src/XorMD.cpp index e86070f00774..c4eb9afe7cc2 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/XorMD.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/XorMD.cpp @@ -1,18 +1,3 @@ -/*WIKI* - -Perform the Xor (exclusive-or) boolean operation on two MDHistoWorkspaces. -The xor operation is performed element-by-element. -A signal of 0.0 means "false" and any non-zero signal is "true". - -*WIKI*/ -/*WIKI_USAGE* - C = A ^ B - A ^= B - -See [[MDHistoWorkspace#Boolean_Operations|this page]] for examples on using boolean operations. - -*WIKI_USAGE*/ - #include "MantidMDAlgorithms/XorMD.h" #include "MantidKernel/System.h" diff --git a/Code/Mantid/Framework/MDEvents/src/ConvertToReflectometryQ.cpp b/Code/Mantid/Framework/MDEvents/src/ConvertToReflectometryQ.cpp index 6d4b4d978f47..c8b590ec073a 100644 --- a/Code/Mantid/Framework/MDEvents/src/ConvertToReflectometryQ.cpp +++ b/Code/Mantid/Framework/MDEvents/src/ConvertToReflectometryQ.cpp @@ -1,33 +1,3 @@ -/*WIKI* -=== Prerequisites === - -The workspace spectrum axis should be converted to signed_theta using [[ConvertSpectrumAxis]] and the x axis should be converted to Wavelength using [[ConvertUnits]] before running this algorithm. Histogram input workspaces are expected. - -The algorithm will looks for a specific log value called ''stheta'', which contains the incident theta angle theta_i. If the input workspace does not contain this value, or if you wish to override this value you can do so by providing your own ''IncidentTheta'' property and enabling ''OverrideIncidentTheta''. - -=== Transformations === -Output workspaces are always 2D MD Histogram workspaces, but the algorithm will perform one of three possible transformations. - -* Convert to Q_x, Q_z -* Convert to K_i, K_f -* Convert to P_i-P_f, P_i+P_f. Note that P and K are interchangeable. - -where - -Q_x = \frac{2\pi}{\lambda}(sin\theta_f + sin\theta_i) - -Q_z = \frac{2\pi}{\lambda}(cos\theta_f - cos\theta_i) - -K_i = \frac{2\pi}{\lambda}sin\theta_i - -K_f = \frac{2\pi}{\lambda}sin\theta_f - -{{AlgorithmLinks|ConvertToReflectometryQ}} - -=== After Transformation === -You will usually want to rebin using [[BinMD]] or [[SliceMD]] after transformation because the output workspaces are not regularly binned. -*WIKI*/ - #include "MantidAPI/WorkspaceValidators.h" #include "MantidMDEvents/ConvertToReflectometryQ.h" #include "MantidDataObjects/EventWorkspace.h" diff --git a/Code/Mantid/Framework/MDEvents/src/ImportMDEventWorkspace.cpp b/Code/Mantid/Framework/MDEvents/src/ImportMDEventWorkspace.cpp index ced64e6ece54..fe008e9f07cc 100644 --- a/Code/Mantid/Framework/MDEvents/src/ImportMDEventWorkspace.cpp +++ b/Code/Mantid/Framework/MDEvents/src/ImportMDEventWorkspace.cpp @@ -1,95 +1,3 @@ -/*WIKI* -Creates an MDEventWorkspace from a plain ASCII file. Uses a simple format for the file described below. This algorithm is suitable for importing small volumes of data only. This algorithm does not scale well for large input workspaces. The purpose of this algorithm is to allow users to quickly import data from existing applications for purposes of comparison. - -== Format == - -The file must contain a '''DIMENSIONS''' section listing the dimensionality of the workspace. Each input line is taken as a new dimension after the '''DIMENSIONS''' flag, and before the '''MDEVENTS''' flag. Input arguments must be separated by a space or tab. They are provided in the order Name, ID, Units, NumberOfBins. See the Usage examples below. - -The file must contain a '''MDEVENTS''' flag after the '''DIMENSIONS''' flag. Again, inputs are separated by a space or tab, each line represents a unique MDEvent. There must be either NDims + 2 or NDims + 4 columns in this section. If there are NDims + 2, columns, then ''Lean'' MDEvents will be used (Signal, Error and Dimensionality only). If there are NDims + 4 columns, then ''Full'' MDEvents will be used (Signal, Error, RunNo, DetectorId and Dimensionality). If you have provided NDims + 2 columns, then each row is interpreted as follows: - - Signal Error {Dimensionality} - -where the Dimensionality is an array of coordinates in each of the dimensions listed in the '''DIMENSIONS''' section, and in that order. IF there are NDims + 4 columns, then ''Full'' MDEvents will be used. Each row is interpreted as follows: - - Signal Error RunNumber DetectorId {Dimensionality} - -The usage example below shows demo files with both of these formats. - -Comments are denoted by lines starting with '''#'''. There is no multi-line comment. - -== Alternatives == -Other alternatives to importing/creating MDWorkspaces are [[ImportMDHistoWorkspace]], [[CreateMDHistoWorkspace]] and [[CreateMDWorkspace]] - - -*WIKI*/ -/*WIKI_USAGE* -The following example creates a 2D MDEventWorkspace called ''demo'' with 10 * 2 bins. - - - ImportMDEventWorkspace(Filename=r'demo.txt',OutputWorkspace='demo') - -demo.txt looks like: - - # MANDATORY BLOCK. Dimensions are written in the format Id, Name, Units, number of bins - DIMENSIONS - a A U 10 - b B U 2 - # MANDATORY BLOCK. Events are written in the format Signal, Error, DetectorId, RunId, coord1, coord2, ... to end of coords - # or Signal, Error, coord1, coord2, ... to end of coords - MDEVENTS - 1.0 2.90 -1.0 -1 - 1.1 2.80 -0.9 -1 - 1.2 2.70 -0.8 -1 - 1.3 2.60 -0.7 -1 - 1.4 2.50 -0.6 -1 - 1.5 2.40 -0.5 -1 - 1.6 2.30 -0.4 -1 - 1.7 2.20 -0.3 -1 - 1.8 2.10 -0.2 -1 - 1.9 2.00 -0.1 -1 - 2.0 1.80 -1.0 1 - 2.1 1.70 -0.9 1 - 2.2 1.60 -0.8 1 - 2.3 1.50 -0.7 1 - 2.4 1.40 -0.6 1 - 2.5 1.30 -0.5 1 - 2.6 1.20 -0.4 1 - 2.7 1.10 -0.3 1 - 2.8 1.00 -0.2 1 - 2.9 0.90 -0.1 1 - -The equivalent with run numbers and detector ids specified is: - - - # MANDATORY BLOCK. Dimensions are written in the format Id, Name, Units, number of bins - DIMENSIONS - a A U 10 - b B U 2 - # MANDATORY BLOCK. Events are written in the format Signal, Error, DetectorId, RunId, coord1, coord2, ... to end of coords - # or Signal, Error, RunNumber, DetectorId, coord1, coord2, ... to end of coords - MDEVENTS - 1.0 2.90 1 1 -1.0 -1 - 1.1 2.80 1 2 -0.9 -1 - 1.2 2.70 1 3 -0.8 -1 - 1.3 2.60 1 4 -0.7 -1 - 1.4 2.50 1 5 -0.6 -1 - 1.5 2.40 1 6 -0.5 -1 - 1.6 2.30 1 7 -0.4 -1 - 1.7 2.20 1 8 -0.3 -1 - 1.8 2.10 1 9 -0.2 -1 - 1.9 2.00 1 10 -0.1 -1 - 2.0 1.80 1 12 -1.0 1 - 2.1 1.70 1 13 -0.9 1 - 2.2 1.60 1 14 -0.8 1 - 2.3 1.50 1 15 -0.7 1 - 2.4 1.40 1 16 -0.6 1 - 2.5 1.30 1 17 -0.5 1 - 2.6 1.20 1 18 -0.4 1 - 2.7 1.10 1 19 -0.3 1 - 2.8 1.00 1 20 -0.2 1 - 2.9 0.90 1 20 -0.1 1 -*WIKI_USAGE*/ - #include "MantidMDEvents/ImportMDEventWorkspace.h" #include "MantidKernel/System.h" #include "MantidAPI/FileProperty.h" diff --git a/Code/Mantid/Framework/MDEvents/src/ImportMDHistoWorkspace.cpp b/Code/Mantid/Framework/MDEvents/src/ImportMDHistoWorkspace.cpp index cf24e090740f..53d0175bed5b 100644 --- a/Code/Mantid/Framework/MDEvents/src/ImportMDHistoWorkspace.cpp +++ b/Code/Mantid/Framework/MDEvents/src/ImportMDHistoWorkspace.cpp @@ -1,40 +1,3 @@ -/*WIKI* - - -This algorithm takes a text file (.txt extension) containing two columns and converts it into an MDHistoWorkspace. - -=== Details === - -The columns are in the order '''signal''' then '''error'''. The file must only contain two columns, these may be separated by any whitespace character. The algorithm expects there to be 2*product(nbins in each dimension) entries in this file. So if you have set the dimensionality to be ''4,4,4'' then you will need to provide 64 rows of data, in 2 columns or 124 floating point entries. - -The Names, Units, Extents and NumberOfBins inputs are all linked by the order they are provided in. For example, if you provide Names ''A, B, C'' and Units ''U1, U2, U3'' then the dimension ''A'' will have units ''U1''. - -Signal and Error inputs are read in such that, the first entries in the file will be entered across the first dimension specified, and the zeroth index in the other dimensions. The second set of entries will be entered across the first dimension and the 1st index in the second dimension, and the zeroth index in the others. - -== Alternatives == -A very similar algorithm to this is [[CreateMDHistoWorkspace]], which takes it's input signal and error values from arrays rather than a text file. Another alternative is to use [[ConvertToMD]] which works on MatrixWorkspaces, and allows log values to be included in the dimensionality. - - -*WIKI*/ -/*WIKI_USAGE* -The following call will create an MDHistoWorkspace called ''demo'' with 3 dimensions with 2 bins in each dimension. Each dimension will -span from -1 to 1 in units of T. - - ImportMDHistoWorkspace(Filename='demo.txt',Dimensionality='3',Extents='-1,1,-1,1,-1,1',NumberOfBins='2,2,2',Names='A,B,C',Units='T,T,T',OutputWorkspace='demo') - - -And here's the corresponding contents of ''demo.txt'': - - 1 1.1 - 2 2.1 - 3 3.1 - 4 4.1 - 5 5.1 - 6 6.1 - 7 7.1 - 8 8.1 -*WIKI_USAGE*/ - #include "MantidMDEvents/ImportMDHistoWorkspace.h" #include "MantidAPI/FileProperty.h" diff --git a/Code/Mantid/Framework/MDEvents/src/ImportMDHistoWorkspaceBase.cpp b/Code/Mantid/Framework/MDEvents/src/ImportMDHistoWorkspaceBase.cpp index c6c8a3e22d35..dcd0dc6f4843 100644 --- a/Code/Mantid/Framework/MDEvents/src/ImportMDHistoWorkspaceBase.cpp +++ b/Code/Mantid/Framework/MDEvents/src/ImportMDHistoWorkspaceBase.cpp @@ -1,7 +1,3 @@ -/*WIKI* -TODO: Enter a full wiki-markup description of your algorithm here. You can then use the Build/wiki_maker.py script to generate your full wiki page. -*WIKI*/ - #include "MantidMDEvents/ImportMDHistoWorkspaceBase.h" #include "MantidMDEvents/MDHistoWorkspace.h" #include "MantidKernel/CompositeValidator.h" @@ -120,4 +116,4 @@ namespace MDEvents } // namespace Mantid -} // namespace MDEvents \ No newline at end of file +} // namespace MDEvents diff --git a/Code/Mantid/Framework/MDEvents/src/IntegrateEllipsoids.cpp b/Code/Mantid/Framework/MDEvents/src/IntegrateEllipsoids.cpp index 767ccda0085c..47a7733c3841 100644 --- a/Code/Mantid/Framework/MDEvents/src/IntegrateEllipsoids.cpp +++ b/Code/Mantid/Framework/MDEvents/src/IntegrateEllipsoids.cpp @@ -1,89 +1,3 @@ -/*WIKI* - -=== Overview === - -This algorithm will integrate disjoint single crystal Bragg peaks by summing the number -of raw events in a 3D ellipsoidal peak region in reciprocal space and subtracting an -estimate of the background obtained from an ellipsoidal shell. In some ways it is -similar to the IntegratePeaksMD algorithm, and it would be useful to also see the -documentation for that algorithm. In particular the size parameters to this algorithm -are also specified in inverse Angstroms and the background subtraction is done in -the same way for both the intensity and the estimated standard deviations. However, -this algorithm differs from IntegratePeaksMD in several critical ways. - -* This algorithm counts raw, un-weighted events while IntegratePeaksMD uses weighted events. -* This algorithm uses 3D ellipsoidal regions with aspect ratios that are adapted to the set of events that are near the peak center, while IntegratePeaksMD uses spherical regions. -* This algorithm includes an option to automatically choose the size of the ellipsoidal regions based on the statistics of the set of events near the peak. -* This algorithm only applies to peaks with integral HKL values and as currently implemented it cannot be used to integrate ellipsoidal regions at other locations in reciprocal space. - -The algorithm calculates the three principal axes of the events near a peak, and -uses the standard deviations in the directions of the principal axes to determine -the aspect ratio of ellipsoids used for the peak and background regions. - -=== Explanation of Inputs === - -* The event data to be integrated is obtained from an ordinary EventWorkspace with an X-axis in time-of-flight, as loaded from a NeXus event file. This algorithm maps the events to reciprocal space. - -* The peaks to be integrated are obtained from a PeaksWorkspace. The peaks must be indexed, and any peaks indexed as (0,0,0) will be ignored. The HKL values for valid peaks should all be integers, to make this check for unindexed peaks reliable. - -* Only events that are near a peak are considered when constructing the ellipsoids. The RegionRadius specifies the maximum distance from the peak center to an event in reciprocal space, for that event to used. See the figure below. Also, each event will be counted for at most one peak, the one with the nearest HKL value. The RegionRadius should be specified to be just slightly larger than the expected peak region to avoid overlap with other peaks, and to avoid including excessive background. As the size of the RegionRadius increases, the ellipsoids will become more spherical and less well adapted to the actual shape of the peak. - -[[File:IntegrateEllipsoids.png]] - -* If the SpecifySize option is selected, then the user MUST specify the PeakSize, BackgroundInnerSize and BackgroundOuterSize. In this mode, the algorithm is similar to the IntegratePeaksMD algorithm. As shown in the figure, these values determine the length of the major axis for the ellipsoidal peak region, and of the inner and outer ellipsoids bounding the background region. The same major axis lengths are used for all peaks, but the lengths of the other two axes of the ellipsoids are adjusted based on the standard deviations of the events in those directions. If SpecifySize is false, then the major axis length for each peak will be set to include a range of plus or minus three times the standard deviation of the events in that direction. That is, PeakSize is set to three times the standard deviation in the direction of the first principal axis. Also, in this case the BackgroundInnerSize is set to the PeakSize and the BackgroundOuterSize is set so that the background ellipsoidal shell has the same volume as the peak ellipsoidal region. If specified by the user, these parameters must be ordered correctly with: 0 < PeakSize \leq BackgroundInnerSize < BackgroundOuterSize \leq RegionRadius - -* The integrated intensities will be set in the specified OutputWorkspace. If this is different from the input PeaksWorkspace, the input peaks workspace will be copied to the OutputWorkspace before setting the integrated intensities. - -=== Detailed Algorithm Description === - -This algorithm will integrate a list of indexed single-crystal diffraction peaks from a -PeaksWorkspace, using events from an EventWorkspace. The indexed peaks are first -used to determine a UB matrix. The inverse of that UB matrix is then used to form -lists of events that are close to peaks in reciprocal space. An event will be added -to the list of events for a peak provided that the fractional h,k,l value of that -event (obtained by applying UB-inverse to the Q-vector) is closer to the h,k,l of that -peak, than to the h,k,l of any other peak AND the Q-vector for that event is within -the specified radius of the Q-vector for that peak. - -When the lists of events near the peaks have been built, the three principal axes of -the set of events near each peak are found, and the standard deviations of the -projections of the events on each of the three principal axes are calculated. The -principal axes and standard deviations for the events around a peak in the directions -of the principal axes are used to determine an ellipsoidal region for the peak and an -ellipsoidal shell region for the background. The number of events in the peak -ellipsoid and background ellipsoidal shell are counted and used to determine the net -integrated intensity of the peak. - -The ellipsoidal regions used for the peak and background can be obtained in two ways. -First, the user may specify the size of the peak ellipsoid and the inner and outer -size of the background ellipsoid. If these are specified, the values will be used -for half the length of the major axis of an ellipsoid centered on the peak. The -major axis is in the direction of the principal axis for which the standard deviation -in that direction is largest. The other two axes for the ellipsoid are in the -direction of the other two principal axes and are scaled relative to the major axes -in proportion to their standard deviations. For example if the standard deviations -in the direction of the other two princial axes are .8 and .7 times the standard -deviation in the direction of the major axis, then the ellipse will extend only .8 -and .7 times as far in the direction of those axes, as in the direction of the major -axis. Overall, the user specified sizes for the PeakSize, BackgroundInnerSize and -BackgroundOuterSize are similar to the PeakRadius, BackgroundInnerRadius and -BackgrounOuterRadius for the IntegratePeaksMD algorithm. The difference is that -the regions used in this algorithm are not spherical, but are ellipsoidal with axis -directions obtained from the principal axes of the events near a peak and the -ellipsoid shape (relative axis lengths) is determined by the standard deviations in -the directions of the principal axes. - -Second, if the user does not specifiy the size of the peak and background ellipsoids, -then the three axes of the peak ellipsoid are again set to the principal axes of the -set of nearby events but in this case their axis lengths are set to cover a range of -plus or minus three standard deviations in the axis directions. In this case, the -background ellipsoidal shell is chosen to have the same volume as the peak ellipsoid -and it's inner surface is the outer surface of the peak ellipsoid. The outer surface -of the background ellipsoidal shell is an ellipsoidal surface with the same relative -axis lengths as the inner surface. - -*WIKI*/ - #include #include #include diff --git a/Code/Mantid/Framework/MDEvents/src/OneStepMDEW.cpp b/Code/Mantid/Framework/MDEvents/src/OneStepMDEW.cpp index c0a45f377244..1f6eab79cd1a 100644 --- a/Code/Mantid/Framework/MDEvents/src/OneStepMDEW.cpp +++ b/Code/Mantid/Framework/MDEvents/src/OneStepMDEW.cpp @@ -1,14 +1,3 @@ -/*WIKI* - - -This algorithm is used in the Paraview event nexus loader to both load an event nexus file and convert it into a [[MDEventWorkspace]] for use in visualization. - -The [[LoadEventNexus]] algorithm is called with default parameters to load into an [[EventWorkspace]]. - -After, the [[MakeDiffractionMDEventWorkspace]] algorithm is called with the new EventWorkspace as input. The parameters are set to convert to Q in the lab frame, with Lorentz correction, and default size/splitting behavior parameters. - - -*WIKI*/ #include "MantidMDEvents/OneStepMDEW.h" #include "MantidKernel/System.h" #include "MantidAPI/FileProperty.h" @@ -90,4 +79,3 @@ namespace Mantid } // namespace Mantid } // namespace MDEvents - diff --git a/Code/Mantid/Framework/MDEvents/src/QueryMDWorkspace.cpp b/Code/Mantid/Framework/MDEvents/src/QueryMDWorkspace.cpp index 7de863ea016b..27cb859a277a 100644 --- a/Code/Mantid/Framework/MDEvents/src/QueryMDWorkspace.cpp +++ b/Code/Mantid/Framework/MDEvents/src/QueryMDWorkspace.cpp @@ -1,16 +1,3 @@ -/*WIKI* - -This algorithm outputs a table workspace containing summary data about each box within an IMDWorkspace. -The table workspace can be used as a basis for plotting within MantidPlot. - -== Format == -* Column 1: Signal (double) -* Column 2: Error (double) -* Column 3: Number of Events (integer) -* Column 4: Coords of box center (string) - -*WIKI*/ - #include "MantidMDEvents/QueryMDWorkspace.h" #include "MantidKernel/System.h" #include "MantidAPI/IMDEventWorkspace.h" diff --git a/Code/Mantid/Framework/MDEvents/src/SaveIsawQvector.cpp b/Code/Mantid/Framework/MDEvents/src/SaveIsawQvector.cpp index 81074b923d69..eb2cdca329a9 100644 --- a/Code/Mantid/Framework/MDEvents/src/SaveIsawQvector.cpp +++ b/Code/Mantid/Framework/MDEvents/src/SaveIsawQvector.cpp @@ -1,7 +1,3 @@ -/*WIKI* -This takes an unprocessed event workspace and writes out a file where each event has the (Q_x, Q_y, Q_z) as a set of 32-bit floats. -*WIKI*/ - #include #include #include "MantidAPI/FileProperty.h" diff --git a/Code/Mantid/Framework/MPIAlgorithms/src/GatherWorkspaces.cpp b/Code/Mantid/Framework/MPIAlgorithms/src/GatherWorkspaces.cpp index fa98f75bb076..d4b80364b5c8 100644 --- a/Code/Mantid/Framework/MPIAlgorithms/src/GatherWorkspaces.cpp +++ b/Code/Mantid/Framework/MPIAlgorithms/src/GatherWorkspaces.cpp @@ -1,10 +1,3 @@ -/*WIKI* - - -Gathers workspaces from all processors of MPI run. Add or append workspaces to processor 0. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/PythonInterface/mantid/api/src/Algorithms/RunPythonScript.cpp b/Code/Mantid/Framework/PythonInterface/mantid/api/src/Algorithms/RunPythonScript.cpp index 3ae065d092ff..c15bd4e9b70e 100644 --- a/Code/Mantid/Framework/PythonInterface/mantid/api/src/Algorithms/RunPythonScript.cpp +++ b/Code/Mantid/Framework/PythonInterface/mantid/api/src/Algorithms/RunPythonScript.cpp @@ -1,12 +1,3 @@ -/*WIKI* -Algorithm that will run a snippet of python code. -This is meant to be used by [[LoadLiveData]] to perform some processing. - -The input & output workspaces can be accessed from the Python code using the variable -names 'input' & 'output' respectively. - -*WIKI*/ - #include "MantidPythonInterface/api/Algorithms/RunPythonScript.h" #include "MantidPythonInterface/kernel/Environment/ErrorHandling.h" #include "MantidPythonInterface/kernel/Environment/Threading.h" diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/BASISReduction.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/BASISReduction.py index 7e5a7512a811..0ae72a8d6730 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/BASISReduction.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/BASISReduction.py @@ -1,17 +1,3 @@ -"""*WIKI* - -This algorithm is meant to temporarily deal with letting BASIS reduce lots -of files via Mantid. The syntax for the run number designation will allow -groups of runs to be joined. Examples: - -1. 2144-2147,2149,2156 -2. 2144-2147;2149;2156 - -Example 1 will be summed into a single run -Example 2 will have three run groups - -*WIKI*""" - import mantid.simpleapi as api from mantid.api import * from mantid.kernel import * @@ -261,4 +247,3 @@ def _calibData(self, sam_ws, mon_ws): # Register algorithm with Mantid. AlgorithmFactory.subscribe(BASISReduction) - diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/CalibrateRectangularDetectors.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/CalibrateRectangularDetectors.py index efca382ed7d6..5842e460e1a5 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/CalibrateRectangularDetectors.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/CalibrateRectangularDetectors.py @@ -1,41 +1,3 @@ -"""*WIKI* - -Here are examples of input and output from PG3 and SNAP: - -[[Image:PG3_Calibrate.png]] - -[[Image:SNAP_Calibrate.png]] - --The purpose of this algorithm is to calibrate the detector pixels and write a calibration file. -The calibration file name contains the instrument, run number, and date of calibration. -A binary Dspacemap file that converts from TOF to d-space including the calculated offsets is -also an output option. For CrossCorrelation option: If one peak is not in the spectra of all -the detectors, you can specify the first n detectors to be calibrated with one peak and the -next n detectors to be calibrated with the second peak. If a color fill plot of the calibrated -workspace does not look good, do a color fill plot of the workspace that ends in cc to see if -the CrossCorrelationPoints and/or PeakHalfWidth should be increased or decreased. -Also plot the reference spectra from the cc workspace. - -== Features to improve performance of peak finding == - -=== Define peak fit-window === -There are two exclusive approaches to define peak's fit-window. - -1. ''PeakWindowMax'': All peaks will use this value to define their fitting range. - -2. ''FitwindowTableWorkspace'': This is a table workspace by which each peak will have its individual fit window defined. - -=== Define accepted range of peak's width === -Optional input property ''DetectorResolutionWorkspace'' is a matrix workspace containing the detector resolution -\Delta(d)/d for each spectrum. -Combining with property ''AllowedResRange'', it defines the lower and upper limit for accepted fitted peak width. - -Let c_l = AllowedResRange[0] , c_h = AllowedResRange[1] and fwhm as the peak's fitted width. -Then, -: c_l\times\frac{\Delta(d)}{d} < fwhm < c_h\times\frac{\Delta(d)}{d} - - -*WIKI*""" from mantid.api import * from mantid.kernel import * from mantid.simpleapi import * diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/CheckForSampleLogs.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/CheckForSampleLogs.py index d74879f0e594..f4af31cc2900 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/CheckForSampleLogs.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/CheckForSampleLogs.py @@ -1,7 +1,3 @@ -"""*WIKI* -Check if the workspace has some given sample logs -*WIKI*""" - from mantid.api import PythonAlgorithm, AlgorithmFactory, WorkspaceProperty import mantid.simpleapi from mantid.kernel import Direction, logger diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/ConjoinFiles.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/ConjoinFiles.py index 9a65f7a1ccd5..03248eb07c83 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/ConjoinFiles.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/ConjoinFiles.py @@ -1,9 +1,3 @@ -"""*WIKI* - -Conjoin two workspaces, which are file based. Uses [[ConjoinWorkspaces]] to do the heavy-lifting. - -*WIKI*""" - from mantid.api import * from mantid.kernel import * from mantid.simpleapi import * diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/ConjoinSpectra.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/ConjoinSpectra.py index 981597bbfbd2..842d7b42d32c 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/ConjoinSpectra.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/ConjoinSpectra.py @@ -1,10 +1,3 @@ -"""*WIKI* - -This algorithm allows a single spectrum to be extracted from a range of workspaces and placed into a single workspace for comparison and plotting. The LabelUsing property allows you to control what the end labels applied to each spectra will be. The default is to use the source workspace name, but you can specify the name of a log value to use as the label, e.g. Temp_Sample. the LabelValue property allows control of how a single value is extracted from time series logs. - -*WIKI*""" - - from mantid.api import * from mantid.kernel import * from mantid.simpleapi import * diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/ConvertSnsRoiFileToMask.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/ConvertSnsRoiFileToMask.py index 5f16406ebce8..e54df907acfd 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/ConvertSnsRoiFileToMask.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/ConvertSnsRoiFileToMask.py @@ -1,15 +1,3 @@ -"""*WIKI* - -This algorithm reads in an old SNS reduction ROI file and converts it into -a Mantid mask workspace. It will save that mask to a Mantid mask file. - -The file format of the ROI file looks like: -bank1_0_0 -bank1_0_1 -... - -*WIKI*""" - import mantid.simpleapi as msapi import mantid.api as api import mantid.kernel as kernel diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/CorrectLogTimes.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/CorrectLogTimes.py index 280c98bd5b86..a1976b61c4d0 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/CorrectLogTimes.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/CorrectLogTimes.py @@ -1,8 +1,3 @@ -"""*WIKI* -Sometimes the clocks controlling different sample environments or other experimental log values are not synchronized. -This algorithm attempts to make all (some) time series property logs start at the same time as the first time in the proton charge log. -*WIKI*""" - import mantid.simpleapi import mantid.api import mantid.kernel diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/CreateEmptyTableWorkspace.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/CreateEmptyTableWorkspace.py index 9c61971d1df5..c61685dd6f41 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/CreateEmptyTableWorkspace.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/CreateEmptyTableWorkspace.py @@ -1,9 +1,3 @@ -"""*WIKI* - -This algorithm creates an empty table workspace and puts it in the data service to make it available to python. - -*WIKI*""" - from mantid.api import PythonAlgorithm, AlgorithmFactory, ITableWorkspaceProperty, WorkspaceFactory from mantid.kernel import Direction @@ -24,4 +18,3 @@ def PyExec(self): # Register algorithm with Mantid AlgorithmFactory.subscribe(CreateEmptyTableWorkspace) - diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/CreateLeBailFitInput.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/CreateLeBailFitInput.py index 232075d518ac..fb50454c149d 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/CreateLeBailFitInput.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/CreateLeBailFitInput.py @@ -1,29 +1,3 @@ -"""*WIKI* - -This algorithm is to import Fullprof .irf file (peak parameters) and .hkl file (reflections) and -record the information to TableWorkspaces, which serve as the inputs for algorithm LeBailFit. - -==== Format of Instrument parameter TableWorkspace ==== -Instrument parameter TableWorkspace contains all the peak profile parameters imported from Fullprof .irf file. - -Presently these are the peak profiles supported - * Thermal neutron back to back exponential convoluted with pseudo-voigt (profile No. 10 in Fullprof) - -Each row in TableWorkspace corresponds to one profile parameter. - -Columns include Name, Value, FitOrTie, Min, Max and StepSize. - - -==== Format of reflection TableWorkspace ==== -Each row of this workspace corresponds to one diffraction peak. -The information contains the peak's Miller index and (local) peak profile parameters of this peak. -For instance of a back-to-back exponential convoluted with Gaussian peak, -the peak profile parameters include Alpha, Beta, Sigma, centre and height. - -== How to use algorithm with other algorithms == -This algorithm is designed to work with other algorithms to do Le Bail fit. The introduction can be found in the wiki page of [[Le Bail Fit]]. - -*WIKI*""" #from mantid.api import PythonAlgorithm, AlgorithmFactory, ITableWorkspaceProperty, WorkspaceFactory, FileProperty, FileAction #from mantid.kernel import Direction, StringListValidator, FloatBoundedValidator @@ -224,4 +198,3 @@ def generateBraggReflections(self, hklmax): # Register algorithm with Mantid AlgorithmFactory.subscribe(CreateLeBailFitInput) - diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/CreateTransmissionWorkspaceAuto.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/CreateTransmissionWorkspaceAuto.py index 25587ba07e15..4d9874c5b485 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/CreateTransmissionWorkspaceAuto.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/CreateTransmissionWorkspaceAuto.py @@ -1,13 +1,3 @@ -"""*WIKI* - -Facade over [[CreateTransmissionWorkspace]]. Pull numeric parameters out of the instrument parameters where possible. You can override any of these automatically -applied defaults by providing your own value for the input. - -See [[CreateTransmissionWorkspace]] for more information on the wrapped algorithm. - -*WIKI*""" - - import sys from mantid.simpleapi import CreateTransmissionWorkspace from mantid.api import * diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/DSFinterp.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/DSFinterp.py index 566032e2e0b9..44d2166ffe7e 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/DSFinterp.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/DSFinterp.py @@ -1,129 +1,3 @@ -"""*WIKI* - -== Usage == - -DSFinterp(Workspaces,OutputWorkspaces,[LoadErrors],[ParameterValues], - [LocalRegression],[RegressionWindow],[RegressionType],[TargetParameters], - [Version]) - -
- -== Properties == - -{| border="1" cellpadding="5" cellspacing="0" -!Order -!Name -!Direction -!Type -!Default -!Description -|- -|colspan=6 align=center|'''Input''' -|- -|1 -|Workspaces -|Input -|str list -|Mandatory -|list of input workspaces -|- -|2 -|LoadErrors -|Input -|boolean -| True -|Do we load error data contained in the workspaces? -|- -|3 -|ParameterValues -|Input -|dbl list -|Mandatory -|list of input parameter values -|- -|colspan=6 align=center|'''Running Local Regression Options''' -|- -|4 -|LocalRegression -|Input -|boolean -| True -|Perform running local-regression? -|- -|5 -|RegressionWindow -|Input -|number -| 6 -|window size for the running local-regression -|- -|6 -|RegressionType -|Input -|string -| quadratic -|type of local-regression; linear and quadratic are available -|- -|colspan=6 align=center|'''Output''' -|- -|7 -|TargetParameters -|Output -|dbl list -|Mandatory -|Parameters to interpolate the structure factor -|- -|8 -|OutputWorkspaces -|Output -|str list -|Mandatory -|list of output workspaces to save the interpolated structure factors -|- -|} - -== Required == - -This algorithm requires python package [https://github.com/camm-sns/dsfinterp dsfinterp], available at the [https://pypi.python.org/pypi/dsfinterp python package index]. if the package is not present, this algorithm will not be available. To install: - sudo pip install dsfinterp - -== Details == - -For every "dynamical channel" defined by one particular (Q,E) pair, the sequence of scalars -{{S_i \equiv S(Q,E,T_i)}} ordered by increasing value of T is interpolated with a cubic spline, which then can be invoked to obtain -S(Q,E,T) at any T value. - -Errors in the structure factor are incorporated when constructing the spline, so that the spline need not neccessarily pass trough the (T_i, S_i) points. This has the desirable effect of producing smooth spline curves when the variation of the structure factors versus T contains significant noise. For more details on the construction of the spline, see [http://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.UnivariateSpline.html UnivariateSpline]. - -[[Image:DSFinterp_local_regression.png|thumb|300px|Local quadratic regression of windowsize w=7 starting at index n=2]] - -If the structure factors have no associated errors, an scenario typical of structure factors derived from simulations, then error estimation can be implemented with the running, local regression option. A local regression of windowsize w starting at index n performs a linear squares minimization F on the set of points (T_n,S_n),..,(T_{n+w},S_{n+w}). After the minimization is done, we record the expected value and error at T_{n+w/2}: - -value: S_{n+w/2}^' = F(T_{n+w/2}) - -error: e_{n+w/2} = \sqrt(\frac{1}{w}\sum_{j=n}^{n+w}(S_j-F(T_j))^2) - -As we slide the window along the T-axis, we obtain values and errors at every T_i. We use the {F(T_i)} values and {e_i} errors to produce a smooth spline, as well as expected errors at any T value. - -== Example == - -Our example system is a simulation of a small crystal of octa-methyl [http://www.en.wikipedia.org/wiki/Silsesquioxane silsesqioxane] molecules. A total of 26 molecular dynamics simulations were performed under different values of the energy barrier to methyl rotations, K. Dynamics structure factors S(Q,E) were derived from each simulation. - -[[Image:DSFinterp_fig3.png|thumb|center|600px|Interpolated spline (solid line) with associated errors at one (Q,E) dynamical channel. Red dots are values from the simulation used to construct the spline.]] - -There are as many splines as dynamical channels. The algorithm gathers the interpolations for each channel and aggregates them into an interpolated structure factor. - -[[Image:DSFinterp_fig4.png|thumb|center|600px|Interpolated structure factor S(K,E|Q), in logarithm scaling, at fixed Q=0.9A^{-1}.]] - -[[Category:Algorithms]] -[[Category:Utility]] -[[Category:PythonAlgorithms]] -[[Category:Transforms]] -[[Category:Smoothing]] -{{AlgorithmLinks|DSFinterp}} - -*WIKI*""" - from mantid.api import PythonAlgorithm, MatrixWorkspaceProperty, AlgorithmFactory from mantid.simpleapi import CloneWorkspace, mtd from mantid.kernel import StringListValidator, FloatArrayProperty, FloatArrayLengthValidator, FloatArrayMandatoryValidator, StringArrayProperty, StringArrayMandatoryValidator, Direction, FloatBoundedValidator, logger, EnabledWhenProperty, PropertyCriterion diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/DakotaChiSquared.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/DakotaChiSquared.py index 6f3653fb61f2..7a671ccb7066 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/DakotaChiSquared.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/DakotaChiSquared.py @@ -1,7 +1,3 @@ -"""*WIKI* -Compare two nexus files containing matrix workspaces and output chi squared into a file -*WIKI*""" - from mantid.api import PythonAlgorithm, AlgorithmFactory,MatrixWorkspaceProperty,PropertyMode from mantid.kernel import Direction,IntBoundedValidator,FloatBoundedValidator import mantid.simpleapi diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/ExaminePowderDiffProfile.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/ExaminePowderDiffProfile.py index 824510e98bef..adae35841742 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/ExaminePowderDiffProfile.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/ExaminePowderDiffProfile.py @@ -1,8 +1,3 @@ -"""*WIKI* - -This algorithm is to examine peak profile values for powder diffractometry by LeBailFit. - -*WIKI*""" # from mantid.api import PythonAlgorithm, AlgorithmFactory, ITableWorkspaceProperty, WorkspaceFactory, FileProperty, FileAction, MatrixWorkspaceProperty, WorkspaceProperty, PropertyMode # from mantid.kernel import Direction, StringListValidator diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/Examples/Squares.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/Examples/Squares.py index 75c5f78cfe68..62242a5c74db 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/Examples/Squares.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/Examples/Squares.py @@ -1,8 +1,3 @@ -"""*WIKI* -An example algorithm. - -The wiki description of the algorithm should go here. -*WIKI*""" from mantid.api import * from mantid.kernel import * diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/ExportExperimentLog.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/ExportExperimentLog.py index d2718f1eed10..687bdfcf1036 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/ExportExperimentLog.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/ExportExperimentLog.py @@ -1,47 +1,3 @@ -"""*WIKI* - -Algorithm ExportExperimentLog obtains run information, sample information and -sample log information from a MatrixWorkspace and write them to a csv file. - -== File Mode == -There are 3 modes to write the experiment log file. - -1. "new": A new file will be created with header line; - -2. "appendfast": A line of experiment log information will be appended to an existing file; -* It is assumed that the log names given are exactly same as those in the file, as well as their order; -* Input property ''SampleLogTitles'' will be ignored in this option; - -3. "append": A line of experiment log information will be appended to an existing file; -* The algorithm will check whether the specified log file names, titles and their orders are exactly same as those in the file to append to; -* If any difference is deteced, the old file will be renamed in the same directory. And a new file will be generated. - - -== Missing Sample Logs == -If there is any sample log specified in the properites but does not exist in the workspace, -a zero float value will be put to the experiment log information line, -as the preference of instrument scientist. - -== Sample Log Operation == -If the type of a sample log is TimeSeriesProperty, it must be one of the following 5 types. -* "min": minimum TimeSeriesProperty's values; -* "max": maximum TimeSeriesProperty's values; -* "average": average of TimeSeriesProperty's values; -* "sum": summation of TimeSeriesProperty's values; -* "0": first value of TimeSeriesProperty's value. - -If the type of a sample log is string and in fact it is a string for time, then there will an option as -* "localtime": convert the time from UTC (default) to local time - -Otherwise, there is no operation required. For example, log 'duration' or 'run_number' does not have any operation on its value. An empty string will serve for them in property 'SampleLogOperation'. - -== File format == -There are two types of output file formats that are supported. -They are csv (comma seperated) file and tsv (tab separated) file. -The csv file must have an extension as ".csv". If a user gives the name of a log file, which is in csv format, -does not have an extension as .csv, the algorithm will correct it automatically. - -*WIKI*""" import mantid.simpleapi as api import mantid from mantid.api import * diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/ExportSampleLogsToCSVFile.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/ExportSampleLogsToCSVFile.py index 35f6599c22c2..15c9b8a97ce7 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/ExportSampleLogsToCSVFile.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/ExportSampleLogsToCSVFile.py @@ -1,17 +1,3 @@ -"""*WIKI* - -== Header file == -* Line 0: Test date: [Test date in string] -* Line 1: Test description: [Description of this log file] -* Line 2: Header content given by user via input property ''Header''. Usually it is the column names in the .csv file - -== CSV File format == -* Column 0: Absolute time in second -* Column 1: Relative to first log entry's time -* Column 2 to (2 + n) - 1: log values in the order determined by input ''SampleLogNames'' - -*WIKI*""" - import mantid.simpleapi as api from mantid.api import * from mantid.kernel import * diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/FilterLogByTime.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/FilterLogByTime.py index 32426cf67bb5..c3780ef2f5ab 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/FilterLogByTime.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/FilterLogByTime.py @@ -1,15 +1,3 @@ -"""*WIKI* -Filters out logs that do not sit between StartTime and EndTime. The algorithm also applied a 'Method' to those filtered results and returns the statistic. -A workspace must be provided containing logs. The log name provided must refer to a FloatTimeSeries log. - -Unless specified, StartTime is taken to be run_start. StartTime and EndTime filtering is inclusive of the limits provided. - -The Method allows you to create quick statistics on the filtered array returned in the FilteredResult output argument. Therefore the return value from Method=mean is equivalent to running numpy.mean -on the output from the FilteredResult property. All the Method options map directly to python numpy functions with the same name. These are documented -[http://docs.scipy.org/doc/numpy/reference/routines.statistics.html here] - -*WIKI*""" - from mantid.simpleapi import * from mantid.api import * from mantid.kernel import * diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/FindReflectometryLines.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/FindReflectometryLines.py index 6cdc3d0c6a4e..47697c5f49b2 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/FindReflectometryLines.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/FindReflectometryLines.py @@ -1,10 +1,3 @@ -"""*WIKI* - -Finds spectrum numbers corresponding to reflected and transmission lines in a line detector Reflectometry dataset. - -Expects two or one, reflectometry peaks, will fail if there are more or less than this number of peaks. The first peak is taken to be from the reflected line, the second is taken to be from the transmission line. This algorithm outputs a TableWorkspace containing the spectrum number of interest. -*WIKI*""" - from mantid.api import * from mantid.kernel import * import numpy as np diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/GenerateGroupingSNSInelastic.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/GenerateGroupingSNSInelastic.py index 0714d0f03d89..5aaaec332e00 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/GenerateGroupingSNSInelastic.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/GenerateGroupingSNSInelastic.py @@ -1,12 +1,3 @@ -"""*WIKI* -Generate grouping files for ARCS, CNCS, HYSPEC, and SEQUOIA, by grouping py pixels along a tube and px tubes. -py is 1, 2, 4, 8, 16, 32, 64, or 128. -px is 1, 2, 4, or 8. - -Author: A. Savici - -*WIKI*""" - import mantid import mantid.api import mantid.simpleapi @@ -104,4 +95,3 @@ def PyExec(self): return mantid.api.AlgorithmFactory.subscribe(GenerateGroupingSNSInelastic) - diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/GetEiMonDet.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/GetEiMonDet.py index abcb1c5789df..d665ea3afb62 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/GetEiMonDet.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/GetEiMonDet.py @@ -1,9 +1,3 @@ -"""*WIKI* -Get incident energy from one monitor and some detectors. If the minimum distance from the sample to detectors is dmin, -one will select detectors in the range dmin to dmin*MaximumDistanceFraction. These are grouped together, appended to -a copy of the monitor workspace, then fed to GetEi algorithm. The output of this algorithm is identical to that of [[GetEi]]. -*WIKI*""" - from mantid.api import PythonAlgorithm, AlgorithmFactory,WorkspaceProperty from mantid.kernel import Direction,IntBoundedValidator,FloatBoundedValidator import mantid.simpleapi diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/GetEiT0atSNS.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/GetEiT0atSNS.py index db75ced6c066..4910607fe0b3 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/GetEiT0atSNS.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/GetEiT0atSNS.py @@ -1,11 +1,3 @@ -"""*WIKI* -Get Ei and T0 on ARCS and SEQUOIA instruments. It accounts for the following: -* in the ADARA framework, the monitors are in the first frame. -* SEQUOIA has event based monitors. -* some data aquisition errors will create unphysical monitor IDs. This will be ignored -* when vChTrans is 2, on ARCS and SEQUOIA there is no chopper in the beam (white beam). Will return not a number for both Ei and T0 -*WIKI*""" - import mantid import numpy diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/LoadFullprofFile.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/LoadFullprofFile.py index 38202e23ff2d..5350f7b32c00 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/LoadFullprofFile.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/LoadFullprofFile.py @@ -1,29 +1,3 @@ -"""*WIKI* - -This algorithm is to import Fullprof .irf file (peak parameters) and .hkl file (reflections) and -record the information to TableWorkspaces, which serve as the inputs for algorithm LeBailFit. - -==== Format of Instrument parameter TableWorkspace ==== -Instrument parameter TableWorkspace contains all the peak profile parameters imported from Fullprof .irf file. - -Presently these are the peak profiles supported - * Thermal neutron back to back exponential convoluted with pseudo-voigt (profile No. 10 in Fullprof) - -Each row in TableWorkspace corresponds to one profile parameter. - -Columns include Name, Value, FitOrTie, Min, Max and StepSize. - - -==== Format of reflection TableWorkspace ==== -Each row of this workspace corresponds to one diffraction peak. -The information contains the peak's Miller index and (local) peak profile parameters of this peak. -For instance of a back-to-back exponential convoluted with Gaussian peak, -the peak profile parameters include Alpha, Beta, Sigma, centre and height. - -== How to use algorithm with other algorithms == -This algorithm is designed to work with other algorithms to do Le Bail fit. The introduction can be found in the wiki page of [[LeBailFit]]. - -*WIKI*""" from mantid.api import PythonAlgorithm, AlgorithmFactory, ITableWorkspaceProperty, WorkspaceFactory, FileProperty, FileAction, MatrixWorkspaceProperty, WorkspaceProperty from mantid.kernel import Direction, StringListValidator diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/LoadLogPropertyTable.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/LoadLogPropertyTable.py index 6ad9816c758c..a900f79723e2 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/LoadLogPropertyTable.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/LoadLogPropertyTable.py @@ -1,20 +1,3 @@ -"""*WIKI* -Creates a table workspace of the average values of log values against the run number. - -There are special cases for: -* beamlog_(counts, frames, etc): last few points end up in next run's log. Find Maximum. -* comment (separate function) -* time series, take average for t>0 (if available) - -It should: -# Load any file type that [[Load]] can handle. -# Not crash with multiperiod data - although values will be from period 1 -# Handle gaps in the file structure (although this can be slow over a network if you choose a range of 100s) -# Load only a single spectra of the data (if the file loader supports this). -# Print out the list of acceptable log names if one is entered incorrectly. -# Use a hidden workspace for the temporary loaded workspaces, and clean up after itself. -*WIKI*""" - import time import datetime import numbers diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/LoadMultipleGSS.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/LoadMultipleGSS.py index 42e76d296c34..525e22c57bbb 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/LoadMultipleGSS.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/LoadMultipleGSS.py @@ -1,8 +1,3 @@ -"""*WIKI* -This algorithm loads multiple gsas files from a single directory -into mantid. -*WIKI*""" - from mantid.api import * from mantid.simpleapi import * from mantid.kernel import * diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/LoadSINQ.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/LoadSINQ.py index 829786560b74..295ac4944268 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/LoadSINQ.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/LoadSINQ.py @@ -1,12 +1,3 @@ -"""*WIKI* -== Description == - -LoadSINQ loads SINQ NeXus files. The algorithm calculates the file name from the instrument, year and numor and tries to locate the file. Both at SINQ standard paths as well as the data directories configured for Mantid. Then it calls LoadSINQFile for the located data file. - -The Mantid standard Load algorithm selects based on file extensions. The file extensions used at SINQ, mainly .hdf and .h5, were already taken. Thus the need for a separate loader. - - -*WIKI*""" #-------------------------------------------------------------- # Algorithm which loads a SINQ file. # This algorithm calculates the filename from instrument diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/LoadSINQFile.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/LoadSINQFile.py index 28b3cbc9d71d..b0acec0f8bb5 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/LoadSINQFile.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/LoadSINQFile.py @@ -1,11 +1,3 @@ -"""*WIKI* - -LoadSINQFile is a wrapper algorithm around LoadFlexiNexus. -It locates a suitable dictionary file for the instrument in question and then goes away to call LoadFlexiNexus with the right arguments. -It also performs any other magic which might be required to get the data in the right shape for further processing in Mantid. - -*WIKI*""" - #-------------------------------------------------------------- # Algorithm which loads a SINQ file. It matches the instrument # and the right dictionary file and then goes away and calls diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/LoadVesuvio.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/LoadVesuvio.py index ba0d64aa8de3..291c6f35b331 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/LoadVesuvio.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/LoadVesuvio.py @@ -1,9 +1,3 @@ -"""*WIKI* - -A Workflow algorithm to load the data from the VESUVIO instrument at ISIS. - -*WIKI*""" - from mantid.kernel import * from mantid.api import * from mantid.simpleapi import (CropWorkspace, LoadEmptyInstrument, LoadRaw, Plus, diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/MaskAngle.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/MaskAngle.py index 2fea29a58b73..1d8908d12aad 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/MaskAngle.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/MaskAngle.py @@ -1,9 +1,3 @@ -"""*WIKI* -Algorithm to mask detectors with scattering angles in a given interval (in degrees) -By default MinAngle=0, MaxAngle=180, so if no keywords are set, all detectors are going to be masked -Returns a list of detectors that were masked -*WIKI*""" - import mantid.simpleapi import mantid.kernel import mantid.api diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/MaskBTP.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/MaskBTP.py index e34ae4bc0c1f..09944e9deb9c 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/MaskBTP.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/MaskBTP.py @@ -1,20 +1,3 @@ -"""*WIKI* -Algorithm to mask detectors in particular banks, tube, or pixels. It applies to the following instruments only: ARCS, CNCS, HYSPEC, NOMAD, POWGEN, SEQUOIA, SNAP, TOPAZ. For instruments with rectangular position sensitive detectors (POWGEN, SNAP, TOPAZ), the tube is -corresponding to the x coordinate, and pixel to the y coordinate. For example, on SNAP Bank="1", Tube="3" corresponds to -'SNAP/East/Column1/bank1/bank1(x=3)', and Bank="1", Tube="3", Pixel="5" is 'SNAP/East/Column1/bank1/bank1(x=3)/bank1(3,5)'. - - -If one of Bank, Tube, Pixel entries is left blank, it will apply to all elements of that type. For example: - -MaskBTP(w,Bank = "1") will completely mask all tubes and pixels in bank 1. -MaskBTP(w,Pixel = "1,2") will mask all pixels 1 and 2, in all tubes, in all banks. - -The algorithm allows ranged inputs: Pixel = "1-8,121-128" is equivalent to Pixel = "1,2,3,4,5,6,7,8,121,122,123,124,125,126,127,128" - -'''Note: '''Either the input workspace or the instrument must be set. If the workspace is set, the instrument is ignored. - -*WIKI*""" - import mantid.simpleapi import mantid.api import mantid.kernel diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/MaskWorkspaceToCalFile.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/MaskWorkspaceToCalFile.py index 57f77d2d3b6f..1624b058a4e7 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/MaskWorkspaceToCalFile.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/MaskWorkspaceToCalFile.py @@ -1,39 +1,3 @@ -"""*WIKI* -This algorithms writes a cal file with the selection column set to the masking status of the workspaces provided. The offsets and grouping details of the cal file are not completed, so you would normally use MargeCalFiles afterwards to import these values from another file. - -*WIKI*""" -"""*WIKI_USAGE* -Example: - #Load up two workspaces and mask some data - ws1=Load("GEM38370") - MaskDetectors(ws1,"100-200") - - ws2=Load("GEM38370") - MaskDetectors(ws2,"300-400") - - # Extract the masks to Mask Workspaces - #this drops the data and just reatains the mask informantion - #You can still visualize these using the instrument view - #Note: ExtractMasking outputs two items you need to catch them seperately - mw1,detList1=ExtractMasking(ws1) - mw2,detList2=ExtractMasking(ws2) - - #combine the masks - #Two ways to do this - #either - combinedMask = mw1+mw2 - #or - MaskDetectors(Workspace=mw1,MaskedWorkspace=mw2) - - #Extract the Mask to a cal file - dataDir = "C:/MantidInstall/data/" - MaskWorkspaceToCalFile(combinedMask,dataDir+"mask.cal") - - #Merge this with another cal file to pick up offsets and groups - MergeCalFiles(UpdateFile = dataDir+"mask.cal", MasterFile=dataDir+"offsets_2006_cycle064.cal", \ - OutputFile=dataDir+"resultCal.cal", MergeOffsets=False, MergeSelections=True,MergeGroups=False) - -*WIKI_USAGE*""" import sys from mantid.kernel import * from mantid.api import * diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/Mean.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/Mean.py index 84ada79a0db8..16342108b3a0 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/Mean.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/Mean.py @@ -1,6 +1,3 @@ -"""*WIKI* -Calculates the mean of the workspaces provided. Output workspace is identical in shape to the input workspaces. -*WIKI*""" from mantid.simpleapi import * from mantid.api import * from mantid.kernel import * diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/MergeCalFiles.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/MergeCalFiles.py index 8877d42a3fe7..63ac11749107 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/MergeCalFiles.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/MergeCalFiles.py @@ -1,9 +1,3 @@ -"""*WIKI* - -Combines the data contained in two cal files, based on the selections offsets, selections and groups can be merged. The matching rows are determined by UDET. Any unmatched records are added at the end of the file. - -*WIKI*""" - from mantid.api import * from mantid.kernel import * diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/PDDetermineCharacterizations.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/PDDetermineCharacterizations.py index 8b902e6102d6..0874ae7e01ea 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/PDDetermineCharacterizations.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/PDDetermineCharacterizations.py @@ -1,7 +1,3 @@ -"""*WIKI* - -*WIKI*""" - import mantid.simpleapi as api from mantid.api import * from mantid.kernel import * diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/PearlMCAbsorption.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/PearlMCAbsorption.py index cc0ef924aea2..1820366bbc39 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/PearlMCAbsorption.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/PearlMCAbsorption.py @@ -1,13 +1,3 @@ -"""*WIKI* - -Loads an existing file of pre-calculated or measured absorption coefficients for the PEARL instrument. - -If the file contains "t=" on the first line then the number following this is assumed to be the thickness in mm. The values in the second column are assumed to be \alpha(t). Upon reading the file the \alpha values for transformed into attenuation coefficients via \frac{I}{I_0} = exp(-\alpha * t). - -If the file does not contain "t=" on the top line then the values are assumed to be calculated \frac{I}{I_0} values and are simply read in verbatim. - -*WIKI*""" - from mantid.kernel import * from mantid.api import * from mantid.simpleapi import LoadAscii diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/PoldiMerge.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/PoldiMerge.py index b4b1a2b002d8..6c19116f6395 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/PoldiMerge.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/PoldiMerge.py @@ -1,15 +1,3 @@ -"""*WIKI* -PoldiMerge takes a list of workspace names and adds the counts, resulting in a new workspace. The difference to Plus is that it performs some POLDI-specific tests -that determine whether merging those files is sensible or not. The following requirements have to be fulfilled: - -* The time-binning (x-data) of all workspaces must match (offset as well as width of time bins) -* These quantities from the sample log: -** Position of the sample table (x, y and z) -** Rotation speed of the chopper - -The algorithm does not perform partial summation - if any of the workspaces does not fulfill the criteria, the intermediate result is discarded. -*WIKI*""" - from mantid.kernel import StringArrayProperty, Direction from mantid.simpleapi import * from mantid.api import * diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/PoldiProjectAddDir.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/PoldiProjectAddDir.py index 1dcf3921a4a5..3e5b982ecccc 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/PoldiProjectAddDir.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/PoldiProjectAddDir.py @@ -1,12 +1,3 @@ -"""*WIKI* - - -== How to use algorithm with other algorithms == -This algorithm is designed to work with other algorithms to -proceed POLDI data. The introductions can be found in the -wiki page of [[PoldiProjectRun]]. - -*WIKI*""" from mantid.api import (PythonAlgorithm, AlgorithmFactory) from mantid.api import (FileProperty, diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/PoldiProjectAddFile.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/PoldiProjectAddFile.py index 8d17347c6f67..159428180f19 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/PoldiProjectAddFile.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/PoldiProjectAddFile.py @@ -1,12 +1,3 @@ -"""*WIKI* - - -== How to use algorithm with other algorithms == -This algorithm is designed to work with other algorithms to -proceed POLDI data. The introductions can be found in the -wiki page of [[PoldiProjectRun]]. - -*WIKI*""" from mantid.api import * from mantid.kernel import Direction diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/PoldiProjectRun.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/PoldiProjectRun.py index d12e511d3527..ff695fb30262 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/PoldiProjectRun.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/PoldiProjectRun.py @@ -1,215 +1,3 @@ -"""*WIKI* - - - -PoldiProjectRun algorithm is used to analyze a bunch of POLDI raw data -files, following a standard POLDI analysis process. This algorithm -take as parameter a tableMatrix with a list of the sample to analyze, -and for each sample a bunch of setup information for the different -algorithms (such as the data file path, etc...). - -This tableWorkspace can be built easily using the -two algorithms [[PoldiProjectAddFile]] and [[PoldiProjectAddDir]], -which will create and/or fill properly a targeted tableWorkspace. -The needed columns and there content are describe in the -following [[PoldiProjectRun#Data Manager|Data Manager]] paragraph. - - -*WIKI_USAGE* -The algorithm is used the classical way. Only one parameter is compulsory. - OutputWorkspace = PoldiProjectRun(InputWorkspace=sample_manager_ws) - -*WIKI_USAGE* - - - - -Data are processed alone, or grouped together. For each -acquisition file, setup information have to be loaded. During -the data treatment process, transitional workspace are created. - -In a close future, it will possible to share different workspace -between data-file: for example when one knows that some -acquisitions should be strictly the same, auto-correlation -and peak detection could be done only one for all the data. - -=== Data manager === - - -A MatrixWorkspace is created to store all the information -about data-files and the future workspace needed during the analysis. -The stored information are: -
    -
  • spl Name - name of the sample, extract from the sample - file name, without the extension
  • -
  • year - year of the acquisition
  • -
  • number - id number of the acquisition
  • -
  • data file - full path of the data file
  • -
  • spl log - name of the MatrixWorkspace where the data log are loaded
  • -
  • spl corr - name of the MatrixWorkspace where the - correlated spectra is loaded
  • -
  • spl dead wires - name of the MatrixWorkspace where the - dead wires are loaded
  • -
  • spl peak - name of the MatrixWorkspace where the - detected peak information are stored
  • -
- - - - -=== POLDI setup manager === - -For each acquisition file, the IDF are loaded: -
    -
  • Instrument Definition files - The POLDI instrument geometry.
  • -
  • Instrument Parameters files - The setup parameters - for the data, at t he time of the acquisition.
  • -
- -The POLDI setup informations can be shared between -acquisition obtained during the same beam-time. -While loading each instrument files, the different POLDI -configurations used are stored in a MatrixWorkspace (most -often, there is only one per year), with an example of -data. The needed POLDI setup informations will then be -extracted from the IDF of each of these example sample. - -Therefore each POLDI setup are loaded only once and shared -between the different data files. - - - -=== Analysis steps === - -==== Loading the data ==== -Each data-file is loaded on a 2DWorkspace. The associated -log and setup information are loaded in dedicated workspace -as specified in the sample-manager TableWorkspace. - - -:[[LoadSINQFile]] - -The raw data are loaded in a 2DWorkspace, using the generic -file-loader for SINQ data, given the instrument name ''POLDI'' as parameter. - LoadSINQFile(Instrument = "POLDI", - Filename = sample_file_path, - OutputWorkspace = sample_name) - -:[[PoldiLoadLog]] - -The associated ''logs'' informations are extracted from -the ''hdf'' raw data file, an store in a dedicated MatrixWorkspace. -A dictionary file contains the set of key/path to extract -and store all the needed information. -More specifically, the acquisition starting time is extracted -and store in the sample WS to initialize the ''run_start'' variable. - PoldiLoadLog(InputWorkspace = sample_output_ws, - Filename = sample_file_path, - Dictionary = poldi_dictionnary_file_path, - PoldiLog = sample_log_ws) - -:[[LoadInstrument]] - -For each raw data WS, the corresponding IDF is loaded, based -on the acquisition starting time. - LoadInstrument(Workspace = sample_output_ws, - InstrumentName = "Poldi", - RewriteSpectraMap = True) - -:[[PoldiRemoveDeadWires]] - -Some wires are permanently dead and should not be taken into -account. They are listed in the IDF of a given setup (IPP). -Some others wires should not be used, because they seem -untrustable (dead wires, hot wires, random behavior,...). These -wires are detected by successive comparison with there neighbors: -intensity from two successive wires should not differ more -than ''BadWiresThreshold''(*100)%. One by one, the most deviant -wires are checks and removed until they all fit the condition. - PoldiRemoveDeadWires(InputWorkspace = sample_output_ws, - RemoveExcludedWires = True, - AutoRemoveBadWires = True, - BadWiresThreshold = BadWiresThreshold, - PoldiDeadWires = sample_dead_wires_ws) - -==== Loading POLDI parameters ==== -While loading the data, the different needed setup have been -store in a dedicated workspace. - -they are now all extracted, using an example sample for each of them. - - -:[[PoldiLoadChopperSlits]] - -The chopper configuration is loaded in a dedicated Workspace, -one per ''Poldi IPP'' setup detected. - PoldiLoadChopperSlits(InputWorkspace = ex_of_sample_ws, - PoldiChopperSlits = ipp_chopper_slits) - -:[[PoldiLoadSpectra]] - -The characteristic Poldi spectra (''Intensity=f(wavelength)'') is -extracted from each IDF. - PoldiLoadSpectra(InputWorkspace = ex_of_sample_ws, - PoldiSpectra = ipp_Poldi_spectra) - -:[[PoldiLoadIPP]] - -Local setup information (such as the detector position, chopper -offset, etc...) are extracted and stores in a dedicated workspace. - PoldiLoadIPP(InputWorkspace = ex_of_sample_ws, - PoldiIPP = ipp_ipp_data) - -==== Pre-analyzing data ==== -In order to setup the 2D fit to analyze the data, some -information need to be extracted from the file, such as an -idea of the peaks position. This is done using an autocorrelation -function, following by a peak detection algorithm. - -The process has been cut in different algorithm in order to give -the possibility to change/improve/modify each steps. For example, -the peak detection process can be based on some previous results -to not start from scratch, or given the sample crystal -structure/symetries/space group... - - -:[[PoldiAutoCorrelation]] - -Almost all the previous loaded workspace are used by this algorithm. -From the sample manager workspace, and the Poldi setup workspace, all -the targeted workspace can be found and given as parameters to the -algorithm. The auto-correlated graph is store in a dedicated -workspace, on row (0). - PoldiAutoCorrelation(InputWorkspace = sample_output_ws, - PoldiSampleLogs = sample_log_ws, - PoldiDeadWires = sample_dead_wires_ws, - PoldiChopperSlits = ipp_chopper_slits, - PoldiSpectra = ipp_Poldi_spectra, - PoldiIPP = ipp_ipp_data, - wlenmin = wlen_min, - wlenmax = wlen_max, - OutputWorkspace = sample_correlated_ws) - -:[[PoldiPeakDetection]] - -The previous autocorrelation function is analyzed to detected -possible peaks. The found peak are stored in a dedicated workspace, -and added to the previously created ''sample_correlated_ws'': -on row (1) the detected peak, on row (2) the fitted peak. - PoldiPeakDetection(InputWorkspace = sample_correlated_ws, - PeakDetectionThreshold = PeakDetectionThreshold, - OutputWorkspace = sample_peak_ws) - - - -== How to use algorithm with other algorithms == -This algorithm is designed to work with other algorithms to -proceed POLDI data. The introductions can be found in the -wiki page of [[PoldiProjectRun]]. - - -*WIKI*""" - from mantid.api import PythonAlgorithm from mantid.api import ITableWorkspaceProperty from mantid.api import AlgorithmFactory, WorkspaceFactory diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/RefLReduction.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/RefLReduction.py index c43ae5e27fd8..6a2b537f06e4 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/RefLReduction.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/RefLReduction.py @@ -1,9 +1,3 @@ -"""*WIKI* - -Liquids Reflectometer (REFL) reduction - -*WIKI*""" - from mantid.api import * from mantid.simpleapi import * from numpy import zeros, shape, arange @@ -378,4 +372,3 @@ def PyExec(self): AlgorithmFactory.subscribe(RefLReduction) - diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/RefinePowderDiffProfileSeq.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/RefinePowderDiffProfileSeq.py index 2a027b190f87..f5c9e563d270 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/RefinePowderDiffProfileSeq.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/RefinePowderDiffProfileSeq.py @@ -1,64 +1,3 @@ -"""*WIKI* - - - -The purpose of this algorithm is to provide users a tool to control the workflow -to refine powder diffractometer's peak profile. -For Time-Of-Flight powder diffractometers in SNS, back-to-back exponential convoluted with pseudo-voigt -profile functions are used. The function is complicated with strong correlated parameters. -Thus, the refinement on these parameters contains multiple steps, within each of which only a subset of -profile parameters are refined. - -In order to control the workflow, there are four major functions supported by this algorithm - * ''Setup'' : set up a few workspaces that will be used to refine profile parameters in multiple steps; - * ''Refine'' : select a subset of peak parameters and do Le Bail fit on them; - * ''Save'' : save the current refinement status and refinement history to a project file; - * ''Load'' : set up a few workspaces used for refining by loading them from a previously created project file. - - -==== Input and output workspaces ==== - * InputWorkspace : data workspace containing the diffraction pattern to refine profile parameters with; - * SeqControlInfoWorkspace : table workspace used to track refinement; Below is the introduction on the fields/columns of this workspace. - * "Step" : refinement step. User can start a refinement from the result of any previous '''Step'''; - * "OutProfile" : name of the table workspace containing refined profile parameters; - * "OutReflection": name of the table workspace containing Bragg peaks' peak parameters calculated from refined parameters' value; - * "OutBackgroud": name of the table workspace containing the output background parameters' value; - * "OutBckgroundParam": name of the output background parameters; - * "Refine": profile parameters that are refined in this step; - * "RwpOut": output Rwp from refinement; - * "LastStep": last step where this step is based on; - * "RwpIn": input Rwp - * "InProfile": input profile parameter workspace's name; - * "InReflection": input Bragg peak parameters workspace' name; - * "InBackgroud": input background workspace; - * "InBckgroundParam": input background parameters. - * InputProfileWorkspace : table workspace contraining starting values of profile parameters; - * InputBraggPeaksWorkspace : table workspace containing the Bragg peaks' information for Le Bail fit; - * InputBackgroundParameterWorkspace : table workspace containing the background parameters' value - -==== Supported peak profiles ==== - * Neutron Back-to-back exponential convoluted with pseudo-voigt : Fullprof profile 9 and GSAS TOF profile 3; - * Thermal neutron Back-to-back exponential convoluted with pseudo-voigt: Fullprof profile 10 (a.k.a. Jason Hodges function). - -==== Supported background types ==== - * Polynomial - * Chebyshev - * FullprofPolynomial - - -== Hint for using == -This is just a brief description for how to use this algorithm. - 1. ''Setup''; - 2. ''Refine'': refine ''Dtt1'' and ''Zero'' from step 0; - 3. ''Refine'': reifne ''Alph0'' and ''Beta0'' from step 1; - 4. ''Refine'': refine ''Alph1'' from step 1 with failure; - 5. ''Refine'': refine ''Beta1'' from step 1 because step 2 fails; - 6. ''Refine'': refine ''Sig-1'' from last step; - 7. ''Save'': save current work and history to a Nexus file. - - -*WIKI*""" - from mantid.api import * import mantid.simpleapi as api from mantid.api import * diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/ReflectometryReductionOneAuto.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/ReflectometryReductionOneAuto.py index dffd2a8ed089..b8223baea07e 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/ReflectometryReductionOneAuto.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/ReflectometryReductionOneAuto.py @@ -1,13 +1,3 @@ -"""*WIKI* - -Facade over [[ReflectometryReductionOne]]. Pulls numeric parameters out of the instrument parameters where possible. You can override any of these automatically -applied defaults by providing your own value for the input. - -See [[ReflectometryReductionOne]] for more information on the wrapped algorithm. - -*WIKI*""" - - import sys from mantid.simpleapi import ReflectometryReductionOne from mantid.api import * diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/RetrieveRunInfo.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/RetrieveRunInfo.py index 5f0cf7466859..495e71bcedad 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/RetrieveRunInfo.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/RetrieveRunInfo.py @@ -1,17 +1,3 @@ -"""*WIKI* - -Strips the log property values of "inst_abrv", "run_number", "user_name", "run_title" and "hd_dur" from the specified run files, and compiles a TableWorkspace of the result. - -Uses multiple calls to [[CreateLogPropertyTable]] create the final result table. - -[[File:ConvertToEnergyInfoTable.png|350px|center|frame|Output workspace generated by inspecting runs 12218-12229 and having the default instrument set to TOSCA.]] - -== Limitations == - -Currently, only ISIS instruments with runs that have the ''full'' list of log properties are supported. [[CreateLogPropertyTable]] is available to those users who wish to "brew their own" version of this algorithm. - -*WIKI*""" - from mantid.api import PythonAlgorithm, AlgorithmFactory, ITableWorkspaceProperty from mantid.simpleapi import * from mantid.kernel import StringMandatoryValidator, Direction diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/SANSSubtract.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/SANSSubtract.py index 53a256d951dc..16f9c41207f5 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/SANSSubtract.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/SANSSubtract.py @@ -1,20 +1,3 @@ -"""*WIKI* -Subtract background from an I(Q) distribution. - -The DataDistribution and Background properties can either be the name of a workspace or a file path. -If a file path is provided, it will be loaded and assumed to be in units of Q. - -The output workspace will be equal to: - - Output = DataDistribution - ScaleFactor * Background + Constant - -The Dq values are propagated from the DataDistribution workspace to the output workspace as-is. - -If the OutputDirectory property is filled, the output workspace will be written to disk. -Two files will be produced, a 4 column ASCII file and a CanSAS XML file. - -*WIKI*""" - from mantid.api import * from mantid.kernel import Direction, FloatBoundedValidator import mantid.simpleapi diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/SANSWideAngleCorrection.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/SANSWideAngleCorrection.py index f70ae4743b1d..b60f8374b666 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/SANSWideAngleCorrection.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/SANSWideAngleCorrection.py @@ -1,111 +1,3 @@ -"""*WIKI* -== Algorithm Reference Discussion == - -Looking at [https://kur.web.psi.ch/sans1/manuals/sas_manual.pdf Computing guide for Small Angle Scattering Experiments] by Ghosh, Egelhaaf & Rennie, we see that for scattering at larger angles the transmission should be modified due to the longer path length after the scattering event. - -The longer path length after scattering will also slightly increase the probability of a second scattering event, but this is not dealt with here. - -If our on-axis transmission is T_0 through a sample of thickness d, then the transmission at some other thickness x is \exp(-\mu x) where attenuation coefficient \mu = -\ln( \frac{T_0}{d}). - - -If a neutron scatters at angle 2\theta at distance x into the sample, its total transmission is then: - - - -T^{''} = \exp(-\mu x) \exp( \frac{-\mu(d-x)}{\cos(2\theta)}) - - - -T^{''} should be integrated and averaged between x = 0 and x = d. - - -Hammouda, gives an approximate result for the integral, see page 208 of [[http://www.ncnr.nist.gov/staff/hammouda/the_SANS_toolbox.pdf SANS toolbox]]: - - -T^{'} = \frac{T_0(T_0^A - 1)}{A \ln(T_0)} - - -For: - - -A = \frac{1}{\cos(2\theta)} - 1 - - -For example if T_0 = 0.2 and 2\theta = 40 then T^{'} = 0.158, a shift of ~20% of the SANS curve. Note that the result is independent of sample thickness. - -T_0 is a function of neutron wavelength, whilst A is a function of detector pixel location. - -The output of this algorithm is: - -OutputWorkspace = \frac{T^'}{T_0} - -=== Error Propagation === - -The error propagation follows this formula: - - OutputWorkspace_{error} = \frac{T_{0E} ^A - 1}{A\ln(T_0E)} - -Which means, that we do not consider the error in the definition of the 2\theta (the parameter A) - - -== Enabling Wide Angle Correction for Reduction of SANS ISIS == - -To enable the Wide Angle correction use the User File settings: - - SAMPLE/PATH/ON - -More information on: [[SANS_User_File_Commands#SAMPLE]] - -== SANS ISIS Reduction == - -The output of SANSWideAngleCorrection is used as WavePixelAdj parameter at [[Q1D]]. - -== Wide Angle Correction and the SANS Reduction == - -The equation for the reduction is (see [[Q1D]]) - -P_I(Q) = \frac{\sum_{\{i, j, n\} \supset \{I\}} S(i,j,n)}{\sum_{\{i, j, n\} \supset \{I\}}M(n)\eta(n)T(n)\Omega_{i j}F_{i j}} - -But, T(n) is not really T(n), because of the wide angles, it is now T(n,theta) or T(n,i,j). - -So, we decided to have a new factor that changes this equation to: - -P_I(Q) = \frac{\sum_{\{i, j, n\} \supset \{I\}} S(i,j,n)}{\sum_{\{i, j, n\} \supset \{I\}}M(n)\eta(n)T(n)\Omega_{i j}F_{i j}Corr(i,j,n)} - -Where Corr (Correction factor) in this case will be: - - -Corr = \frac{T_0^A - 1}{A \ln(T_0)} - - -Which is the OutputWorkspace of SANSWideAngleCorrection. - -This parameter enters inside [[Q1D]] as WavePixelAdj. But, this is all done for you inside the Reduction Script. - -== Comparison with Wide Angle Correction at SNS == - -The transmission correction applied at SNS is described [http://www.mantidproject.org/HFIR_SANS#Transmission_correction here], and it is applied through the [[ApplyTransmissionCorrection]] algorithm. The correction applied there is an approximation for the same equations described here. The picture above compare their results - -[[File:SNS_ISIS_WideAngleCorrections.png]] - -Note a difference among them is when they are applied. At SNS, the correction is applied before averaging the counters per bin inside [[Q1D]] algorithm, while at ISIS, it is used after, inside the [[Q1D]] algorithm, for the division of the counters per bin normalized by the transmission counters. - - -== References == - -Annie Brulet et al. - Improvement of data treatment in SANS - J. Appl. Cryst. (2007). 40 - -Ghosh, Egelhaaf & Rennie - Computing guide for Small Angle Scattering Experiments - -*WIKI*""" - -"""*WIKI_USAGE* - -'''NB''': This algorithm is not intended to be called and used as a standalone Mantid algorithm because actual transmission values are not passed to the reduction algorithm [[Q1D]]. - -*WIKI_USAGE*""" - - from mantid.api import * from mantid.kernel import * import os @@ -188,5 +80,4 @@ def PyExec(self): self.setProperty("OutputWorkspace", trans_wc) ############################################################################################# -AlgorithmFactory.subscribe(SANSWideAngleCorrection) - +AlgorithmFactory.subscribe(SANSWideAngleCorrection) diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/SNSPowderReduction.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/SNSPowderReduction.py index 17f401d11c3c..f1271e18ef26 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/SNSPowderReduction.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/SNSPowderReduction.py @@ -1,15 +1,3 @@ -"""*WIKI* - -==== About Filter Wall ==== -Time filter wall is used in _loadData to load data in a certain range of time. -Here is how the filter is used: - 1. There is NO filter if filter wall is NONE - 2. There is NO lower boundary of the filter wall if wall[0] is ZERO; - 3. There is NO upper boundary of the filter wall if wall[1] is ZERO; - - -*WIKI*""" - import mantid.simpleapi as api from mantid.api import * from mantid.kernel import * diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/SelectPowderDiffPeaks.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/SelectPowderDiffPeaks.py index 8c156c611dcb..6b98f8ca25ae 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/SelectPowderDiffPeaks.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/SelectPowderDiffPeaks.py @@ -1,9 +1,3 @@ -"""*WIKI* - -Select the powder diffraction peaks for [[Le Bail Fit]] - -*WIKI*""" - from mantid.api import PythonAlgorithm, AlgorithmFactory, ITableWorkspaceProperty, WorkspaceFactory, FileProperty, FileAction from mantid.kernel import Direction, StringListValidator @@ -230,4 +224,3 @@ def parseZscoreFilter(self, zscorefilterstr): # Register algorithm with Mantid AlgorithmFactory.subscribe(SelectPowderDiffPeaks) - diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/SortByQVectors.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/SortByQVectors.py index 3742d39a90e6..491d91ce171a 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/SortByQVectors.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/SortByQVectors.py @@ -1,10 +1,3 @@ -"""*WIKI* - -This algorithm sorts a group workspace by the qvectors found in the qvectors file. Workspaces will be tranformed if the qvectors dimension is in the bins. - -*WIKI*""" - - from mantid.kernel import * from mantid.api import * from mantid.simpleapi import (DeleteWorkspace, ExtractSingleSpectrum, RenameWorkspace, ConjoinWorkspaces, Transpose) diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/SortDetectors.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/SortDetectors.py index 9ad6d8f05452..117856dd2aa5 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/SortDetectors.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/SortDetectors.py @@ -1,7 +1,3 @@ -"""*WIKI* -Algorithm to sort detectors by distance. Will return arrays for upstream (downstrem) spectrum number and detector distances, ordered by distance. -*WIKI*""" - from mantid.api import PythonAlgorithm, AlgorithmFactory,WorkspaceProperty,PropertyMode from mantid.kernel import Direction,IntArrayProperty, FloatArrayProperty import mantid,math,numpy diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/SortXAxis.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/SortXAxis.py index cfec374da192..515eea2a45b6 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/SortXAxis.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/SortXAxis.py @@ -1,11 +1,3 @@ -"""*WIKI* - -Clones the input [[MatrixWorkspace|Matrix Workspaces]] and orders the x-axis in an ascending fashion. Ensures that the y-axis and error data is sorted in a consistent way with the x-axis. -All x-values of the input workspace MUST be in either a descending or ascending fashion before passing to this algorithm. - -This algorithm is for use with small workspaces loaded. It is particularly suitable for reformatting workspaces loaded via [[LoadASCII]]. Input workspaces must be a distribution. - -*WIKI*""" import mantid.simpleapi as api from mantid.api import * diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/Stitch1D.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/Stitch1D.py index 503703c0c84a..e90d44e0cd08 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/Stitch1D.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/Stitch1D.py @@ -1,11 +1,3 @@ -"""*WIKI* - -Stitches single histogram [[MatrixWorkspace|Matrix Workspaces]] together outputting a stitched Matrix Workspace. Either the right-hand-side or left-hand-side workspace can be chosen to be scaled. Users -must provide a Param step (single value), but the binning start and end are calculated from the input workspaces if not provided. Likewise, StartOverlap and EndOverlap are optional. If the StartOverlap or EndOverlap -are not provided, then these are taken to be the region of x-axis intersection. - -The workspaces must be histogrammed. Use [[ConvertToHistogram]] on workspaces prior to passing them to this algorithm. -*WIKI*""" from mantid.simpleapi import * from mantid.api import * diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/Stitch1DMany.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/Stitch1DMany.py index c015cbe6b38b..2919633b9556 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/Stitch1DMany.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/Stitch1DMany.py @@ -1,13 +1,3 @@ -"""*WIKI* - -Stitches single histogram [[MatrixWorkspace|Matrix Workspaces]] together outputting a stitched Matrix Workspace. This algorithm is a wrapper over [[Stitch1D]]. - -The algorithm expects pairs of StartOverlaps and EndOverlaps values. The order in which these are provided determines the pairing. -There should be N entries in each of these StartOverlaps and EndOverlaps lists, where N = 1 -(No of workspaces to stitch). -StartOverlaps and EndOverlaps are in the same units as the X-axis for the workspace and are optional. - -The workspaces must be histogrammed. Use [[ConvertToHistogram]] on workspaces prior to passing them to this algorithm. -*WIKI*""" #from mantid.simpleapi import * from mantid.simpleapi import * diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/SuggestTibCNCS.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/SuggestTibCNCS.py index 1bf6821e90bf..7826e2e346bd 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/SuggestTibCNCS.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/SuggestTibCNCS.py @@ -1,8 +1,3 @@ -"""*WIKI* -Suggest possible time independent background range for CNCS. It works for incident energy range from 0.5 to 50 meV. By default TibMax is 500 microseconds before the neutrons arrive at the sample, and TibMin is 3400 microseconds before Tibmax. -This range is moved around if a prompt pulse is in this interval, or it goes below the TOF frame minimum, or it can be reduced to 2400 microseconds. -*WIKI*""" - from mantid.api import PythonAlgorithm, AlgorithmFactory import mantid.simpleapi from mantid.kernel import FloatBoundedValidator,Direction diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/SuggestTibHYSPEC.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/SuggestTibHYSPEC.py index 24947fc8e2fe..a2cbd258c09b 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/SuggestTibHYSPEC.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/SuggestTibHYSPEC.py @@ -1,7 +1,3 @@ -"""*WIKI* -Suggest possible time independent background range for HYSPEC. It works for incident energy range from 3 to 100 meV. -*WIKI*""" - from mantid.api import PythonAlgorithm, AlgorithmFactory import mantid.simpleapi from mantid.kernel import FloatBoundedValidator,Direction,logger diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/TestWorkspaceGroupProperty.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/TestWorkspaceGroupProperty.py index 5f47889d3cb0..20e54646632b 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/TestWorkspaceGroupProperty.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/TestWorkspaceGroupProperty.py @@ -1,8 +1,3 @@ -"""*WIKI* -This algorithm is only used for testing. -*WIKI*""" - - from mantid.kernel import * from mantid.api import * import numpy as np diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/USANSSimulation.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/USANSSimulation.py index 1c7373a0d620..d955e23f16d3 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/USANSSimulation.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/USANSSimulation.py @@ -1,16 +1,3 @@ -"""*WIKI* -Simulate a USANS workspace. - -A matrix workspace is created for a given analyzer angle. A list of wavelength peaks coming out -of the monochromator can be specified. The width of those peaks can also be specified. - -Both the main detector and the transmission detector are filled with compatible signals -according to a dummy transmission curve. - -The amplitude of the signal in the main detector is given by a sphere model. - -A monitor workspace is created with a fake beam profile. -*WIKI*""" from mantid.simpleapi import * from mantid.api import * from mantid.kernel import * diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/UpdatePeakParameterTableValue.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/UpdatePeakParameterTableValue.py index a44d119d9943..af0198911700 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/UpdatePeakParameterTableValue.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/UpdatePeakParameterTableValue.py @@ -1,26 +1,3 @@ -"""*WIKI* - -In algorithms related to [[Le Bail Fit]] and powder diffractomer instrument profile calibration, -TableWorkspace containing the peak profile parameters' information are used as input and output. -''UpdatePeakParameterTableValue'' gives user the method to change the value of parameters' information, -including its status to fit, value, minimum/maximum value (for boundary contrains) and step size (for Monte Carlo optimizer). - -== Format of TableWorkspace == -TableWorkspace containing peak profile parameters must have 2 columns, "Name" and "Value". It can have but not be limited to the following columns, "Min", "Max", "Stepsize" and "FitOrTie". - -== Specify A Cell or Cells == -The cell to have value updated can be specified by its row and column index. -* Column index is determined by property "Column". -* Row index can be specified by property "Row", which requires a list of row indexes, or property "ParameterNames", which requires a list of strings. If "ParameterNames" is used as the input of row indexes, the algorithm will go through each row to match the string value of cell "Name" (i.e., parameter name) to each input parameter name. -* If neither "Row" nor "ParameterNames" is given by user, then all cells in the column will have the value updated to a same value from either "NewFloatValue" or "NewStringValue" according to the type of the cell. -* If multiple row indexes are specified, then all the cells of the specified column and rows are updated to same value from either "NewFloatValue" or "NewStringValue". - -== How to use algorithm with other algorithms == -This algorithm is designed to work with [[Le Bail Fit|other algorithms]] to do Le Bail fit. - - -*WIKI*""" - import mantid import mantid.api import mantid.kernel diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/ViewBOA.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/ViewBOA.py index a82123b6c01d..130efe38615a 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/ViewBOA.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/ViewBOA.py @@ -1,11 +1,3 @@ -"""*WIKI* - -Algorithm which loads a BOA file and creates the 3 BOA plots of Uwe Filges desire - -Mark Koennecke, July 2013 - -*WIKI*""" - from mantid.api import AlgorithmFactory from mantid.api import PythonAlgorithm, WorkspaceFactory, FileProperty, FileAction, WorkspaceProperty from mantid.kernel import Direction, StringListValidator, ConfigServiceImpl diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/DensityOfStates.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/DensityOfStates.py index fc9887102b15..3db3edf981c3 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/DensityOfStates.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/DensityOfStates.py @@ -1,9 +1,3 @@ -"""*WIKI* - -Calculates phonon densities of states, Raman and IR spectrum from the output of CASTEP code obtained in the form of .phonon and .castep files. - -*WIKI*""" - from mantid.kernel import * from mantid.api import * from mantid.simpleapi import * diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/EQSANSAzimuthalAverage1D.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/EQSANSAzimuthalAverage1D.py index 18cdd767187b..ad4c2ba65a16 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/EQSANSAzimuthalAverage1D.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/EQSANSAzimuthalAverage1D.py @@ -1,6 +1,3 @@ -"""*WIKI* -Compute I(q) for reduced EQSANS data -*WIKI*""" from mantid.api import * from mantid.kernel import * from mantid.simpleapi import Scale diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/EQSANSDirectBeamTransmission.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/EQSANSDirectBeamTransmission.py index 511d858e9a95..b44b7942741f 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/EQSANSDirectBeamTransmission.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/EQSANSDirectBeamTransmission.py @@ -1,6 +1,3 @@ -"""*WIKI* -Compute the transmission using the direct beam method on EQSANS -*WIKI*""" from mantid.api import * from mantid.kernel import * import mantid.simpleapi as api diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/EQSANSNormalise.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/EQSANSNormalise.py index 6640964f3751..0e4b7cdb8746 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/EQSANSNormalise.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/EQSANSNormalise.py @@ -1,9 +1,3 @@ -"""*WIKI* - -Normalise detector counts by accelerator current and beam spectrum. - -*WIKI*""" - from mantid.api import * from mantid.kernel import * from reduction_workflow.find_data import find_file diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/FuryFitMultiple.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/FuryFitMultiple.py index d3b52df089fc..68c5fa00d195 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/FuryFitMultiple.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/FuryFitMultiple.py @@ -1,9 +1,3 @@ -"""*WIKI* -Fits and *_iqt file generated by Fury using one of the specified functions. -The functions available are either one or two exponentials (Intensity \times exp[-(x/\tau)]), a stretched exponential (Intensity \times exp[-(x/\tau)]\beta) or a combination of both an exponential and stretched exponential. - -This routine was originally part of the MODES package. -*WIKI*""" from mantid import config, logger, mtd, AlgorithmFactory from mantid.api import * from mantid.kernel import * diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/HFIRSANSReduction.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/HFIRSANSReduction.py index c7c4b738fa15..6c706973f673 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/HFIRSANSReduction.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/HFIRSANSReduction.py @@ -1,8 +1,3 @@ -"""*WIKI* - -HFIR SANS reduction workflow - -*WIKI*""" import mantid.simpleapi as api from mantid.api import * from mantid.kernel import * diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/IndirectTransmission.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/IndirectTransmission.py index 89e257751bf4..f4449d8b8c6b 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/IndirectTransmission.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/IndirectTransmission.py @@ -1,10 +1,3 @@ -"""*WIKI* - -Calculates the scattering & transmission for Indirect Geometry spectrometers. The sample chemical formula is input for the SetSampleMaterial algorithm to calculate the cross-sections. -The instrument analyser reflection is selected to obtain the wavelength to calculate the absorption cross-section. The sample number density & thickness is input to then calculate the percentage scattering & transmission. - -*WIKI*""" - from mantid.simpleapi import * from mantid.api import * from mantid.kernel import * diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/MuscatData.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/MuscatData.py index ef00b8259049..f3612a9205fb 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/MuscatData.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/MuscatData.py @@ -1,13 +1,3 @@ -"""*WIKI* - -Calculates Multiple Scattering based on the Monte Carlo program MINUS. It takes a sample S(Q,w) from an input sqw workspace and supports both -Flat and Cylindrical geometries. More information on the multiple scattering can be procedure can be found in the [http://www.isis.stfc.ac.uk/instruments/iris/data-analysis/modes-v3-user-guide-6962.pdf modes manual]. - -==== References ==== -# M W Johnson, AERE Report R7682 (1974) - -*WIKI*""" - # Algorithm to start Bayes programs from mantid.api import PythonAlgorithm, AlgorithmFactory from mantid.kernel import StringListValidator, StringMandatoryValidator, logger diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/MuscatFunc.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/MuscatFunc.py index 9b70b81a06df..e31a54e5417f 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/MuscatFunc.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/MuscatFunc.py @@ -1,13 +1,3 @@ -"""*WIKI* - -Calculates Multiple Scattering based on the Monte Carlo program MINUS. It calculates S(Q,w) from specified functions (such as those used in JumpFit) and supports both -Flat and Cylindrical geometries. More information on the multiple scattering can be procedure can be found in the [http://www.isis.stfc.ac.uk/instruments/iris/data-analysis/modes-v3-user-guide-6962.pdf modes manual]. - -==== References ==== -# M W Johnson, AERE Report R7682 (1974) - -*WIKI*""" - # Algorithm to start Bayes programs from mantid.kernel import StringListValidator, StringMandatoryValidator from mantid.api import PythonAlgorithm, AlgorithmFactory diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/NormaliseByThickness.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/NormaliseByThickness.py index 77b157fa5d4c..94683ebec69b 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/NormaliseByThickness.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/NormaliseByThickness.py @@ -1,9 +1,3 @@ -"""*WIKI* - -Normalise detector counts by the sample thickness - -*WIKI*""" - import mantid.simpleapi as api from mantid.api import * from mantid.kernel import * diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/OSIRISDiffractionReduction.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/OSIRISDiffractionReduction.py index 32ed81cfbb46..252834a073b8 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/OSIRISDiffractionReduction.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/OSIRISDiffractionReduction.py @@ -1,11 +1,3 @@ -"""*WIKI* - -== Source Code == -The source code for the Python Algorithm may be viewed at: [http://trac.mantidproject.org/mantid/browser/trunk/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/OSIRISDiffractionReduction.py OSIRISDiffractionReduction.py] - -The source code for the reducer class which is used may be viewed at: [http://trac.mantidproject.org/mantid/browser/trunk/Code/Mantid/scripts/Inelastic/osiris_diffraction_reducer.py osiris_diffraction_reducer.py] - -*WIKI*""" from mantid.kernel import * from mantid.api import * from mantid.simpleapi import * diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/QLines.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/QLines.py index 471e3a785f43..935077d15b87 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/QLines.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/QLines.py @@ -1,18 +1,3 @@ -"""*WIKI* - -The model that is being fitted is that of a δ-function (elastic component) of amplitude A(0) and Lorentzians of amplitude A(j) and HWHM W(j) where j=1,2,3. The whole function is then convolved with the resolution function. The -function and Lorentzians are intrinsically -normalised to unity so that the amplitudes represent their integrated areas. - -For a Lorentzian, the Fourier transform does the conversion: 1/(x^{2}+\delta^{2}) \Leftrightarrow exp[-2\pi(\delta k)]. -If x is identified with energy E and 2\pi k with t/\hbar where t is time then: 1/[E^{2}+(\hbar / \tau )^{2}] \Leftrightarrow exp[-t /\tau] and \sigma is identified with \hbar / \tau . -The program estimates the quasielastic components of each of the groups of spectra and requires the resolution file and optionally the normalisation file created by ResNorm. - -For a Stretched Exponential, the choice of several Lorentzians is replaced with a single function with the shape : \psi\beta(x) \Leftrightarrow exp[-2\pi(\sigma k)\beta]. This, in the energy to time FT transformation, is \psi\beta(E) \Leftrightarrow exp[-(t/\tau)\beta]. So \sigma is identified with (2\pi)\beta\hbar/\tau. -The model that is fitted is that of an elastic component and the stretched exponential and the program gives the best estimate for the \beta parameter and the width for each group of spectra. - -This routine was originally part of the MODES package. -*WIKI*""" - from mantid.simpleapi import * from mantid.kernel import StringListValidator, StringMandatoryValidator from mantid.api import PythonAlgorithm, AlgorithmFactory diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/Quest.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/Quest.py index 2a21f387d7f0..00a43ec9bf66 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/Quest.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/Quest.py @@ -1,11 +1,3 @@ -"""*WIKI* - -This is a variation of the stretched exponential option of [[IndirectBayes:Quasi|Quasi]]. For each spectrum a fit is performed for a grid of β and σ values. -The distribution of goodness of fit values is plotted. - -This routine was originally part of the MODES package. -*WIKI*""" - from mantid.api import PythonAlgorithm, AlgorithmFactory from mantid.kernel import StringListValidator, StringMandatoryValidator from mantid.simpleapi import * diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/REFLReprocess.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/REFLReprocess.py index 78368a60e765..f2fa0d3eb9fa 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/REFLReprocess.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/REFLReprocess.py @@ -1,9 +1,3 @@ -"""*WIKI* - -Re-reduce REFL data for an entire experiment using saved parameters - -*WIKI*""" - from mantid.api import * from mantid.kernel import * from mantid.simpleapi import * @@ -228,4 +222,3 @@ def _average_y_of_same_x_(q_min, q_step, q_max=2): ############################################################################################# AlgorithmFactory.subscribe(REFLReprocess) - diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/ReactorSANSResolution.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/ReactorSANSResolution.py index 2a03380e4ae9..66fad484c7e8 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/ReactorSANSResolution.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/ReactorSANSResolution.py @@ -1,10 +1,3 @@ -"""*WIKI* - -Compute the resolution in Q according to Mildner-Carpenter. - -See [http://www.mantidproject.org/Reduction_for_HFIR_SANS SANS Reduction] documentation for details. - -*WIKI*""" import mantid.simpleapi as api from mantid.api import * from mantid.kernel import * diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/ResNorm.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/ResNorm.py index 6f1d1eb6eea9..9c1f229fde07 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/ResNorm.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/ResNorm.py @@ -1,12 +1,3 @@ -"""*WIKI* - -The routine varies the width of the resolution file to give a 'stretch factor' and the area provides an intensity normalisation factor. The fitted parameters are in the group workspace with suffix _ResNorm with additional suffices of Intensity & Stretch. -The fitted data are in the workspace ending in _ResNorm_Fit. - -This routine was originally part of the MODES package. - -*WIKI*""" - from mantid.api import PythonAlgorithm, AlgorithmFactory from mantid.kernel import StringListValidator, StringMandatoryValidator from mantid.simpleapi import * diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SANSAbsoluteScale.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SANSAbsoluteScale.py index 41ea80c89f43..acd880538e07 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SANSAbsoluteScale.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SANSAbsoluteScale.py @@ -1,8 +1,3 @@ -"""*WIKI* - -Calculate and apply absolute scale correction for SANS data - -*WIKI*""" import os import mantid.simpleapi as api from mantid.api import * diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SANSAzimuthalAverage1D.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SANSAzimuthalAverage1D.py index 10ace1c5377e..b6b4045e7a51 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SANSAzimuthalAverage1D.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SANSAzimuthalAverage1D.py @@ -1,6 +1,3 @@ -"""*WIKI* -Compute I(q) for reduced SANS data -*WIKI*""" from mantid.api import * from mantid.kernel import * import math diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SANSBeamSpreaderTransmission.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SANSBeamSpreaderTransmission.py index 21edcecd4d66..627a88773eb5 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SANSBeamSpreaderTransmission.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SANSBeamSpreaderTransmission.py @@ -1,6 +1,3 @@ -"""*WIKI* -Compute transmission using the beam spreader method -*WIKI*""" import mantid.simpleapi as api from mantid.api import * from mantid.kernel import * diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SANSDirectBeamTransmission.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SANSDirectBeamTransmission.py index 3e43f5d5cec8..962fe0f581f1 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SANSDirectBeamTransmission.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SANSDirectBeamTransmission.py @@ -1,6 +1,3 @@ -"""*WIKI* -Compute transmission using the direct beam method -*WIKI*""" import mantid.simpleapi as api from mantid.api import * from mantid.kernel import * diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SANSMask.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SANSMask.py index 4c694680e50a..d4789c2b3f4e 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SANSMask.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SANSMask.py @@ -1,9 +1,3 @@ -"""*WIKI* - -Apply mask to SANS detector - -*WIKI*""" - import mantid.simpleapi as api from mantid.api import * from mantid.kernel import * diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SANSReduction.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SANSReduction.py index 25d5ca0f3d90..9eb5e7272ae3 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SANSReduction.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SANSReduction.py @@ -1,8 +1,3 @@ -"""*WIKI* - -Basic SANS reduction workflow - -*WIKI*""" import mantid.simpleapi as api from mantid.api import * from mantid.kernel import * diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SavePlot1D.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SavePlot1D.py index 3d6eca7754c2..a840902f6f52 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SavePlot1D.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SavePlot1D.py @@ -1,13 +1,3 @@ -"""*WIKI* - -Save 1D plots to a png file, as part of autoreduction. Multiple spectra in the same workspace will be represented by curves on the same plot. Groupped workspaces will be shown as subplots. -If the workspace has more than one spectra, but less or equal to ten, labels will be shown. - -Note: the figures contain lines between points, no error bars. - -Note: Requires matplotlib version>= 1.2.0 - -*WIKI*""" import mantid,sys class SavePlot1D(mantid.api.PythonAlgorithm): @@ -106,4 +96,3 @@ def DoPlot(self,ws): mantid.api.AlgorithmFactory.subscribe(SavePlot1D) - diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SofQWMoments.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SofQWMoments.py index 92661916a943..60751de32f8d 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SofQWMoments.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SofQWMoments.py @@ -1,8 +1,3 @@ -"""*WIKI* - -Calculates the n^{th} moment M_n of y(Q,w) where M_n is the integral of w^n*y(Q,w) over all w for n=0 to 4. - -*WIKI*""" # Algorithm to start Bayes programs from mantid.simpleapi import * from mantid.api import PythonAlgorithm, AlgorithmFactory, MatrixWorkspaceProperty, WorkspaceGroupProperty diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/Symmetrise.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/Symmetrise.py index bfef49e385d6..9d794de0ac13 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/Symmetrise.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/Symmetrise.py @@ -1,10 +1,3 @@ -"""*WIKI* - -Symmetrise takes an asymmetric S(Q,w) - i.e. one in which the moduli of xmin & xmax are different. Typically xmax is > mod(xmin). -A negative value of x is chosen (Xcut) so that the curve for mod(Xcut) to xmax is reflected and inserted for x less than the Xcut. - -*WIKI*""" - # Algorithm to start Symmetrise from mantid.api import PythonAlgorithm, AlgorithmFactory from mantid.kernel import StringListValidator, StringMandatoryValidator diff --git a/Code/Mantid/Framework/PythonInterface/test/python/plugins/algorithms/LoadLogPropertyTableTest.py b/Code/Mantid/Framework/PythonInterface/test/python/plugins/algorithms/LoadLogPropertyTableTest.py index 17c687890f6f..a5151bb8f118 100644 --- a/Code/Mantid/Framework/PythonInterface/test/python/plugins/algorithms/LoadLogPropertyTableTest.py +++ b/Code/Mantid/Framework/PythonInterface/test/python/plugins/algorithms/LoadLogPropertyTableTest.py @@ -12,18 +12,18 @@ def test_LoadValidFilesComments(self): outputWorskapceName = "LoadLogPropertyTableTest_Test1" alg_test = run_algorithm("LoadLogPropertyTable", FirstFile = "MUSR00015189.nxs", - LastFile = "MUSR00015194.nxs", LogNames="comment", OutputWorkspace = outputWorskapceName) + LastFile = "MUSR00015193.nxs", LogNames="comment", OutputWorkspace = outputWorskapceName) self.assertTrue(alg_test.isExecuted()) #Verify some values tablews = AnalysisDataService.retrieve(outputWorskapceName) - self.assertEqual(6, tablews.rowCount()) + self.assertEqual(5, tablews.rowCount()) self.assertEqual(2, tablews.columnCount()) self.assertEqual("18.95MHz 100W", tablews.cell(0,1)) self.assertEqual(15189, tablews.cell(0,0)) - self.assertEqual(15194, tablews.cell(5,0)) + self.assertEqual(15193, tablews.cell(4,0)) run_algorithm("DeleteWorkspace", Workspace = outputWorskapceName) @@ -57,17 +57,17 @@ def test_LoadValidFilesBlankLog(self): outputWorskapceName = "LoadLogPropertyTableTest_Test3" alg_test = run_algorithm("LoadLogPropertyTable", FirstFile = "MUSR00015189.nxs", - LastFile = "MUSR00015194.nxs", OutputWorkspace = outputWorskapceName) + LastFile = "MUSR00015193.nxs", OutputWorkspace = outputWorskapceName) self.assertTrue(alg_test.isExecuted()) #Verify some values tablews = AnalysisDataService.retrieve(outputWorskapceName) - self.assertEqual(6, tablews.rowCount()) + self.assertEqual(5, tablews.rowCount()) self.assertEqual(1, tablews.columnCount()) self.assertEqual(15189, tablews.cell(0,0)) - self.assertEqual(15194, tablews.cell(5,0)) + self.assertEqual(15193, tablews.cell(4,0)) run_algorithm("DeleteWorkspace", Workspace = outputWorskapceName) diff --git a/Code/Mantid/Framework/RemoteAlgorithms/src/AbortRemoteJob.cpp b/Code/Mantid/Framework/RemoteAlgorithms/src/AbortRemoteJob.cpp index 55e35bb7c133..40c1e74755f3 100644 --- a/Code/Mantid/Framework/RemoteAlgorithms/src/AbortRemoteJob.cpp +++ b/Code/Mantid/Framework/RemoteAlgorithms/src/AbortRemoteJob.cpp @@ -1,11 +1,3 @@ -/*WIKI* - -Abort a job that has been submitted to a remote compute resource. - -For more details, see the [[Remote_Job_Submission_API|remote job submission API docs]]. - -*WIKI*/ - #include "MantidRemoteAlgorithms/AbortRemoteJob.h" #include "MantidKernel/MandatoryValidator.h" #include "MantidKernel/NullValidator.h" diff --git a/Code/Mantid/Framework/RemoteAlgorithms/src/Authenticate.cpp b/Code/Mantid/Framework/RemoteAlgorithms/src/Authenticate.cpp index 35d4a4e8f93a..6e52c49a5de9 100644 --- a/Code/Mantid/Framework/RemoteAlgorithms/src/Authenticate.cpp +++ b/Code/Mantid/Framework/RemoteAlgorithms/src/Authenticate.cpp @@ -1,12 +1,3 @@ -/*WIKI* - -Authenticate to the remote compute resource. This must be executed before calling any -other remote algorithms. - -For more details, see the [[Remote_Job_Submission_API|remote job submission API docs]]. - -*WIKI*/ - #include "MantidRemoteAlgorithms/Authenticate.h" #include "MantidKernel/MandatoryValidator.h" #include "MantidKernel/FacilityInfo.h" diff --git a/Code/Mantid/Framework/RemoteAlgorithms/src/DownloadRemoteFile.cpp b/Code/Mantid/Framework/RemoteAlgorithms/src/DownloadRemoteFile.cpp index 166cb67a5d95..bc24cf4cc0fd 100644 --- a/Code/Mantid/Framework/RemoteAlgorithms/src/DownloadRemoteFile.cpp +++ b/Code/Mantid/Framework/RemoteAlgorithms/src/DownloadRemoteFile.cpp @@ -1,11 +1,3 @@ -/*WIKI* - -Download a file from a remote compute resource. - -For more details, see the [[Remote_Job_Submission_API|remote job submission API docs]]. - -*WIKI*/ - #include "MantidRemoteAlgorithms/DownloadRemoteFile.h" #include "MantidKernel/MandatoryValidator.h" #include "MantidKernel/FacilityInfo.h" diff --git a/Code/Mantid/Framework/RemoteAlgorithms/src/QueryAllRemoteJobs.cpp b/Code/Mantid/Framework/RemoteAlgorithms/src/QueryAllRemoteJobs.cpp index 2eaf5071717f..c0fad063911d 100644 --- a/Code/Mantid/Framework/RemoteAlgorithms/src/QueryAllRemoteJobs.cpp +++ b/Code/Mantid/Framework/RemoteAlgorithms/src/QueryAllRemoteJobs.cpp @@ -1,12 +1,3 @@ -/*WIKI* - -Query a remote compute resource for all jobs the user has submitted. -Note that the output properties are all arrays. There will be one element for each job that was found. - -For more details, see the [[Remote_Job_Submission_API|remote job submission API docs]]. - -*WIKI*/ - #include "MantidRemoteAlgorithms/QueryAllRemoteJobs.h" #include "MantidKernel/NullValidator.h" #include "MantidKernel/ArrayProperty.h" diff --git a/Code/Mantid/Framework/RemoteAlgorithms/src/QueryRemoteFile.cpp b/Code/Mantid/Framework/RemoteAlgorithms/src/QueryRemoteFile.cpp index d836fe433134..11a758b16eaf 100644 --- a/Code/Mantid/Framework/RemoteAlgorithms/src/QueryRemoteFile.cpp +++ b/Code/Mantid/Framework/RemoteAlgorithms/src/QueryRemoteFile.cpp @@ -1,12 +1,3 @@ -/*WIKI* - -Retrieve a list of the files associated with the specified transaction from a remote -compute resource. - -For more details, see the [[Remote_Job_Submission_API|remote job submission API docs]]. - -*WIKI*/ - #include "MantidRemoteAlgorithms/QueryRemoteFile.h" #include "MantidKernel/MandatoryValidator.h" #include "MantidKernel/ArrayProperty.h" diff --git a/Code/Mantid/Framework/RemoteAlgorithms/src/QueryRemoteJob.cpp b/Code/Mantid/Framework/RemoteAlgorithms/src/QueryRemoteJob.cpp index dbc6432f598a..90f7aa2864ce 100644 --- a/Code/Mantid/Framework/RemoteAlgorithms/src/QueryRemoteJob.cpp +++ b/Code/Mantid/Framework/RemoteAlgorithms/src/QueryRemoteJob.cpp @@ -1,11 +1,3 @@ -/*WIKI* - -Query a remote compute resource for a specific job the user has submitted. - -For more details, see the [[Remote_Job_Submission_API|remote job submission API docs]]. - -*WIKI*/ - #include "MantidRemoteAlgorithms/QueryRemoteJob.h" #include "MantidKernel/MandatoryValidator.h" #include "MantidKernel/NullValidator.h" diff --git a/Code/Mantid/Framework/RemoteAlgorithms/src/StartRemoteTransaction.cpp b/Code/Mantid/Framework/RemoteAlgorithms/src/StartRemoteTransaction.cpp index db14ba25fd01..ff706224f0c2 100644 --- a/Code/Mantid/Framework/RemoteAlgorithms/src/StartRemoteTransaction.cpp +++ b/Code/Mantid/Framework/RemoteAlgorithms/src/StartRemoteTransaction.cpp @@ -1,11 +1,3 @@ -/*WIKI* - -Start a job transaction on a remote compute resource. - -For more details, see the [[Remote_Job_Submission_API|remote job submission API docs]]. - -*WIKI*/ - #include "MantidRemoteAlgorithms/StartRemoteTransaction.h" #include "MantidRemoteAlgorithms/SimpleJSON.h" #include "MantidKernel/FacilityInfo.h" diff --git a/Code/Mantid/Framework/RemoteAlgorithms/src/StopRemoteTransaction.cpp b/Code/Mantid/Framework/RemoteAlgorithms/src/StopRemoteTransaction.cpp index eb545aac01e5..782f12f3032c 100644 --- a/Code/Mantid/Framework/RemoteAlgorithms/src/StopRemoteTransaction.cpp +++ b/Code/Mantid/Framework/RemoteAlgorithms/src/StopRemoteTransaction.cpp @@ -1,11 +1,3 @@ -/*WIKI* - -Stop a job transaction on a remote compute resource. - -For more details, see the [[Remote_Job_Submission_API|remote job submission API docs]]. - -*WIKI*/ - #include "MantidRemoteAlgorithms/StopRemoteTransaction.h" #include "MantidRemoteAlgorithms/SimpleJSON.h" #include "MantidKernel/MandatoryValidator.h" diff --git a/Code/Mantid/Framework/RemoteAlgorithms/src/SubmitRemoteJob.cpp b/Code/Mantid/Framework/RemoteAlgorithms/src/SubmitRemoteJob.cpp index 9ead38384dbd..059757fa0f07 100644 --- a/Code/Mantid/Framework/RemoteAlgorithms/src/SubmitRemoteJob.cpp +++ b/Code/Mantid/Framework/RemoteAlgorithms/src/SubmitRemoteJob.cpp @@ -1,11 +1,3 @@ -/*WIKI* - -Submit a job to be executed on the specified remote compute resource. - -For more details, see the [[Remote_Job_Submission_API|remote job submission API docs]]. - -*WIKI*/ - #include "MantidRemoteAlgorithms/SubmitRemoteJob.h" #include "MantidKernel/BoundedValidator.h" #include "MantidKernel/MandatoryValidator.h" diff --git a/Code/Mantid/Framework/RemoteAlgorithms/src/UploadRemoteFile.cpp b/Code/Mantid/Framework/RemoteAlgorithms/src/UploadRemoteFile.cpp index 9c275aaf5577..d0010b3aeb8d 100644 --- a/Code/Mantid/Framework/RemoteAlgorithms/src/UploadRemoteFile.cpp +++ b/Code/Mantid/Framework/RemoteAlgorithms/src/UploadRemoteFile.cpp @@ -1,12 +1,3 @@ -/*WIKI* - -Uploads a file to the specified compute resource. Presumably, the file is a python script -or input data necessary to run a Mantid algorithm on the remote compute resource. - -For more details, see the [[Remote_Job_Submission_API|remote job submission API docs]]. - -*WIKI*/ - #include "MantidRemoteAlgorithms/UploadRemoteFile.h" #include "MantidKernel/MandatoryValidator.h" #include "MantidKernel/FacilityInfo.h" diff --git a/Code/Mantid/Framework/SINQ/src/InvertMDDim.cpp b/Code/Mantid/Framework/SINQ/src/InvertMDDim.cpp index 900da9f43dd8..2f71c9b7c8d3 100644 --- a/Code/Mantid/Framework/SINQ/src/InvertMDDim.cpp +++ b/Code/Mantid/Framework/SINQ/src/InvertMDDim.cpp @@ -1,12 +1,3 @@ -/*WIKI* -== Description == - -InvertMDDim inverts the dimensions of a MDHistoWorkspace. It copies the data around to -match the new dimensions. This algorithm is useful when dealing with storage order -issues. - - *WIKI*/ - /** * This Algorithms inverts the dimensions of a MD data set. The * application area is when fixing up MD workspaces which had to have the diff --git a/Code/Mantid/Framework/SINQ/src/LoadFlexiNexus.cpp b/Code/Mantid/Framework/SINQ/src/LoadFlexiNexus.cpp index f6eba25f9cca..d43d385aa087 100644 --- a/Code/Mantid/Framework/SINQ/src/LoadFlexiNexus.cpp +++ b/Code/Mantid/Framework/SINQ/src/LoadFlexiNexus.cpp @@ -1,38 +1,3 @@ -/*WIKI* - -== Description == -This algorithm is a flexible NeXus file loader. Data loading is -driven by a dictionary. Correspondingly the algorithm takes as -arguments: a filename, a path to a dictionary file and an output -workspace name. - -The dictionary itself is a list of key=value pairs, one per line. -Normally dictionary entries take the form key-path-into-Nexus-file. -The default action is to store the data found at path-into-NeXus-file -under key key in the Run information of the result workspace. But some -keys are interpreted specially: -;data=path-into-nexus-file -: This is a required entry. path-into-nexus-file is the path in the NeXus file to the data which is the main bulk workspace data. Usually the counts. From the dimensionality of this data the type of result workspace is determined. If the rank is <= 2, then a Workspace2D is created, else a MDHistoWorkspace. -;x-axis=path-into-nexus-file -: The data found under the path into the NeXus file will be used as axis 0 on the dataset -;x-axis-name=text -: The text specified will become the name of the axis 0 -;y-axis=path-into-nexus-file -: The data found under the path into the NeXus file will be used as axis 1 on the dataset -;y-axis-name=text -: The text specified will become the name of the axis 1 -;z-axis=path-into-nexus-file -: The data found under the path into the NeXus file will be used as axis 2 on the dataset -;z-axis-name=text -: The text specified will become the name of the axis 0 -;title=path-into-nexus-file or text -: If the value contains a / then it is interpreted as a path into the NeXus file, the value of which will be stored as workspace title. Else the text value will be stored as the title name directly. -;sample=path-into-nexus-file or text -: If the value contains a / then it is interpreted as a path into the NeXus file, the value of which will be stored as workspace sample. Else the text value will be stored as the sample name directly. - -Please note that the dimensions on the MDHistoWorkspace are inverted when compared with the ones in the NeXus file. This is a fix which allows to efficiently transfer the NeXus data in C storage order into the MDHistoWorkspace which has fortran storage order. - -*WIKI*/ #include "MantidSINQ/LoadFlexiNexus.h" #include "MantidAPI/FileProperty.h" #include "MantidKernel/ArrayProperty.h" diff --git a/Code/Mantid/Framework/SINQ/src/MDHistoToWorkspace2D.cpp b/Code/Mantid/Framework/SINQ/src/MDHistoToWorkspace2D.cpp index 8dcdf3a54ecf..1c4c4420117d 100644 --- a/Code/Mantid/Framework/SINQ/src/MDHistoToWorkspace2D.cpp +++ b/Code/Mantid/Framework/SINQ/src/MDHistoToWorkspace2D.cpp @@ -1,14 +1,3 @@ -/*WIKI* - -MDHistoToWorkspace2D flattens a MDHistoWorkspace into a Workspace2D. It can process MDHistoWorkspaces of any dimensionality. -The last dimension of the MDHistoWorkspace becomes -the spectra length. Flattening happens such that the first dimension of the MDHistoWorkspace -is the slowest varying, the second the second slowest varying and so on. - -This tool is useful as many algorithms in Mantid only apply to Workspace2D. After -conversion with MDHistoToWorkspace2D such algorithms can also be applied to MD data. -*WIKI*/ - /** * This algorithm flattens a MDHistoWorkspace to a Workspace2D. Mantid has far more tools * to deal with W2D then for MD ones. diff --git a/Code/Mantid/Framework/SINQ/src/PoldiAutoCorrelation5.cpp b/Code/Mantid/Framework/SINQ/src/PoldiAutoCorrelation5.cpp index 1137b62adfc4..c08670ba78f1 100644 --- a/Code/Mantid/Framework/SINQ/src/PoldiAutoCorrelation5.cpp +++ b/Code/Mantid/Framework/SINQ/src/PoldiAutoCorrelation5.cpp @@ -1,17 +1,3 @@ -/*WIKI* -PoldiAutoCorrelation belongs to the family of algorithms used to analyze POLDI data. It performs -the auto-correlation method described in the POLDI concept paper. - -It's possible to apply it to a workspace containing raw data from a single run or a workspace with merged data -from several measurements. The only requirement is that a correctly configured POLDI instrument is present -in the workspace and that its parameters (detector definition, chopper parameters, etc.) are in accordance with -data dimensions. - -== How to use algorithm with other algorithms == -This algorithm is designed to work with other algorithms to -proceed POLDI data. - - *WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/SINQ/src/PoldiFitPeaks1D.cpp b/Code/Mantid/Framework/SINQ/src/PoldiFitPeaks1D.cpp index 4dd5cd75c5df..2d3cc7a7d620 100644 --- a/Code/Mantid/Framework/SINQ/src/PoldiFitPeaks1D.cpp +++ b/Code/Mantid/Framework/SINQ/src/PoldiFitPeaks1D.cpp @@ -1,14 +1,3 @@ -/*WIKI* -PoldiFitPeaks1D takes a TableWorkspace with peaks (for example from [[ PoldiPeakSearch ]]) and a spectrum from -[[ PoldiAutoCorrelation ]] and tries to fit a Gaussian peak profile to the spectrum for each peak. Usually, the -peaks are accompanied by a quadratic background, so this is fitted as well. - -The implementation is very close to the original POLDI analysis software (using the same profile function). One -point where this routine differs is error calculation. In the original program the parameter errors were adjusted -by averaging \chi^2-values, but this does not work properly if there is an outlier caused by a bad -fit for one of the peaks. -*WIKI*/ - #include "MantidAPI/WorkspaceProperty.h" #include "MantidAPI/WorkspaceFactory.h" #include "MantidAPI/WorkspaceGroup.h" diff --git a/Code/Mantid/Framework/SINQ/src/PoldiLoadChopperSlits.cpp b/Code/Mantid/Framework/SINQ/src/PoldiLoadChopperSlits.cpp index 5fc5a60aa5e9..fa6c8512f86e 100644 --- a/Code/Mantid/Framework/SINQ/src/PoldiLoadChopperSlits.cpp +++ b/Code/Mantid/Framework/SINQ/src/PoldiLoadChopperSlits.cpp @@ -1,13 +1,3 @@ -/*WIKI* - - -== How to use algorithm with other algorithms == -This algorithm is designed to work with other algorithms to -proceed POLDI data. The introductions can be found in the -wiki page of [[PoldiProjectRun]]. - - - *WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/SINQ/src/PoldiLoadIPP.cpp b/Code/Mantid/Framework/SINQ/src/PoldiLoadIPP.cpp index b8ded546396d..1cad561b7903 100644 --- a/Code/Mantid/Framework/SINQ/src/PoldiLoadIPP.cpp +++ b/Code/Mantid/Framework/SINQ/src/PoldiLoadIPP.cpp @@ -1,12 +1,3 @@ -/*WIKI* - -== How to use algorithm with other algorithms == -This algorithm is designed to work with other algorithms to -proceed POLDI data. The introductions can be found in the -wiki page of [[PoldiProjectRun]]. - - - *WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/SINQ/src/PoldiLoadLog.cpp b/Code/Mantid/Framework/SINQ/src/PoldiLoadLog.cpp index fcdb82e1ab50..d8a943b3f1fd 100644 --- a/Code/Mantid/Framework/SINQ/src/PoldiLoadLog.cpp +++ b/Code/Mantid/Framework/SINQ/src/PoldiLoadLog.cpp @@ -1,12 +1,3 @@ -/*WIKI* - -== How to use algorithm with other algorithms == -This algorithm is designed to work with other algorithms to -proceed POLDI data. The introductions can be found in the -wiki page of [[PoldiProjectRun]]. - - - *WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/SINQ/src/PoldiLoadSpectra.cpp b/Code/Mantid/Framework/SINQ/src/PoldiLoadSpectra.cpp index a090f7151918..8fa0d488bdd9 100644 --- a/Code/Mantid/Framework/SINQ/src/PoldiLoadSpectra.cpp +++ b/Code/Mantid/Framework/SINQ/src/PoldiLoadSpectra.cpp @@ -1,13 +1,3 @@ -/*WIKI* - - -== How to use algorithm with other algorithms == -This algorithm is designed to work with other algorithms to -proceed POLDI data. The introductions can be found in the -wiki page of [[PoldiProjectRun]]. - - - *WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/SINQ/src/PoldiPeakDetection2.cpp b/Code/Mantid/Framework/SINQ/src/PoldiPeakDetection2.cpp index f6d8165ae853..43f758861fa4 100644 --- a/Code/Mantid/Framework/SINQ/src/PoldiPeakDetection2.cpp +++ b/Code/Mantid/Framework/SINQ/src/PoldiPeakDetection2.cpp @@ -1,13 +1,3 @@ -/*WIKI* - - -== How to use algorithm with other algorithms == -This algorithm is designed to work with other algorithms to -proceed POLDI data. The introductions can be found in the -wiki page of [[PoldiProjectRun]]. - - - *WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/SINQ/src/PoldiPeakSearch.cpp b/Code/Mantid/Framework/SINQ/src/PoldiPeakSearch.cpp index d9c4e91d3f67..1999ec737e5b 100644 --- a/Code/Mantid/Framework/SINQ/src/PoldiPeakSearch.cpp +++ b/Code/Mantid/Framework/SINQ/src/PoldiPeakSearch.cpp @@ -1,29 +1,3 @@ -/*WIKI* -PoldiPeakSearch is a peak-finding routine for POLDI auto-correlation data. The algorithm is implemented according -to the original data analysis software and their results match closely. - -The algorithm performs the following steps: -# Map each point of the spectrum y, except the first and the last to the sum of its value and its neighbor's values: - y'_i = y_{i-1} + y_{i} + y_{i+1} - The new spectrum y' contains n-2 points when y contains n. -# Identify peak positions in y', which is done with a recursive algorithm, consisting of these steps: -## Find the position of the maximum, i_{max} in the list, store in peak-list. -## Split the list in two parts, [i_{0} + \Delta, i_{max} - \Delta) and (i_{max} + \Delta, i_{n} - \Delta], -where \Delta is the mininum number of data points between two peaks. -## If ranges are valid, perform algorithm on each of the sublists, append returned lists to peak-list. -## Return peak-list. -# Sort list by value in descending order, keep the first N_{max} items of the list. -# Map peak positions from y' back to y -# Perform background and fluctuation estimation: -## Extract all points from y (except the first and the last) that are further than \Delta elements away from any peak position -## Calculate median of these points as location estimate (\bar{b}) -## Calculate Sn as scale estimator (\bar(s)) -# Estimate peak intensity as y_{i} -# If a minimum peak height is set, discard all peaks that are smaller than this, if not, discard all peaks that are lower than 3\cdot\bar{s} + \bar{b} - -The peaks are stored in a new table workspace. -*WIKI*/ - #include "MantidSINQ/PoldiPeakSearch.h" #include "MantidAPI/WorkspaceProperty.h" diff --git a/Code/Mantid/Framework/SINQ/src/PoldiRemoveDeadWires.cpp b/Code/Mantid/Framework/SINQ/src/PoldiRemoveDeadWires.cpp index 00070b15a08d..5f578b678862 100644 --- a/Code/Mantid/Framework/SINQ/src/PoldiRemoveDeadWires.cpp +++ b/Code/Mantid/Framework/SINQ/src/PoldiRemoveDeadWires.cpp @@ -1,13 +1,3 @@ -/*WIKI* - - -== How to use algorithm with other algorithms == -This algorithm is designed to work with other algorithms to -proceed POLDI data. The introductions can be found in the -wiki page of [[PoldiProjectRun]]. - - - *WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/SINQ/src/ProjectMD.cpp b/Code/Mantid/Framework/SINQ/src/ProjectMD.cpp index 3d0db88157b9..f7b58433fd46 100644 --- a/Code/Mantid/Framework/SINQ/src/ProjectMD.cpp +++ b/Code/Mantid/Framework/SINQ/src/ProjectMD.cpp @@ -1,25 +1,3 @@ -/*WIKI* -== Description == - -ProjectMD reduces the dimensionality of a MHDistoWorkspace by summing it along a -specified dimension. Example: you have a 3D MDHistoWorkspace with X,Y,TOF. -You sum along Z (TOF) and the result is a 2D workspace X,Y which gives you a -detector image. - -Besides the obvious input and output workspaces you have to specify the dimension -along which you wish to sum. The following code is used: -;X -: Dimension 0 -;Y -: Dimension 1 -;Z -: Dimension 2 -;K -: Dimension 3 -The summation range also has to be specified. This is in indices into the -appropriate axis. -*WIKI*/ - #include "MantidSINQ/ProjectMD.h" #include "MantidKernel/ListValidator.h" #include "MantidGeometry/MDGeometry/MDTypes.h" diff --git a/Code/Mantid/Framework/SINQ/src/SINQTranspose3D.cpp b/Code/Mantid/Framework/SINQ/src/SINQTranspose3D.cpp index c2d70951e4e9..761905a3573f 100644 --- a/Code/Mantid/Framework/SINQ/src/SINQTranspose3D.cpp +++ b/Code/Mantid/Framework/SINQ/src/SINQTranspose3D.cpp @@ -1,20 +1,3 @@ -/*WIKI* -== Description == - -SINQTranspose3D is an algorithm which fixes some problems with SINQ data. -This algorithm is probably not generally useful. It basically reorders -the data in a 3D MDHistoWorkspace. The following reordering options are -available: -;Y,X,Z -: Swaps X and Y in the data -;X,Z,Y -: Swaps Y and Z in the data -;TRICS -: Swaps from C to Fortran storage order -;AMOR -: Converts storage order and swaps X and Y - - *WIKI*/ #include "MantidSINQ/SINQTranspose3D.h" #include "MantidKernel/ListValidator.h" #include "MantidGeometry/MDGeometry/MDTypes.h" diff --git a/Code/Mantid/Framework/WorkflowAlgorithms/src/AlignAndFocusPowder.cpp b/Code/Mantid/Framework/WorkflowAlgorithms/src/AlignAndFocusPowder.cpp index dfa6f92b3da6..3c7db0291b17 100644 --- a/Code/Mantid/Framework/WorkflowAlgorithms/src/AlignAndFocusPowder.cpp +++ b/Code/Mantid/Framework/WorkflowAlgorithms/src/AlignAndFocusPowder.cpp @@ -1,24 +1,3 @@ -/*WIKI* - -This is a workflow algorithm that does the bulk of the work for time focusing diffraction data. This is done by executing several sub-algorithms as listed below. - -# [[RemovePromptPulse]] (event workspace only) -# [[CompressEvents]] (event workspace only) -# [[CropWorkspace]] -# [[MaskDetectors]] -# [[Rebin]] or [[ResampleX]] if not d-space binning -# [[AlignDetectors]] -# If LRef, minwl, or DIFCref are specified: -## [[ConvertUnits]] to time-of-flight -## [[UnwrapSNS]] -## [[RemoveLowResTOF]] -## [[ConvertUnits]] to d-spacing -# [[Rebin]] if d-space binning -# [[DiffractionFocussing]] -# [[SortEvents]] (event workspace only) -# [[EditInstrumentGeometry]] (if appropriate) -# [[ConvertUnits]] to time-of-f -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/WorkflowAlgorithms/src/ComputeSensitivity.cpp b/Code/Mantid/Framework/WorkflowAlgorithms/src/ComputeSensitivity.cpp index 609069a8adde..c965ca48fdaa 100644 --- a/Code/Mantid/Framework/WorkflowAlgorithms/src/ComputeSensitivity.cpp +++ b/Code/Mantid/Framework/WorkflowAlgorithms/src/ComputeSensitivity.cpp @@ -1,14 +1,3 @@ -/*WIKI* -Calculate the EQSANS detector sensitivity. This workflow algorithm uses the -reduction parameters found in the property manager object passed as the -ReductionProperties parameter to load the given data file, apply all the -necessary corrections to it and compute the sensitivity correction. - -Setting the PatchWorkspace property allows you to patch areas of the -detector. All masked pixels in the patch workspace will be patched. -The value assigned to a patched pixel is the average of all unmasked -pixels in this patched pixel's tube. -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -105,4 +94,3 @@ void ComputeSensitivity::exec() } // namespace WorkflowAlgorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/WorkflowAlgorithms/src/DgsAbsoluteUnitsReduction.cpp b/Code/Mantid/Framework/WorkflowAlgorithms/src/DgsAbsoluteUnitsReduction.cpp index d7f0b0d179e8..8a116679ad30 100644 --- a/Code/Mantid/Framework/WorkflowAlgorithms/src/DgsAbsoluteUnitsReduction.cpp +++ b/Code/Mantid/Framework/WorkflowAlgorithms/src/DgsAbsoluteUnitsReduction.cpp @@ -1,61 +1,3 @@ -/*WIKI* - -This algorithm is responsible for taking an absolute units sample and -converting it to an integrated value (one value for entire workspace) for that -sample. A corresponding detector vanadium can be used in conjunction with the -data reduction. The diagram below shows the workflow. The -AbsUnitsIncidentEnergy parameter needs to be passed via a property manager -since the absolute units sample may have been measured at an energy different -from the sample of interest. Parameters in italics are controlled by the -[[InstrumentParameterFile | instrument parameter file (IPF)]] unless provided -to the algorithm via a property manager. The mappings are given below. - -{| class="wikitable" -|- -! Parameter !! IPF Mapping -|- -| VanadiumMass || vanadium-mass -|- -| AbsUnitsMinimumEnergy || monovan-integr-min -|- -| AbsUnitsMaximumEnergy || monovan-integr-max -|} - -The last two parameters are used to create a single bin for the ''Rebin'' -algorithm. The dashed oval parameter, VanadiumRmm, is taken from the atomic -information for the molecular mass of Vanadium. The open circle represents -detector diagnostic parameters and they are detailed in the table below. - -{| class="wikitable" -|- -! Parameter !! IPF Mapping !! [[DetectorDiagnostic]] Mapping -|- -| HighCounts || diag_huge || HighThreshold -|- -| LowCounts || diag_tiny || LowThreshold -|- -| AbsUnitsLowOutlier || monovan_lo_bound || LowOutlier -|- -| AbsUnitsHighOutlier || monovan_hi_bound || HighOutlier -|- -| AbsUnitsMedianTestLow || monovan_lo_frac || LowThresholdFraction -|- -| AbsUnitsMedianTestHigh || monovan_hi_frac || HighThresholdFraction -|- -| AbsUnitsErrorBarCriterion || diag_samp_sig || SignificanceTest -|} - -If a detector vanadium is used, the processed sample workspace is multiplied -by a factor containing the sample mass (SampleMass), sample molecular mass -(SampleRmm) and the cross-section (Scattering XSec) given by: -\frac{(\sigma^{V}_{incoherent}+\sigma^{V}_{coherent})\times10^{3}}{4\pi} -with the cross-section units of millibarns/steradian. - -=== Workflow === -[[File:DgsAbsoluteUnitsReductionWorkflow.png]] - -*WIKI*/ - #include "MantidWorkflowAlgorithms/DgsAbsoluteUnitsReduction.h" #include "MantidAPI/PropertyManagerDataService.h" #include "MantidKernel/Atom.h" diff --git a/Code/Mantid/Framework/WorkflowAlgorithms/src/DgsConvertToEnergyTransfer.cpp b/Code/Mantid/Framework/WorkflowAlgorithms/src/DgsConvertToEnergyTransfer.cpp index 845048876c80..d0b578cec3d4 100644 --- a/Code/Mantid/Framework/WorkflowAlgorithms/src/DgsConvertToEnergyTransfer.cpp +++ b/Code/Mantid/Framework/WorkflowAlgorithms/src/DgsConvertToEnergyTransfer.cpp @@ -1,38 +1,3 @@ -/*WIKI* - -This algorithm is responsible for making the conversion from time-of-flight to -energy transfer for direct geometry spectrometers. The diagram below shows the -workflow for the algorithm. The SNS instruments have a log called EnergyRequest -which allows the IncidentEnergyGuess parameter to be left blank. Also, SNS -instruments need to pass a monitor workspace to ''GetEi'' since they are -separate from the sample workspace. Parameters in italics are controlled by the -[[InstrumentParameterFile|instrument parameter file (IPF)]] unless provided to -the algorithm via a property manager. The mappings are given below. - -{| class="wikitable" -|- -! Parameter !! IPF Mapping -|- -| TibTofRangeStart || bkgd-range-min -|- -| TibTofRangeEnd || bkgd-range-max -|} - -Parameters in italics with dashed perimeters are only controllable by the IPF -name given. All underlined parameters are fixed and not controllable. -The EnergyTransferRange parameter takes the canonical Mantid notation of -(start, step, stop). However, it can be left blank and the following values -will be used -(-0.5E^{Guess}_{i}, 0.01E^{Guess}_{i}, 0.99E^{Guess}_{i}). - -The use of the SofPhiEIsDistribution parameter in the last Rebin call is used -to set the ''Rebin'' algorithm parameter PreserveEvents. - -=== Workflow === -[[File:DgsConvertToEnergyTransferWorkflow.png]] - -*WIKI*/ - #include "MantidWorkflowAlgorithms/DgsConvertToEnergyTransfer.h" #include "MantidAPI/PropertyManagerDataService.h" #include "MantidAPI/WorkspaceHistory.h" diff --git a/Code/Mantid/Framework/WorkflowAlgorithms/src/DgsDiagnose.cpp b/Code/Mantid/Framework/WorkflowAlgorithms/src/DgsDiagnose.cpp index e4a26ec2f53f..46828139043d 100644 --- a/Code/Mantid/Framework/WorkflowAlgorithms/src/DgsDiagnose.cpp +++ b/Code/Mantid/Framework/WorkflowAlgorithms/src/DgsDiagnose.cpp @@ -1,91 +1,3 @@ -/*WIKI* - -This algorithm is responsible for setting up the necessary workspaces to -hand off to the [[DetectorDiagnostic]] algorithm. The diagram below shows the -manipulations done by this algorithm. Workspaces that have dashed lines are -optional. Parameters in italics are retrieved from the -[[InstrumentParameterFile|instrument parameter file (IPF)]] unless they are -provided to the algorithm via a property manager. The mappings for these -parameters are shown below. - -{| class="wikitable" -|- -! Parameter !! IPF Mapping !! [[DetectorDiagnostic]] Mapping -|- -| RejectZeroBackground || diag_samp_zero || - -|- -| BackgroundCheck || check_background || - -|- -| PsdBleed || diag_bleed_test || - -|- -| BackgroundTofStart || bkgd-range-min || - -|- -| BackgroundTofEnd || bkgd-range-max || - -|- -| DetVanRatioVariation || diag_variation || DetVanRatioVariation -|} - -The open circles represent groups of parameters. They are detailed in the tables -below. All parameters given here act like italicized parameters. - -====Detectors Outside Limits Parameters==== -{| class="wikitable" -|- -! Parameter !! IPF Mapping !! [[DetectorDiagnostic]] Mapping -|- -| HighCounts || diag_huge || HighThreshold -|- -| LowCounts || diag_tiny || LowThreshold -|- -|} - -====Median Detector Test Parameters==== -{| class="wikitable" -|- -! Parameter !! IPF Mapping !! [[DetectorDiagnostic]] Mapping -|- -| HighOutlier || diag_van_out_hi || HighOutlier -|- -| LowOutlier || diag_van_out_lo || LowOutlier -|- -| MedianTestHigh || diag_van_hi || HighThresholdFraction -|- -| MedianTestLow || diag_van_lo || LowThresholdFraction -|- -| ErrorBarCriterion || diag_van_sig || SignificanceTest -|- -| MeanTestLevelsUp || diag_van_levels || LevelsUp -|- -| MedianTestCorrectForSolidAngle || diag_correct_solid_angle || CorrectForSolidAngle -|} - -====Sample Background Parameters==== -{| class="wikitable" -|- -! Parameter !! IPF Mapping !! [[DetectorDiagnostic]] Mapping -|- -| SamBkgMedianTestHigh || diag_samp_hi || SampleBkgHighAcceptanceFactor -|- -| SamBkgMedianTestLow || diag_samp_lo || SampleBkgLowAcceptanceFactor -|- -| SamBkgErrorBarCriterion || diag_samp_sig || SampleBkgSignificanceTest -|} - -====PsdBleed Parameters==== -{| class="wikitable" -|- -! Parameter !! IPF Mapping !! [[DetectorDiagnostic]] Mapping -|- -| MaxFramerate || diag_bleed_maxrate || MaxTubeFramerate -|- -| IgnoredPixels || diag_bleed_pixels || NIgnoredCentralPixels -|} - -=== Workflow === -[[File:DgsDiagnoseWorkflow.png]] - -*WIKI*/ - #include "MantidWorkflowAlgorithms/DgsDiagnose.h" #include "MantidAPI/PropertyManagerDataService.h" #include "MantidDataObjects/MaskWorkspace.h" diff --git a/Code/Mantid/Framework/WorkflowAlgorithms/src/DgsPreprocessData.cpp b/Code/Mantid/Framework/WorkflowAlgorithms/src/DgsPreprocessData.cpp index 0c9da40c4a19..9357a2192636 100644 --- a/Code/Mantid/Framework/WorkflowAlgorithms/src/DgsPreprocessData.cpp +++ b/Code/Mantid/Framework/WorkflowAlgorithms/src/DgsPreprocessData.cpp @@ -1,33 +1,3 @@ -/*WIKI* - -This algorithm is responsible for normalising data via a given incident beam -parameter. This parameter, IncidentBeamNormalisation, is controlled from the -reduction property manager. It can have the values ''None'', ''ByCurrent'' or -''ByMonitor''. For SNS, monitor workspaces need to be passed. Parameters in -italics are controlled by the -[[InstrumentParameterFile | instrument parameter file (IPF)]] unless provided to -the algorithm via a property manager. The mappings are given below. - -{| class="wikitable" -|- -! Parameter !! IPF Mapping -|- -| MonitorIntRangeLow || norm-mon1-min -|- -| MonitorIntRangeHigh || norm-mon1-max -|} - -Parameters in italics with dashed perimeters are only controllable by the IPF -name given. All underlined parameters are fixed via other input method. If -normalisation is performed, a sample log called -DirectInelasticReductionNormalisedBy is added to the resulting workspace with -the normalisation procedure used. - -=== Workflow === -[[File:DgsPreprocessDataWorkflow.png]] - -*WIKI*/ - #include "MantidWorkflowAlgorithms/DgsPreprocessData.h" #include "MantidAPI/AlgorithmManager.h" #include "MantidAPI/AlgorithmProperty.h" diff --git a/Code/Mantid/Framework/WorkflowAlgorithms/src/DgsProcessDetectorVanadium.cpp b/Code/Mantid/Framework/WorkflowAlgorithms/src/DgsProcessDetectorVanadium.cpp index add6c8b607ef..04301571c252 100644 --- a/Code/Mantid/Framework/WorkflowAlgorithms/src/DgsProcessDetectorVanadium.cpp +++ b/Code/Mantid/Framework/WorkflowAlgorithms/src/DgsProcessDetectorVanadium.cpp @@ -1,33 +1,3 @@ -/*WIKI* - -This algorithm is responsible for processing the detector vanadium in the form -required for the sample data normalisation in the convert to energy transfer -process. Parameters in italics are controlled by the -[[InstrumentParameterFile|instrument parameter file (IPF)]] unless provided -to the algorithm via a property manager. The mappings are given below. - -{| class="wikitable" -|- -! Parameter !! IPF Mapping -|- -| DetVanIntRangeLow || wb-integr-min -|- -| DetVanIntRangeHigh || wb-integr-max -|} - -Parameters in italics with dashed perimeters are only controllable by the IPF -name given. All underlined parameters are fixed and not controllable. -If the input detector vanadium is in TOF units and that is the -requested units for integration, the ''ConvertUnits'' algorithm does not run. -The range parameters feeding into ''Rebin'' are used to make a single bin. -The resulting integrated vanadium workspace can be saved to a file using the -reduction property manager with the boolean property SaveProcessedDetVan. - -=== Workflow === -[[File:DgsProcessDetectorVanadiumWorkflow.png]] - -*WIKI*/ - #include "MantidWorkflowAlgorithms/DgsProcessDetectorVanadium.h" #include "MantidAPI/PropertyManagerDataService.h" #include "MantidAPI/WorkspaceValidators.h" diff --git a/Code/Mantid/Framework/WorkflowAlgorithms/src/DgsReduction.cpp b/Code/Mantid/Framework/WorkflowAlgorithms/src/DgsReduction.cpp index 5af5380ec3f2..d567fce4e1ed 100644 --- a/Code/Mantid/Framework/WorkflowAlgorithms/src/DgsReduction.cpp +++ b/Code/Mantid/Framework/WorkflowAlgorithms/src/DgsReduction.cpp @@ -1,19 +1,3 @@ -/*WIKI* - -This is the top-level workflow algorithm for direct geometry spectrometer -data reduction. This algorithm is responsible for gathering the necessary -parameters and generating calls to other workflow or standard algorithms. - -=== Workflow === -Parameters for the child algorithms are not shown due to sheer number. They -will be detailed in the child algorithm diagrams. Items in parallelograms are -output workspaces from their respective algorithms. Not all output workspaces -are subsequently used by other algorithms. - -[[File:DgsReductionWorkflow.png]] - - *WIKI*/ - #include "MantidWorkflowAlgorithms/DgsReduction.h" #include "MantidAPI/FileProperty.h" diff --git a/Code/Mantid/Framework/WorkflowAlgorithms/src/DgsRemap.cpp b/Code/Mantid/Framework/WorkflowAlgorithms/src/DgsRemap.cpp index e3d6e0ee1712..d6e1d6fc3722 100644 --- a/Code/Mantid/Framework/WorkflowAlgorithms/src/DgsRemap.cpp +++ b/Code/Mantid/Framework/WorkflowAlgorithms/src/DgsRemap.cpp @@ -1,13 +1,3 @@ -/*WIKI* - -This algorithm is responsible for masking and grouping the given input workspace. -One can use the ExecuteOppositeOrder to do grouping first then masking. - -=== Workflow === -[[File:DgsRemapWorkflow.png]] - -*WIKI*/ - #include "MantidWorkflowAlgorithms/DgsRemap.h" #include "MantidAPI/FileProperty.h" #include "MantidDataObjects/GroupingWorkspace.h" diff --git a/Code/Mantid/Framework/WorkflowAlgorithms/src/EQSANSDarkCurrentSubtraction.cpp b/Code/Mantid/Framework/WorkflowAlgorithms/src/EQSANSDarkCurrentSubtraction.cpp index aed0e4532158..ca1fa933b469 100644 --- a/Code/Mantid/Framework/WorkflowAlgorithms/src/EQSANSDarkCurrentSubtraction.cpp +++ b/Code/Mantid/Framework/WorkflowAlgorithms/src/EQSANSDarkCurrentSubtraction.cpp @@ -1,16 +1,3 @@ -/*WIKI* -Subtract the dark current from an EQSANS data set. -This workflow algorithm will: - -- Properly load the dark current data set - -- Normalize the dark current to the data taking period - -- Subtract the dark current from the input workspace - -See [http://www.mantidproject.org/Reduction_for_HFIR_SANS SANS Reduction] documentation for details. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -208,4 +195,3 @@ void EQSANSDarkCurrentSubtraction::exec() } // namespace WorkflowAlgorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/WorkflowAlgorithms/src/EQSANSLoad.cpp b/Code/Mantid/Framework/WorkflowAlgorithms/src/EQSANSLoad.cpp index d8fdfb62d90f..fdfc3ed55708 100644 --- a/Code/Mantid/Framework/WorkflowAlgorithms/src/EQSANSLoad.cpp +++ b/Code/Mantid/Framework/WorkflowAlgorithms/src/EQSANSLoad.cpp @@ -1,20 +1,3 @@ -/*WIKI* -Workflow algorithm that loads EQSANS event data and applies basic corrections -to the workspace. Those include: - -- Moving the detector at its proper position in Z - -- Moving the detector according to the beam center - -- Correcting the TOF - -- Applying TOF cuts - -- Gathering meta-data information such as configuration mask and moderator position - -See [http://www.mantidproject.org/Reduction_for_HFIR_SANS SANS Reduction] documentation for details. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -746,4 +729,3 @@ void EQSANSLoad::exec() } // namespace WorkflowAlgorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/WorkflowAlgorithms/src/EQSANSMonitorTOF.cpp b/Code/Mantid/Framework/WorkflowAlgorithms/src/EQSANSMonitorTOF.cpp index b412a374fc1d..740cb1824b9c 100644 --- a/Code/Mantid/Framework/WorkflowAlgorithms/src/EQSANSMonitorTOF.cpp +++ b/Code/Mantid/Framework/WorkflowAlgorithms/src/EQSANSMonitorTOF.cpp @@ -1,8 +1,3 @@ -/*WIKI* - -Converts the TOF into a wavelength for the beam monitor. This algorithm needs to be run once on every data set. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -399,4 +394,3 @@ double EQSANSMonitorTOF::getTofOffset(MatrixWorkspace_const_sptr inputWS, bool f } // namespace Algorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/WorkflowAlgorithms/src/EQSANSPatchSensitivity.cpp b/Code/Mantid/Framework/WorkflowAlgorithms/src/EQSANSPatchSensitivity.cpp index 684cbe83adc2..798e2c91e330 100644 --- a/Code/Mantid/Framework/WorkflowAlgorithms/src/EQSANSPatchSensitivity.cpp +++ b/Code/Mantid/Framework/WorkflowAlgorithms/src/EQSANSPatchSensitivity.cpp @@ -1,7 +1,3 @@ -/*WIKI* -Calculate the detector sensitivity and patch the pixels that are masked in -a second workspace. -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -156,4 +152,3 @@ void EQSANSPatchSensitivity::exec() } // namespace WorkflowAlgorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/WorkflowAlgorithms/src/EQSANSQ2D.cpp b/Code/Mantid/Framework/WorkflowAlgorithms/src/EQSANSQ2D.cpp index 48af8be0a8d7..93aa95441efc 100644 --- a/Code/Mantid/Framework/WorkflowAlgorithms/src/EQSANSQ2D.cpp +++ b/Code/Mantid/Framework/WorkflowAlgorithms/src/EQSANSQ2D.cpp @@ -1,9 +1,3 @@ -/*WIKI* -Computes I(Qx,Qy) for EQSANS data using Qxy to each frame, as appropriate. - -See [http://www.mantidproject.org/Reduction_for_HFIR_SANS SANS Reduction] documentation for details. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -207,4 +201,3 @@ void EQSANSQ2D::exec() } // namespace Algorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/WorkflowAlgorithms/src/HFIRDarkCurrentSubtraction.cpp b/Code/Mantid/Framework/WorkflowAlgorithms/src/HFIRDarkCurrentSubtraction.cpp index f0dd03e31a62..219a5ec7675f 100644 --- a/Code/Mantid/Framework/WorkflowAlgorithms/src/HFIRDarkCurrentSubtraction.cpp +++ b/Code/Mantid/Framework/WorkflowAlgorithms/src/HFIRDarkCurrentSubtraction.cpp @@ -1,17 +1,3 @@ -/*WIKI* -Subtract the dark current from a HFIR SANS data set. -This workflow algorithm will: - -- Properly load the dark current data set - -- Normalize the dark current to the data taking period - -- Subtract the dark current from the input workspace - -See [http://www.mantidproject.org/Reduction_for_HFIR_SANS SANS Reduction] documentation for details. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -187,4 +173,3 @@ double HFIRDarkCurrentSubtraction::getCountingTime(MatrixWorkspace_sptr inputWS) } // namespace WorkflowAlgorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/WorkflowAlgorithms/src/HFIRLoad.cpp b/Code/Mantid/Framework/WorkflowAlgorithms/src/HFIRLoad.cpp index 0405f6cc6efe..387bfb186001 100644 --- a/Code/Mantid/Framework/WorkflowAlgorithms/src/HFIRLoad.cpp +++ b/Code/Mantid/Framework/WorkflowAlgorithms/src/HFIRLoad.cpp @@ -1,17 +1,3 @@ -/*WIKI* - -Workflow algorithm that loads HFIR SANS data and applies basic corrections -to the workspace. Those include: - -- Moving the detector at its proper position in Z - -- Moving the detector according to the beam center - -- Gathering meta-data - -See [http://www.mantidproject.org/Reduction_for_HFIR_SANS SANS Reduction] documentation for details. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -265,4 +251,3 @@ void HFIRLoad::exec() } // namespace WorkflowAlgorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/WorkflowAlgorithms/src/HFIRSANSNormalise.cpp b/Code/Mantid/Framework/WorkflowAlgorithms/src/HFIRSANSNormalise.cpp index 910fcb8c7d86..7bd61f31a9e8 100644 --- a/Code/Mantid/Framework/WorkflowAlgorithms/src/HFIRSANSNormalise.cpp +++ b/Code/Mantid/Framework/WorkflowAlgorithms/src/HFIRSANSNormalise.cpp @@ -1,8 +1,3 @@ -/*WIKI* - -Performs data normalisation for HFIR SANS. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -75,4 +70,3 @@ void HFIRSANSNormalise::exec() } // namespace WorkflowAlgorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/WorkflowAlgorithms/src/MuonCalculateAsymmetry.cpp b/Code/Mantid/Framework/WorkflowAlgorithms/src/MuonCalculateAsymmetry.cpp index 56a8305468da..90cf83cc8cf9 100644 --- a/Code/Mantid/Framework/WorkflowAlgorithms/src/MuonCalculateAsymmetry.cpp +++ b/Code/Mantid/Framework/WorkflowAlgorithms/src/MuonCalculateAsymmetry.cpp @@ -1,14 +1,3 @@ -/*WIKI* -Converts loaded/prepared Muon data to a data suitable for analysis. - -Supports three modes: -* PairAsymmetry - asymmetry is calculated for a given pair of groups, using the alpha value provided. -* GroupAsymmetry - asymmetry between given group and Muon exponential decay is calculated. -* GroupCount - '''no asymmetry is calculated''', pure counts of the specified group are used. - -For every mode, either one or two data acquisition period workspaces can be provided. PeriodOperation determines in which way period data will be merged at the end. -*WIKI*/ - #include "MantidWorkflowAlgorithms/MuonCalculateAsymmetry.h" #include "MantidKernel/ListValidator.h" diff --git a/Code/Mantid/Framework/WorkflowAlgorithms/src/MuonLoad.cpp b/Code/Mantid/Framework/WorkflowAlgorithms/src/MuonLoad.cpp index 802169f12551..a806af981ee9 100644 --- a/Code/Mantid/Framework/WorkflowAlgorithms/src/MuonLoad.cpp +++ b/Code/Mantid/Framework/WorkflowAlgorithms/src/MuonLoad.cpp @@ -1,19 +1,3 @@ -/*WIKI* -The algorithm replicates the sequence of actions undertaken by MuonAnalysis in order to produce a Muon workspace ready for fitting. - -Specifically: -# Load the specified filename -# Apply dead time correction -# Group the workspace -# Offset, crop and rebin the workspace -# If the loaded data is multi-period - apply the specified operation to specified periods to get a single data set. -# Use [[MuonCalculateAsymmetry]] to get the resulting workspace. - -=== Workflow === -[[File:MuonWorkflow.png]] - -*WIKI*/ - #include "MantidWorkflowAlgorithms/MuonLoad.h" #include "MantidKernel/ArrayProperty.h" diff --git a/Code/Mantid/Framework/WorkflowAlgorithms/src/RefReduction.cpp b/Code/Mantid/Framework/WorkflowAlgorithms/src/RefReduction.cpp index 68fffc91dd24..7ce5e003c084 100644 --- a/Code/Mantid/Framework/WorkflowAlgorithms/src/RefReduction.cpp +++ b/Code/Mantid/Framework/WorkflowAlgorithms/src/RefReduction.cpp @@ -1,7 +1,3 @@ -/*WIKI* -Reflectivity reduction workflow. This workflow algorithm computes the -specular and off-specular reflectivity for both REFM and REFL instruments. -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -763,4 +759,3 @@ MatrixWorkspace_sptr RefReduction::subtractBackground(MatrixWorkspace_sptr dataW } // namespace Algorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/WorkflowAlgorithms/src/RefRoi.cpp b/Code/Mantid/Framework/WorkflowAlgorithms/src/RefRoi.cpp index 947983a59ab0..26d8b4ef5dfc 100644 --- a/Code/Mantid/Framework/WorkflowAlgorithms/src/RefRoi.cpp +++ b/Code/Mantid/Framework/WorkflowAlgorithms/src/RefRoi.cpp @@ -1,7 +1,3 @@ -/*WIKI* - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -201,4 +197,3 @@ void RefRoi::extract2D() } // namespace Algorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/WorkflowAlgorithms/src/SANSBeamFinder.cpp b/Code/Mantid/Framework/WorkflowAlgorithms/src/SANSBeamFinder.cpp index 32fbf4f520ac..bba08898a50d 100644 --- a/Code/Mantid/Framework/WorkflowAlgorithms/src/SANSBeamFinder.cpp +++ b/Code/Mantid/Framework/WorkflowAlgorithms/src/SANSBeamFinder.cpp @@ -1,9 +1,3 @@ -/*WIKI* -Beam finder workflow algorithm for SANS instruments. - -See [http://www.mantidproject.org/Reduction_for_HFIR_SANS SANS Reduction] documentation for details. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -296,4 +290,3 @@ void SANSBeamFinder::maskEdges(MatrixWorkspace_sptr beamCenterWS, int high, int } // namespace WorkflowAlgorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/WorkflowAlgorithms/src/SANSBeamFluxCorrection.cpp b/Code/Mantid/Framework/WorkflowAlgorithms/src/SANSBeamFluxCorrection.cpp index b447873e4cd4..d667a0e3af3c 100644 --- a/Code/Mantid/Framework/WorkflowAlgorithms/src/SANSBeamFluxCorrection.cpp +++ b/Code/Mantid/Framework/WorkflowAlgorithms/src/SANSBeamFluxCorrection.cpp @@ -1,16 +1,3 @@ -/*WIKI* - -Performs beam flux correction for TOF SANS data. - -The correction goes as follows: - -:::I({\lambda}) = I_0({\lambda}) / \Phi_{sample} - -where - -:::\Phi_{sample} = \frac{M_{sample}}{M_{ref}} \Phi_{ref} - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -153,4 +140,3 @@ MatrixWorkspace_sptr SANSBeamFluxCorrection::loadReference() } // namespace WorkflowAlgorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/WorkflowAlgorithms/src/SANSSensitivityCorrection.cpp b/Code/Mantid/Framework/WorkflowAlgorithms/src/SANSSensitivityCorrection.cpp index 030dba8869ab..001867686777 100644 --- a/Code/Mantid/Framework/WorkflowAlgorithms/src/SANSSensitivityCorrection.cpp +++ b/Code/Mantid/Framework/WorkflowAlgorithms/src/SANSSensitivityCorrection.cpp @@ -1,18 +1,3 @@ -/*WIKI* -This SANS workflow algorithm will compute the sensitivity correction -from a given flood field data set. It will apply the proper corrections -to the data according the the input property manager object. Those -corrections may include dark current subtraction, moving the beam center, -the solid angle correction, and applying a patch. - -If an input workspace is given, the computed correction will be applied -to that workspace. - -A Nexus file containing a pre-calculated sensitivity correction can also -be supplied for the case where we simply want to apply the correction to -an input workspace. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -359,4 +344,3 @@ void SANSSensitivityCorrection::exec() } // namespace WorkflowAlgorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/WorkflowAlgorithms/src/SANSSolidAngleCorrection.cpp b/Code/Mantid/Framework/WorkflowAlgorithms/src/SANSSolidAngleCorrection.cpp index ae5146e1bd7f..ad8991225bf5 100644 --- a/Code/Mantid/Framework/WorkflowAlgorithms/src/SANSSolidAngleCorrection.cpp +++ b/Code/Mantid/Framework/WorkflowAlgorithms/src/SANSSolidAngleCorrection.cpp @@ -1,11 +1,3 @@ -/*WIKI* - -Performs a solid angle correction on all detector (non-monitor) spectra. - -See [http://www.mantidproject.org/Reduction_for_HFIR_SANS SANS Reduction] documentation for details. - - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -234,4 +226,3 @@ void SANSSolidAngleCorrection::execEvent() } // namespace WorkflowAlgorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/WorkflowAlgorithms/src/SetupEQSANSReduction.cpp b/Code/Mantid/Framework/WorkflowAlgorithms/src/SetupEQSANSReduction.cpp index 80fdee8e7cda..66853e3ac392 100644 --- a/Code/Mantid/Framework/WorkflowAlgorithms/src/SetupEQSANSReduction.cpp +++ b/Code/Mantid/Framework/WorkflowAlgorithms/src/SetupEQSANSReduction.cpp @@ -1,10 +1,3 @@ -/*WIKI* -Create a PropertyManager object setting the reduction options for EQSANS. -The property manager object is then added to the PropertyManagerDataService. - -See [http://www.mantidproject.org/Reduction_for_HFIR_SANS SANS Reduction] documentation for details. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -984,4 +977,3 @@ void SetupEQSANSReduction::setupBackground(boost::shared_ptr re } } // namespace WorkflowAlgorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/WorkflowAlgorithms/src/SetupHFIRReduction.cpp b/Code/Mantid/Framework/WorkflowAlgorithms/src/SetupHFIRReduction.cpp index de840ffa1ae9..bd188967e515 100644 --- a/Code/Mantid/Framework/WorkflowAlgorithms/src/SetupHFIRReduction.cpp +++ b/Code/Mantid/Framework/WorkflowAlgorithms/src/SetupHFIRReduction.cpp @@ -1,10 +1,3 @@ -/*WIKI* -Create a PropertyManager object setting the reduction options for HFIR SANS. -The property manager object is then added to the PropertyManagerDataService. - -See [http://www.mantidproject.org/Reduction_for_HFIR_SANS SANS Reduction] documentation for details. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -1001,4 +994,3 @@ void SetupHFIRReduction::setupTransmission(boost::shared_ptr re } // namespace WorkflowAlgorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/WorkflowAlgorithms/src/SetupILLD33Reduction.cpp b/Code/Mantid/Framework/WorkflowAlgorithms/src/SetupILLD33Reduction.cpp index a4a9faccf323..49a8d509d7b9 100644 --- a/Code/Mantid/Framework/WorkflowAlgorithms/src/SetupILLD33Reduction.cpp +++ b/Code/Mantid/Framework/WorkflowAlgorithms/src/SetupILLD33Reduction.cpp @@ -1,10 +1,3 @@ -/*WIKI* -Create a PropertyManager object setting the reduction options for ILL D33 SANS TOF instrument. -The property manager object is then added to the PropertyManagerDataService. - -See [http://www.mantidproject.org/Reduction_for_HFIR_SANS SANS Reduction] documentation for details. - -*WIKI*/ //---------------------------------------------------------------------- // Includes //---------------------------------------------------------------------- @@ -862,4 +855,3 @@ void SetupILLD33Reduction::setupBackground(boost::shared_ptr re } } // namespace WorkflowAlgorithms } // namespace Mantid - diff --git a/Code/Mantid/Framework/WorkflowAlgorithms/src/StepScan.cpp b/Code/Mantid/Framework/WorkflowAlgorithms/src/StepScan.cpp index 6976177df9d0..52be7c7d02f8 100644 --- a/Code/Mantid/Framework/WorkflowAlgorithms/src/StepScan.cpp +++ b/Code/Mantid/Framework/WorkflowAlgorithms/src/StepScan.cpp @@ -1,14 +1,3 @@ -/*WIKI* -This algorithm is for producing rocking curves from alignment scan runs. It is for use only with ADARA-style SNS datasets as it requires the 'scan_index' log variable. - -The algorithm optionally uses the [[MaskDetectors]] and/or [[FilterByXValue]] algorithms to restrict the region of data included. -'''N.B. If these options are used, then this algorithm will modify the input workspace.''' - -The [[SumEventsByLogValue]] algorithm is then called, with 'scan_index' as the log to sum against. -The row of the resulting table pertaining to scan_index=0 (which indicates 'not a scan point') is then removed. - -*WIKI*/ - #include "MantidWorkflowAlgorithms/StepScan.h" #include "MantidAPI/ITableWorkspace.h" #include "MantidAPI/WorkspaceValidators.h" diff --git a/Code/Mantid/MantidQt/CustomInterfaces/test/IO_MuonGroupingTest.h b/Code/Mantid/MantidQt/CustomInterfaces/test/IO_MuonGroupingTest.h index 8ca50664290b..557240b09b5a 100644 --- a/Code/Mantid/MantidQt/CustomInterfaces/test/IO_MuonGroupingTest.h +++ b/Code/Mantid/MantidQt/CustomInterfaces/test/IO_MuonGroupingTest.h @@ -128,7 +128,7 @@ class IO_MuonGroupingTest : public CxxTest::TestSuite IAlgorithm_sptr loadAlg = AlgorithmManager::Instance().create("LoadMuonNexus"); loadAlg->setChild(true); // So outptu ws don't end up in the ADS loadAlg->initialize(); - loadAlg->setPropertyValue("Filename", m_testDataDir + "MUSR00015189.nxs"); + loadAlg->setPropertyValue("Filename", "MUSR00015189.nxs"); loadAlg->setPropertyValue("OutputWorkspace", "data"); // Is not used, just for validator loadAlg->execute(); diff --git a/Code/Mantid/MantidQt/CustomInterfaces/test/MuonAnalysisHelperTest.h b/Code/Mantid/MantidQt/CustomInterfaces/test/MuonAnalysisHelperTest.h index 27a49b14004f..e6c36afa0ec8 100644 --- a/Code/Mantid/MantidQt/CustomInterfaces/test/MuonAnalysisHelperTest.h +++ b/Code/Mantid/MantidQt/CustomInterfaces/test/MuonAnalysisHelperTest.h @@ -51,13 +51,13 @@ class MuonAnalysisHelperTest : public CxxTest::TestSuite { std::vector list; - for (int i = 15189; i <= 15199; ++i) + for (int i = 15189; i <= 15193; ++i) { list.push_back(createWs("MUSR", i)); } std::string label = getRunLabel(list); - TS_ASSERT_EQUALS(label, "MUSR00015189-99"); + TS_ASSERT_EQUALS(label, "MUSR00015189-93"); } void test_getRunLabel_wsList_wrongOrder() diff --git a/Code/Mantid/docs/CMakeLists.txt b/Code/Mantid/docs/CMakeLists.txt index 953974978a30..cb3ec895241e 100644 --- a/Code/Mantid/docs/CMakeLists.txt +++ b/Code/Mantid/docs/CMakeLists.txt @@ -10,15 +10,15 @@ if ( SPHINX_FOUND ) # targets set ( TARGET_PREFIX docs) - # runner - default=current build - set ( DOCS_RUNNER_EXE ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_CFG_INTDIR}/MantidPlot CACHE FILEPATH - "MantidPlot executable to use to build the documentation" ) + # runner + set ( DOCS_RUNNER_EXE ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_CFG_INTDIR}/MantidPlot ) # HTML target set ( BUILDER html ) configure_file ( runsphinx.py.in runsphinx_html.py @ONLY ) add_custom_target ( ${TARGET_PREFIX}-html COMMAND ${DOCS_RUNNER_EXE} -xq runsphinx_html.py + DEPENDS ${FRAMEWORK_LIBS} COMMENT "Building html documentation" ) # Group within VS and exclude from whole build @@ -28,9 +28,11 @@ if ( SPHINX_FOUND ) # doctest target set ( BUILDER doctest ) + set ( SCREENSHOTS_DIR "" ) # no screenshots configure_file ( runsphinx.py.in runsphinx_doctest.py @ONLY ) add_custom_target ( ${TARGET_PREFIX}-test COMMAND ${DOCS_RUNNER_EXE} -xq runsphinx_doctest.py + DEPENDS ${FRAMEWORK_LIBS} COMMENT "Running documentation tests" ) # Group within VS and exclude from whole build @@ -46,7 +48,7 @@ endif () if ( APPLE ) set ( ENABLE_QTASSISTANT False CACHE BOOL "Build qt-assistant documentation" ) else () - set ( ENABLE_QTASSISTANT True CACHE BOOL "Build qt-assistant documentation" ) + set ( ENABLE_QTASSISTANT False CACHE BOOL "Build qt-assistant documentation" FORCE ) endif ( APPLE ) if (ENABLE_QTASSISTANT) diff --git a/Code/Mantid/docs/qtassistant/CMakeLists.txt b/Code/Mantid/docs/qtassistant/CMakeLists.txt index c6d6592cb7ca..02ea3023599c 100644 --- a/Code/Mantid/docs/qtassistant/CMakeLists.txt +++ b/Code/Mantid/docs/qtassistant/CMakeLists.txt @@ -77,7 +77,7 @@ find_program ( DVIPNG_EXE dvipng ) Wav_Q_bins.png ) #message ( "QTASSISTANT_IMAGES ${IMAGES}") - copy_python_files_to_dir("${IMAGES}" "${CMAKE_CURRENT_SOURCE_DIR}/images" ${HELP_HTML_IMG_DIR} INSTALL_IMAGES) + copy_python_files_to_dir("${IMAGES}" "${CMAKE_CURRENT_SOURCE_DIR}/../source/images" ${HELP_HTML_IMG_DIR} INSTALL_IMAGES) # copy the other generic stuff add_custom_command( OUTPUT ${HELP_IMG_DIR}/Mantid_Logo_Transparent.png diff --git a/Code/Mantid/docs/qtassistant/images/Convolution.png b/Code/Mantid/docs/qtassistant/images/Convolution.png deleted file mode 100644 index 08dbcd007106..000000000000 Binary files a/Code/Mantid/docs/qtassistant/images/Convolution.png and /dev/null differ diff --git a/Code/Mantid/docs/runsphinx.py.in b/Code/Mantid/docs/runsphinx.py.in index 02316f03b62b..28f117aede4d 100644 --- a/Code/Mantid/docs/runsphinx.py.in +++ b/Code/Mantid/docs/runsphinx.py.in @@ -6,14 +6,18 @@ import os import sys # set environment -os.environ["SCREENSHOTS_DIR"] = "@SCREENSHOTS_DIR@" +screenshots_dir = "@SCREENSHOTS_DIR@" +if screenshots_dir != "": + os.environ["SCREENSHOTS_DIR"] = screenshots_dir builder = "@BUILDER@" src_dir = "@CMAKE_CURRENT_SOURCE_DIR@/source" -output_dir = os.path.join("@SPHINX_BUILD_DIR@", builder) +sphinx_build_dir = "@SPHINX_BUILD_DIR@" +output_dir = os.path.join(sphinx_build_dir, builder) +doctree_dir = os.path.join(sphinx_build_dir, "doctrees") if __name__ == "__main__": from sphinx import main - argv = [sys.executable, "-b", builder, src_dir, output_dir] + argv = [sys.executable, "-b", builder, "-d", doctree_dir, src_dir, output_dir] sys.exit(main(argv)) diff --git a/Code/Mantid/docs/source/algorithms/AbortRemoteJob-v1.rst b/Code/Mantid/docs/source/algorithms/AbortRemoteJob-v1.rst new file mode 100644 index 000000000000..093496d0937d --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/AbortRemoteJob-v1.rst @@ -0,0 +1,17 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Abort a job that has been submitted to a remote compute resource. + +For more details, see the `remote job submission API +docs `__. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/AbsorptionCorrection-v1.rst b/Code/Mantid/docs/source/algorithms/AbsorptionCorrection-v1.rst new file mode 100644 index 000000000000..fc1ba8e28f89 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/AbsorptionCorrection-v1.rst @@ -0,0 +1,72 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm uses a numerical integration method to calculate +attenuation factors resulting from absorption and single scattering in a +sample with the material properties given. Factors are calculated for +each spectrum (i.e. detector position) and wavelength point, as defined +by the input workspace. The sample is first bounded by a cuboid, which +is divided up into small cubes. The cubes whose centres lie within the +sample make up the set of integration elements (so you have a kind of +'Lego' model of the sample) and path lengths through the sample are +calculated for the centre-point of each element, and a numerical +integration is carried out using these path lengths over the volume +elements. + +Note that the duration of this algorithm is strongly dependent on the +element size chosen, and that too small an element size can cause the +algorithm to fail because of insufficient memory. + +Note that The number density of the sample is in +:math:`\mathrm{\AA}^{-3}` + +Choosing an absorption correction algorithm +------------------------------------------- + +This flow chart is given as a way of selecting the most appropriate of +the absorption correction algorithms. It also shows the algorithms that +must be run first in each case. Note that this does not cover the +following absorption correction algorithms: +:ref:`algm-MonteCarloAbsorption` (correction factors for +a generic sample using a Monte Carlo instead of a numerical integration +method), +:ref:`algm-MultipleScatteringCylinderAbsorption` +& :ref:`algm-AnvredCorrection` (corrections in a spherical +sample, using a method imported from ISAW). Also, HRPD users can use the +:ref:`algm-HRPDSlabCanAbsorption` to add rudimentary +calculations of the effects of the sample holder. |AbsorptionFlow.png| + +Assumptions +########### + +This algorithm assumes that the (parallel) beam illuminates the entire +sample **unless** a 'gauge volume' has been defined using the +:ref:`algm-DefineGaugeVolume` algorithm (or by otherwise +adding a valid XML string `defining a +shape `__ to a `Run `__ property called +"GaugeVolume"). In this latter case only scattering within this volume +(and the sample) is integrated, because this is all the detector can +'see'. The full sample is still used for the neutron paths. (**N.B.** If +your gauge volume is of axis-aligned cuboid shape and fully enclosed by +the sample then you will get a more accurate result from the +:ref:`algm-CuboidGaugeVolumeAbsorption` +algorithm.) + +Restrictions on the input workspace +################################### + +The input workspace must have units of wavelength. The +`instrument `__ associated with the workspace must be fully +defined because detector, source & sample position are needed. + +.. |AbsorptionFlow.png| image:: /images/AbsorptionFlow.png + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/AddLogDerivative-v1.rst b/Code/Mantid/docs/source/algorithms/AddLogDerivative-v1.rst new file mode 100644 index 000000000000..0d2611f33012 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/AddLogDerivative-v1.rst @@ -0,0 +1,26 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm performs a simple numerical derivative of the values in a +sample log. + +The 1st order derivative is simply: dy = (y1-y0) / (t1-t0), which is +placed in the log at t=(t0+t1)/2 + +Higher order derivatives are obtained by performing the equation above N +times. Since this is a simple numerical derivative, you can expect the +result to quickly get noisy at higher derivatives. + +If any of the times in the logs are repeated, then those repeated time +values will be skipped, and the output derivative log will have fewer +points than the input. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/AddPeak-v1.rst b/Code/Mantid/docs/source/algorithms/AddPeak-v1.rst new file mode 100644 index 000000000000..4560257b6bb3 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/AddPeak-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Adds a `IPeak `__ to a `PeaksWorkspace `__. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/AddSampleLog-v1.rst b/Code/Mantid/docs/source/algorithms/AddSampleLog-v1.rst new file mode 100644 index 000000000000..023fafba3a51 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/AddSampleLog-v1.rst @@ -0,0 +1,24 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Workspaces contain information in logs. Often these detail what happened +to the sample during the experiment. This algorithm allows one named log +to be entered. + +The log can be either a String, a Number, or a Number Series. If you +select Number Series, the workspace start time will be used as the time +of the log entry, and the number in the text used as the (only) value. + +If the LogText contains a numeric value, the created log will be of +integer type if an integer is passed and floating point (double) +otherwise. This applies to both the Number & Number Series options. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/AddTimeSeriesLog-v1.rst b/Code/Mantid/docs/source/algorithms/AddTimeSeriesLog-v1.rst new file mode 100644 index 000000000000..754c0459972f --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/AddTimeSeriesLog-v1.rst @@ -0,0 +1,22 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Creates/updates a time-series log entry on a chosen workspace. The given +timestamp & value are appended to the named log entry. If the named +entry does not exist then a new log is created. A time stamp must be +given in ISO8601 format, e.g. 2010-09-14T04:20:12. + +By default, the given value is interpreted as a double and a double +series is either created or expected. However, if the "Type" is set to +"int" then the value is interpreted as an integer and an integer is +either created or expected. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/AlignAndFocusPowder-v1.rst b/Code/Mantid/docs/source/algorithms/AlignAndFocusPowder-v1.rst new file mode 100644 index 000000000000..506880ab9d7b --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/AlignAndFocusPowder-v1.rst @@ -0,0 +1,35 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This is a workflow algorithm that does the bulk of the work for time +focusing diffraction data. This is done by executing several +sub-algorithms as listed below. + +#. :ref:`algm-RemovePromptPulse` (event workspace only) +#. :ref:`algm-CompressEvents` (event workspace only) +#. :ref:`algm-CropWorkspace` +#. :ref:`algm-MaskDetectors` +#. :ref:`algm-Rebin` or :ref:`algm-ResampleX` if not d-space binning +#. :ref:`algm-AlignDetectors` +#. If LRef, minwl, or DIFCref are specified: + + #. :ref:`algm-ConvertUnits` to time-of-flight + #. :ref:`algm-UnwrapSNS` + #. :ref:`algm-RemoveLowResTOF` + #. :ref:`algm-ConvertUnits` to d-spacing + +#. :ref:`algm-Rebin` if d-space binning +#. :ref:`algm-DiffractionFocussing` +#. :ref:`algm-SortEvents` (event workspace only) +#. :ref:`algm-EditInstrumentGeometry` (if appropriate) +#. :ref:`algm-ConvertUnits` to time-of-f + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/AlignDetectors-v1.rst b/Code/Mantid/docs/source/algorithms/AlignDetectors-v1.rst new file mode 100644 index 000000000000..256c5e597f6b --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/AlignDetectors-v1.rst @@ -0,0 +1,32 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The offsets are a correction to the dSpacing values and are applied +during the conversion from time-of-flight to dSpacing as follows: + +.. math:: d = \frac{h}{2m_N} \frac{t.o.f.}{L_{tot} sin \theta} (1+ \rm{offset}) + +The detector offsets can be obtained from either: an +`OffsetsWorkspace `__ where each pixel has one value, +the offset; or a .cal file (in the form created by the ARIEL software). + +**Note:** the workspace that this algorithms outputs is a `Ragged +Workspace `__. + +Restrictions on the input workspace +################################### + +The input workspace must contain histogram or event data where the X +unit is time-of-flight and the Y data is raw counts. The +`instrument `__ associated with the workspace must be fully +defined because detector, source & sample position are needed. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/AlphaCalc-v1.rst b/Code/Mantid/docs/source/algorithms/AlphaCalc-v1.rst new file mode 100644 index 000000000000..f53230c482b9 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/AlphaCalc-v1.rst @@ -0,0 +1,19 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Returns the relative efficiency of the forward detector group compared +to the backward detector group. If Alpha is larger than 1 more counts +has been collected in the forward group. + +This algorithm leave the input workspace unchanged. To group detectors +in a workspace use :ref:`algm-GroupDetectors`. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/AndMD-v1.rst b/Code/Mantid/docs/source/algorithms/AndMD-v1.rst new file mode 100644 index 000000000000..4f2cc14f282e --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/AndMD-v1.rst @@ -0,0 +1,16 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Perform the And boolean operation on two MDHistoWorkspaces. The & +operation is performed element-by-element. A signal of 0.0 means "false" +and any non-zero signal is "true". + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/AnvredCorrection-v1.rst b/Code/Mantid/docs/source/algorithms/AnvredCorrection-v1.rst new file mode 100644 index 000000000000..1310ccaa08f1 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/AnvredCorrection-v1.rst @@ -0,0 +1,45 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Following A.J.Schultz's anvred, the weight factors should be: + +``sin^2(theta) / (lamda^4 * spec * eff * trans)`` + +where + +- theta = scattering\_angle/2 +- lamda = wavelength (in angstroms?) +- spec = incident spectrum correction +- eff = pixel efficiency +- trans = absorption correction + +The quantity: sin^2(theta) / eff depends only on the pixel and can be +pre-calculated for each pixel. It could be saved in array pix\_weight[]. + +For now, pix\_weight[] is calculated by the method: BuildPixWeights() +and just holds the sin^2(theta) values. The wavelength dependent portion +of the correction is saved in the array lamda\_weight[]. + +The time-of-flight is converted to wave length by multiplying by +tof\_to\_lamda[id], then (int)STEPS\_PER\_ANGSTROM \* lamda gives an +index into the table lamda\_weight[]. The lamda\_weight[] array contains +values like: 1/(lamda^power \* spec(lamda)) which are pre-calculated for +each lamda. These values are saved in the array lamda\_weight[]. The +optimal value to use for the power should be determined when a good +incident spectrum has been determined. Currently, power=3 when used with +an incident spectrum and power=2.4 when used without an incident +spectrum. + +The pixel efficiency and incident spectrum correction are NOT CURRENTLY +USED. The absorption correction, trans, depends on both lamda and the +pixel, Which is a fairly expensive calulation when done for each event. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/AppendGeometryToSNSNexus-v1.rst b/Code/Mantid/docs/source/algorithms/AppendGeometryToSNSNexus-v1.rst new file mode 100644 index 000000000000..f09bd6968434 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/AppendGeometryToSNSNexus-v1.rst @@ -0,0 +1,21 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm is intended to append the geometry information into a raw +NeXus file. It is initially for use only at the SNS, as it is needed for +the currently upgrade program. But there is nothing preventing it being +used elsewhere. + +The algorithm takes the geometry information in the IDF togther with the +log values in a given NeXus file and calculates the resolved positions +of all the detectors and then writes this into the NeXus file specified. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/AppendSpectra-v1.rst b/Code/Mantid/docs/source/algorithms/AppendSpectra-v1.rst new file mode 100644 index 000000000000..1a375bb215bf --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/AppendSpectra-v1.rst @@ -0,0 +1,50 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm appends the spectra of two workspaces together. + +The output workspace from this algorithm will be a copy of the first +input workspace, to which the data from the second input workspace will +be appended. + +Workspace data members other than the data (e.g. instrument etc.) will +be copied from the first input workspace (but if they're not identical +anyway, then you probably shouldn't be using this algorithm!). + +Restrictions on the input workspace +################################### + +For `EventWorkspaces `__, there are no restrictions on +the input workspaces if ValidateInputs=false. + +For `Workspace2Ds `__, the number of bins must be the same +in both inputs. + +If ValidateInputs is selected, then the input workspaces must also: + +- Come from the same instrument +- Have common units +- Have common bin boundaries + +Spectrum Numbers +################ + +If there is an overlap in the spectrum numbers of both inputs, then the +output workspace will have its spectrum numbers reset starting at 0 and +increasing by 1 for each spectrum. + +See Also +######## + +- :ref:`algm-ConjoinWorkspaces` for joining parts of the + same workspace. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ApplyCalibration-v1.rst b/Code/Mantid/docs/source/algorithms/ApplyCalibration-v1.rst new file mode 100644 index 000000000000..9a7fd3a15e7f --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ApplyCalibration-v1.rst @@ -0,0 +1,21 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Update detector positions from input table workspace. The positions are +updated as absolute positions and so this update can be repeated. + +The PositionTable must have columns *Detector ID* and *Detector +Position*. The entries of the *Detector ID* column are integer referring +to the Detector ID and the enties of the *Detector Position* are +`V3Ds `__ referring to the position of the detector whose ID is in +same row. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ApplyDeadTimeCorr-v1.rst b/Code/Mantid/docs/source/algorithms/ApplyDeadTimeCorr-v1.rst new file mode 100644 index 000000000000..566974857eb2 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ApplyDeadTimeCorr-v1.rst @@ -0,0 +1,26 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Apply deadtime correction to each spectra of a workspace. Define: + +| `` ``\ :math:`{\displaystyle{N}}`\ `` = true count`` +| `` ``\ :math:`{\displaystyle{M}}`\ `` = measured count`` +| `` ``\ :math:`{\displaystyle{t_{dead}}}`\ `` = dead-time`` +| `` ``\ :math:`{\displaystyle{t_{bin}}}`\ `` = time bin width`` +| `` ``\ :math:`{\displaystyle{F}}`\ `` = Number of good frames`` + +Then this algorithm assumes that the InputWorkspace contains measured +counts as a function of TOF and returns a workspace containing true +counts as a function of the same TOF binning according to + +.. math:: N = \frac{M}{(1-M*(\frac{t_{dead}}{t_{bin}*F}))} + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ApplyDetailedBalance-v1.rst b/Code/Mantid/docs/source/algorithms/ApplyDetailedBalance-v1.rst new file mode 100644 index 000000000000..a00c218fb887 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ApplyDetailedBalance-v1.rst @@ -0,0 +1,31 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The fluctuation dissipation theorem [1,2] relates the dynamic +susceptibility to the scattering function + +:math:`\left(1-e^{-\frac{E}{k_B T}}\right) S(\mathbf{q}, E) = \frac{1}{\pi} \chi'' (\mathbf{q}, E)` + +where :math:`E` is the energy transfer to the system. The algorithm +assumes that the y axis of the input workspace contains the scattering +function :math:`S`. The y axis of the output workspace will contain the +dynamic susceptibility. The temperature is extracted from a log attached +to the workspace, as the mean value. Alternatively, the temperature can +be directly specified. The algorithm will fail if neither option is +valid. + +[1] S. W. Lovesey - Theory of Neutron Scattering from Condensed Matter, +vol 1 + +[2] I. A. Zaliznyak and S. H. Lee - Magnetic Neutron Scattering in +"Modern techniques for characterizing magnetic materials" + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ApplyTransmissionCorrection-v1.rst b/Code/Mantid/docs/source/algorithms/ApplyTransmissionCorrection-v1.rst new file mode 100644 index 000000000000..6fc47cd42e38 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ApplyTransmissionCorrection-v1.rst @@ -0,0 +1,19 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The transmission can be given as a MatrixWorkspace or given directly as +numbers. One or the other method must be used. + +See `SANS +Reduction `__ +documentation for details. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/AsymmetryCalc-v1.rst b/Code/Mantid/docs/source/algorithms/AsymmetryCalc-v1.rst new file mode 100644 index 000000000000..1ef76c89838b --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/AsymmetryCalc-v1.rst @@ -0,0 +1,31 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm is used to calculate the asymmetry for a muon workspace. +The asymmetry is given by: + +.. math:: Asymmetry = \frac{F-\alpha B}{F+\alpha B} + +where F is the front spectra, B is the back spectra and a is alpha. + +The errors in F-aB and F+aB are calculated by adding the errors in F and +B in quadrature; any errors in alpha are ignored. The errors for the +asymmetry are then calculated using the fractional error method with the +values for the errors in F-aB and F+aB. + +The output workspace contains one set of data for the time of flight, +the asymmetry and the asymmetry errors. + +Note: this algorithm does not perform any grouping; the grouping must be +done via the GroupDetectors algorithm or when the NeXus file is loaded +auto\_group must be set to true. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/Authenticate-v1.rst b/Code/Mantid/docs/source/algorithms/Authenticate-v1.rst new file mode 100644 index 000000000000..a010f4b95f0b --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/Authenticate-v1.rst @@ -0,0 +1,18 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Authenticate to the remote compute resource. This must be executed +before calling any other remote algorithms. + +For more details, see the `remote job submission API +docs `__. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/AverageLogData-v1.rst b/Code/Mantid/docs/source/algorithms/AverageLogData-v1.rst new file mode 100644 index 000000000000..e1ff0b18e297 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/AverageLogData-v1.rst @@ -0,0 +1,21 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The algorithm will calculate a proton\_charge weighted average and +standard deviation of any log value of numeric series type. All proton +charges earlier than the first data are ignored. Any proton pulse is +counted for the log value on the right. This means that if all proton +pulses happen before the first value, and FixZero is false, the average +and standard deviations are NANs. If all the proton pulses occur after +the last value, and FixZero is false, the average is equal to the last +value, and the standard deviation is zero. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/BASISReduction-v1.rst b/Code/Mantid/docs/source/algorithms/BASISReduction-v1.rst new file mode 100644 index 000000000000..7d91f94dda2e --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/BASISReduction-v1.rst @@ -0,0 +1,21 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm is meant to temporarily deal with letting BASIS reduce +lots of files via Mantid. The syntax for the run number designation will +allow groups of runs to be joined. Examples: + +1. 2144-2147,2149,2156 2. 2144-2147;2149;2156 + +Example 1 will be summed into a single run Example 2 will have three run +groups + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/BinMD-v1.rst b/Code/Mantid/docs/source/algorithms/BinMD-v1.rst new file mode 100644 index 000000000000..d22abfbead4b --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/BinMD-v1.rst @@ -0,0 +1,112 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm performs dense binning of the events in multiple +dimensions of an input `MDEventWorkspace `__ and +places them into a dense MDHistoWorkspace with 1-4 dimensions. + +The input MDEventWorkspace may have more dimensions than the number of +output dimensions. The names of the dimensions in the DimX, etc. +parameters are used to find the corresponding dimensions that will be +created in the output. + +An ImplicitFunction can be defined using the ImplicitFunctionXML +parameter; any points NOT belonging inside of the ImplicitFunction will +be set as NaN (not-a-number). + +Axis-Aligned Binning +#################### + +This is binning where the output axes are aligned with the original +workspace. Specify each of the AlignedDim0, etc. parameters with these +values, separated by commas: + +- First, the name of the dimension in the original workspace +- Next, the start and end position along that dimension +- Finally, the number of bins to use in that dimensions. + +If you specify fewer output dimensions, then events in the remaining +dimensions will be integrated along all space. If you wish to integrate +only within a range, then specify the start and end points, with only 1 +bin. + +Non-Axis Aligned Binning +######################## + +This allows rebinning to a new arbitrary space, with rotations, +translations, or skewing. This is given by a set of basis vectors and +other parameters + +The **BasisVector0...** parameters allow you to specify the basis +vectors relating the input coordinates to the output coordinates. They +are string with these parameters, separated by commas: 'name, units, +x,y,z,..,': + +- Name: of the new dimension +- Units: string giving the units +- x, y, z, etc.: a vector, matching the number of dimensions, giving + the direction of the basis vector + +The **Translation** parameter defines the translation between the +spaces. The coordinates are given in the input space dimensions, and +they correspond to 0,0,0 in the output space. + +The **OutputExtents** parameter specifies the min/max coordinates *in +the output coordinate* space. For example, if you the output X to range +from -5 to 5, and output Y to go from 0 to 10, you would have: "-5,5, +0,10". + +The **OutputBins** parameter specifies how many bins to use in the +output workspace for each dimension. For example, "10,20,30" will make +10 bins in X, 20 bins in Y and 30 bins in Z. + +If the **NormalizeBasisVectors** parameter is **True**, then the +distances in the *input* space are the same as in the *output* space (no +scaling). + +- For example, if BasisVector0=(1,1), a point at (1,1) transforms to + :math:`x=\sqrt{2}`, which is the same as the distance in the input + dimension. + +If the **NormalizeBasisVectors** parameter is **False**, then the +algorithm will take into account the *length* of each basis vector. + +- For example, if BasisVector0=(1,1), a point at (1,1) transforms to + :math:`x=1`. The distance was scaled by :math:`1/\sqrt{2}` + +Finally, the **ForceOrthogonal** parameter will modify your basis +vectors if needed to make them orthogonal to each other. Only works in 3 +dimensions! + +Binning a MDHistoWorkspace +########################## + +It is possible to rebin a `MDHistoWorkspace `__. Each +MDHistoWorkspace holds a reference to the +`MDEventWorkspace `__ that created it, as well as the +coordinate transformation that was used. In this case, the rebinning is +actually performed on the original MDEventWorkspace, after suitably +transforming the basis vectors. + +Only the non-axis aligned binning method can be performed on a +MDHistoWorkspace! Of course, your basis vectors can be aligned with the +dimensions, which is equivalent. + +For more details on the coordinate transformations applied in this case, +please see `BinMD Coordinate +Transformations `__. + +.. figure:: /images/BinMD_Coordinate_Transforms_withLine.png + :alt: BinMD_Coordinate_Transforms_withLine.png + + BinMD\_Coordinate\_Transforms\_withLine.png + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/BinaryOperateMasks-v1.rst b/Code/Mantid/docs/source/algorithms/BinaryOperateMasks-v1.rst new file mode 100644 index 000000000000..55e09f71f70b --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/BinaryOperateMasks-v1.rst @@ -0,0 +1,29 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +A binary operation will be conducted on two SpecialWorkspace2D (i.e., +masking workspace). The binary operations supported include AND, OR and +XOR (exclusive or). The operation is done between the corresponding +spectra of these two input workspaces, i.e., + +.. math:: spec_i^{output} = spec_i^{in 1} \times spec_i^{in 2} + +.. math:: spec_i^{output} = spec_i^{in 1} + spec_i^{in 2} + +.. math:: spec_i^{output} = spec_i^{in 1} \oplus spec_i^{in 2} + +Output +------ + +A SpecialWorkspace2D with the same dimension and geometry as the input +two SpecialWorkspace2D. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CalMuonDeadTime-v1.rst b/Code/Mantid/docs/source/algorithms/CalMuonDeadTime-v1.rst new file mode 100644 index 000000000000..c440c44917fa --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CalMuonDeadTime-v1.rst @@ -0,0 +1,33 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Calculate Muon deadtime for each spectra in a workspace. + +Define: + +| `` ``\ :math:`{\displaystyle{N}}`\ `` = true count`` +| `` ``\ :math:`{\displaystyle{N_0}}`\ `` = true count at time zero`` +| `` ``\ :math:`{\displaystyle{M}}`\ `` = measured count`` +| `` ``\ :math:`{\displaystyle{t_{dead}}}`\ `` = dead-time`` +| `` ``\ :math:`{\displaystyle{t_{bin}}}`\ `` = time bin width`` +| `` ``\ :math:`{\displaystyle{t_{\mu}}}`\ `` = Muon decay constant`` +| `` ``\ :math:`{\displaystyle{F}}`\ `` = Number of good frames`` + +The formula used to calculate the deadtime for each spectra: + +.. math:: M\exp \left( \frac{t}{t_{\mu}} \right)=N_0 - M*N_0*(\frac{t_{dead}}{t_{bin}*F}) + +where :math:`\displaystyle{M\exp ( t/t_{\mu})}` as a function of +:math:`{\displaystyle{M}}` is a straight line with an intercept of +:math:`{\displaystyle{N_0}}` and a slope of +:math:`{\displaystyle{N_0*(\frac{t_{dead}}{t_{bin}*F})}}`. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CalculateEfficiency-v1.rst b/Code/Mantid/docs/source/algorithms/CalculateEfficiency-v1.rst new file mode 100644 index 000000000000..5cd48673394b --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CalculateEfficiency-v1.rst @@ -0,0 +1,16 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +See `SANS +Reduction `__ +documentation for calculation details. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CalculateFlatBackground-v1.rst b/Code/Mantid/docs/source/algorithms/CalculateFlatBackground-v1.rst new file mode 100644 index 000000000000..d382f3bb9765 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CalculateFlatBackground-v1.rst @@ -0,0 +1,37 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm takes a list of spectra and for each spectrum calculates +an average count rate in the given region, usually a region when there +are only background neutrons. This count rate is then subtracted from +the counts in all the spectrum's bins. However, no bin will take a +negative value as bins with count rates less than the background are set +to zero (and their error is set to the backgound value). + +The average background count rate is estimated in one of two ways. When +Mode is set to 'Mean' it is the sum of the values in the bins in the +background region divided by the width of the X range. Selecting 'Linear +Fit' sets the background value to the height in the centre of the +background region of a line of best fit through that region. + +The error on the background value is only calculated when 'Mean' is +used. It is the errors in all the bins in the background region summed +in quadrature divided by the number of bins. This background error value +is added in quadrature to the errors in each bin. + +ChildAlgorithms used +#################### + +The `Linear `__ algorithm is used when the Mode = Linear Fit. +From the resulting line of best fit a constant value taken as the value +of the line at the centre of the fitted range. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CalculateGammaBackground-v1.rst b/Code/Mantid/docs/source/algorithms/CalculateGammaBackground-v1.rst new file mode 100644 index 000000000000..332effe383e1 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CalculateGammaBackground-v1.rst @@ -0,0 +1,26 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm is currently used by the Vesuvio spectrometer at ISIS to +correct for background produced by photons that are produced when the +neutrons are absorbed by the shielding on the instrument. It only +corrects the forward scattering detector banks. + +Two workspaces are produced: the calculated background and a corrected +workspace where the input workspace has been corrected by the +background. The background is computed by a simple simulation of the +expected count across all of the foils. The corrected workspace counts +are computed by calculating a ratio of the expected counts at the +detector to the integrated foil counts (:math:`\beta`) and then the +final corrected count rate :math:`\displaystyle c_f` is defined as +:math:`\displaystyle c_f = c_i - \beta c_b`. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CalculatePeaksHKL-v1.rst b/Code/Mantid/docs/source/algorithms/CalculatePeaksHKL-v1.rst new file mode 100644 index 000000000000..3323a39de65a --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CalculatePeaksHKL-v1.rst @@ -0,0 +1,22 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Uses the UB matrix on the sample to calculate the Miller indices for all +peaks in the peaks workspace. Unlike :ref:`algm-IndexPeaks` this +algorithm does not perform any mandatory optimization. This algorithm +does not round the Miller indices to the nearest integer. + +Alternatives +------------ + +:ref:`algm-IndexPeaks` + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CalculateTransmission-v1.rst b/Code/Mantid/docs/source/algorithms/CalculateTransmission-v1.rst new file mode 100644 index 000000000000..e3a40212b0c4 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CalculateTransmission-v1.rst @@ -0,0 +1,42 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Calculates the probability of a neutron being transmitted through the +sample using detected counts from two monitors, one in front and one +behind the sample. A data workspace can be corrected for transmission by +`dividing `__ by the output of this algorithm. + +| Because the detection efficiency of the monitors can be different the +transmission calculation is done using two runs, one run with the sample +(represented by :math:`S` below) and a direct run without +it(\ :math:`D`). The fraction transmitted through the sample :math:`f` +is calculated from this formula: +| :math:`p = \frac{S_T}{D_T}\frac{D_I}{S_I}` +| where :math:`S_I` is the number of counts from the monitor in front of +the sample (the incident beam monitor), :math:`S_T` is the transmission +monitor after the sample, etc. + +The resulting fraction as a function of wavelength is created as the +OutputUnfittedData workspace. However, because of statistical variations +it is recommended to use the OutputWorkspace, which is the evaluation of +a fit to those transmission fractions. The unfitted data is not affected +by the RebinParams or Fitmethod properties but these can be used to +refine the fitted data. The RebinParams method is useful when the range +of wavelengths passed to CalculateTransmission is different from that of +the data to be corrected. + +ChildAlgorithms used +#################### + +Uses the algorithm `linear `__ to fit to the calculated +transmission fraction. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CalculateTransmissionBeamSpreader-v1.rst b/Code/Mantid/docs/source/algorithms/CalculateTransmissionBeamSpreader-v1.rst new file mode 100644 index 000000000000..81e717458026 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CalculateTransmissionBeamSpreader-v1.rst @@ -0,0 +1,16 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +See `SANS +Reduction `__ +documentation for details. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CalculateUMatrix-v1.rst b/Code/Mantid/docs/source/algorithms/CalculateUMatrix-v1.rst new file mode 100644 index 000000000000..63aab89c20bb --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CalculateUMatrix-v1.rst @@ -0,0 +1,145 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Given a set of peaks (Q in the goniometer frame, HKL values), and given +lattice parameters :math:`(a,b,c,\alpha,\beta,\gamma)`, it will try to +find the U matrix, using least squares approach and quaternions +`1 `__. Units +of length are in in :math:`\rm \AA`, angles are in degrees. + +The algorithm calculates first the B matrix according to Busing and +Levi. + +Given a set of peaks in the reference frame of the inner axis of the +goniometer, :math:`\rm Q_{gon}`, indexed by :math:`(h_i, k_i, l_i)`, we +want to find the U matrix that maps peaks in the reciprocal space of the +sample to the peaks in the goniometer frame + +:math:`\rm U \rm B \left( + + \begin{array}{c} + + h_i \\ + + k_i \\ + + l_i \\ + + \end{array} + + \right) = \rm Q_{gon,i}` (1) + +For simplicity, we define + +:math:`\rm Q_{hkl,i} = \rm B \left( + + \begin{array}{c} + + h_i \\ + + k_i \\ + + l_i \\ + + \end{array} + + \right)` (2) + +In the real world, such a matrix is not always possible to find. +Therefore we just try minimize the difference between the two sets of p + +:math:`\sum_i |\rm U \rm Q_{hkl,i} - \rm Q_{gon,i}|^2 = \sum_i \left(|\rm U \rm Q_{hkl,i}|^2 + |\rm Q_{gon,i}|^2 -2 \rm U \rm Q_{hkl,i} \cdot \rm Q_{gon,i}\right)` +(3) + +In equation (3) +:math:`\left|\rm U \rm Q_{hkl,i}\right|^2 = |\rm Q_{hkl,i}|^2`, so the +first two terms on the left side are U independent. Therefore we want to +maximize + +:math:`\sum_i \left(\rm U \rm Q_{hkl,i} \cdot \rm Q_{gon,i}\right)` (4) + +We are going to write the scalar product of the vectors in terms of +quaternions\ `2 `__. We define +:math:`q_{hkl,i} = \left(0, Q_{hkl,i}\right)`, +:math:`q_{gon,i} = \left(0, Q_{gon,i}\right)` and the rotation U is +described by quaternion :math:`u = \left(w,x,y,z\right)` + +Then equation (4) will be written as + +:math:`\sum_i \left(\rm U \rm Q_{hkl,i} \cdot \rm Q_{gon,i}\right) = 0.5 \cdot \left(u q_{hkl,i} u^*\right) q_{gon,i}\ + 0.5 \cdot q_{gon,i} \left(u q_{hkl,i} u^*\right)` +(5) + +We define matrices :math:`H_i= \left(\begin{array}{cccc} +0 & -q_{hkl,i,x} & -q_{hkl,i,y} & -q_{hkl,i,z} \\ +q_{hkl,i,x} & 0 & q_{hkl,i,z} & -q_{hkl,i,y} \\ +q_{hkl,i,y} & -q_{hkl,i,z} & 0 & q_{hkl,i,x} \\ +q_{hkl,i,z} & q_{hkl,i,y} & -q_{hkl,i,x} & 0 +\end{array} \right)` (6) + +and :math:`S_i= \left(\begin{array}{cccc} +0 & -q_{gonl,i,x} & -q_{gon,i,y} & -q_{gon,i,z} \\ +q_{gon,i,x} & 0 & -q_{gon,i,z} & q_{gon,i,y} \\ +q_{gon,i,y} & q_{gon,i,z} & 0 & -q_{gon,i,x} \\ +q_{gon,i,z} & -q_{gon,i,y} & q_{gon,i,x} & 0 +\end{array} \right)` (7) + +Then, we can rewrite equation (5) using +matrices\ `3 `__,\ `4 `__: + +:math:`\sum_i \left(\rm U \rm Q_{hkl,i} \cdot \rm Q_{gon,i}\right) = \left(\begin{array}{cccc} +w & x & y & z\end{array} \right) \sum_i H_i S_i \left( + \begin{array}{c} + w \\ + x \\ + y \\ +z + \end{array} + + \right)` (8) + +The problem of finding :math:`\left(w,x,y,z\right)` that maximizes the +sum can now be rewritten in terms of eigenvectors of +:math:`HS= \sum_i \left(H_i S_i\right)` . Let :math:`\epsilon_j` and +:math:`\nu_j` be the eigenvalues and corresponding eigenvectors of +:math:`HS`, with +:math:`\epsilon_0 > \epsilon_1 > \epsilon_2 > \epsilon_3`. We can write +any vector :math:`(w,x,y,z)` as a linear combination of the eigenvectors +of :math:`HS`: + +:math:`\left(w,x,y,z\right) = \delta_0 \nu_0 +\delta_1 \nu_1 +\delta_2 \nu_2 +\delta_3 \nu_3` +(9) + +:math:`\left(\begin{array}{cccc} +w & x & y & z\end{array} \right) HS \left( + \begin{array}{c} + w \\ + x \\ + y \\ +z + \end{array} + + \right) = \delta_0^2 \nu_0 HS \nu_0 + \delta_1^2 \nu_1 HS \nu_1 +\delta_2^2 \nu_2 HS \nu_2 +\delta_3 \nu_3 HS \nu_3` +(10) + +:math:`= \delta_0^2 \epsilon_0 + \delta_1^2 \epsilon_1 +\delta_2^2 \epsilon_2 +\delta_3 ^2 \epsilon_3` +(11) + +:math:`u` is a unit quaternion, +:math:`\delta_0^2 + \delta_1^2 +\delta_2^2 +\delta_3 ^2=1` (12) + +Then the sum in equation (11) is maximized for +:math:`\epsilon_0 =1, \epsilon_1 =0, \epsilon_2 =0 \epsilon_3 =0` (13) + +Therefore U is the rotation represented by the quaternion :math:`u`, +which is the eigenvector corresponding to the largest eigenvalue of +:math:`HS`. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CalculateZscore-v1.rst b/Code/Mantid/docs/source/algorithms/CalculateZscore-v1.rst new file mode 100644 index 000000000000..ca9b174e545b --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CalculateZscore-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Calculate Z-score of a spectrum in a given workspace. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CalibrateRectangularDetectors-v1.rst b/Code/Mantid/docs/source/algorithms/CalibrateRectangularDetectors-v1.rst new file mode 100644 index 000000000000..e7b2852c4ba4 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CalibrateRectangularDetectors-v1.rst @@ -0,0 +1,62 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Here are examples of input and output from PG3 and SNAP: + +.. figure:: /images/PG3_Calibrate.png + :alt: PG3_Calibrate.png + + PG3\_Calibrate.png +.. figure:: /images/SNAP_Calibrate.png + :alt: SNAP_Calibrate.png + + SNAP\_Calibrate.png +-The purpose of this algorithm is to calibrate the detector pixels and +write a calibration file. The calibration file name contains the +instrument, run number, and date of calibration. A binary Dspacemap file +that converts from TOF to d-space including the calculated offsets is +also an output option. For CrossCorrelation option: If one peak is not +in the spectra of all the detectors, you can specify the first n +detectors to be calibrated with one peak and the next n detectors to be +calibrated with the second peak. If a color fill plot of the calibrated +workspace does not look good, do a color fill plot of the workspace that +ends in cc to see if the CrossCorrelationPoints and/or PeakHalfWidth +should be increased or decreased. Also plot the reference spectra from +the cc workspace. + +Features to improve performance of peak finding +----------------------------------------------- + +Define peak fit-window +###################### + +There are two exclusive approaches to define peak's fit-window. + +1. *PeakWindowMax*: All peaks will use this value to define their +fitting range. + +2. *FitwindowTableWorkspace*: This is a table workspace by which each +peak will have its individual fit window defined. + +Define accepted range of peak's width +##################################### + +Optional input property *DetectorResolutionWorkspace* is a matrix +workspace containing the detector resolution :math:`\Delta(d)/d` for +each spectrum. Combining with property *AllowedResRange*, it defines the +lower and upper limit for accepted fitted peak width. + +Let :math:`c_l = AllowedResRange[0]`, :math:`c_h = AllowedResRange[1]` +and :math:`fwhm` as the peak's fitted width. Then, + +.. math:: c_l\times\frac{\Delta(d)}{d} < fwhm < c_h\times\frac{\Delta(d)}{d} + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CatalogDownloadDataFiles-v1.rst b/Code/Mantid/docs/source/algorithms/CatalogDownloadDataFiles-v1.rst new file mode 100644 index 000000000000..2ec4c0387cce --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CatalogDownloadDataFiles-v1.rst @@ -0,0 +1,16 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm gets the location strings for the selected files from the +data archive; if the data archive is not accessible, it downloads the +files from the data server. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CatalogGetDataFiles-v1.rst b/Code/Mantid/docs/source/algorithms/CatalogGetDataFiles-v1.rst new file mode 100644 index 000000000000..ea7b63444f3d --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CatalogGetDataFiles-v1.rst @@ -0,0 +1,16 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm retrieves the files associated to selected investigation +from the information catalog and saves the file search results to mantid +workspace. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CatalogGetDataSets-v1.rst b/Code/Mantid/docs/source/algorithms/CatalogGetDataSets-v1.rst new file mode 100644 index 000000000000..9c41d505f01e --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CatalogGetDataSets-v1.rst @@ -0,0 +1,16 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm retrieves the datasets associated to the selected +investigation from the information catalog and saves the search results +to mantid workspace. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CatalogKeepAlive-v1.rst b/Code/Mantid/docs/source/algorithms/CatalogKeepAlive-v1.rst new file mode 100644 index 000000000000..8951fc3fbe19 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CatalogKeepAlive-v1.rst @@ -0,0 +1,15 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm refreshes the current session to the maximum amount +provided by the catalog API. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CatalogListInstruments-v1.rst b/Code/Mantid/docs/source/algorithms/CatalogListInstruments-v1.rst new file mode 100644 index 000000000000..82ab0138c7c4 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CatalogListInstruments-v1.rst @@ -0,0 +1,15 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm retrieves the instrument names from a catalog and stores +them in a vector. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CatalogListInvestigationTypes-v1.rst b/Code/Mantid/docs/source/algorithms/CatalogListInvestigationTypes-v1.rst new file mode 100644 index 000000000000..d1eea9316e58 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CatalogListInvestigationTypes-v1.rst @@ -0,0 +1,15 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm is responsible for obtaining a list of investigation +types from the catalog. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CatalogLogin-v1.rst b/Code/Mantid/docs/source/algorithms/CatalogLogin-v1.rst new file mode 100644 index 000000000000..a271676f87ac --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CatalogLogin-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm connects the logged in user to the information catalog. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CatalogLogout-v1.rst b/Code/Mantid/docs/source/algorithms/CatalogLogout-v1.rst new file mode 100644 index 000000000000..3d6d03323856 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CatalogLogout-v1.rst @@ -0,0 +1,15 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm disconnects the logged in user from a specific catalog +using the session information provided. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CatalogMyDataSearch-v1.rst b/Code/Mantid/docs/source/algorithms/CatalogMyDataSearch-v1.rst new file mode 100644 index 000000000000..8d11aa81386c --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CatalogMyDataSearch-v1.rst @@ -0,0 +1,15 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm retrieves logged in users investigations data from the +information catalog and stores it in mantid workspace. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CatalogPublish-v1.rst b/Code/Mantid/docs/source/algorithms/CatalogPublish-v1.rst new file mode 100644 index 000000000000..83043571cde5 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CatalogPublish-v1.rst @@ -0,0 +1,28 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm allows a user (who is logged into the information +catalog) to publish datafiles or workspaces to investigations of which +they are an investigator. + +Datafiles and workspaces that are published are automatically made +private. This means only investigators of that investigation can view +them. + +**Parameters Note** + +- A file or workspace can be published, but not both at the same time. +- When uploading a workspace, it is saved to the default save directory + as a nexus file. The history of of the workspace is generated and + saved into a Python script, which is also uploaded alongside the + datafile of the workspace. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CatalogSearch-v1.rst b/Code/Mantid/docs/source/algorithms/CatalogSearch-v1.rst new file mode 100644 index 000000000000..e1bd742e97a5 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CatalogSearch-v1.rst @@ -0,0 +1,15 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm searches for the investigations and stores the search +results in a table workspace. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CentroidPeaks-v1.rst b/Code/Mantid/docs/source/algorithms/CentroidPeaks-v1.rst new file mode 100644 index 000000000000..1a503610dbfe --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CentroidPeaks-v1.rst @@ -0,0 +1,18 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm starts with a PeaksWorkspace containing the expected +positions of peaks in detector space. It calculates the centroid of the +peak by calculating the average of the coordinates of all events within +a given radius of the peak, weighted by the weight (signal) of the event +for event workspaces or the intensity for histogrammed workspaces. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CentroidPeaksMD-v1.rst b/Code/Mantid/docs/source/algorithms/CentroidPeaksMD-v1.rst new file mode 100644 index 000000000000..490b0f51a627 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CentroidPeaksMD-v1.rst @@ -0,0 +1,18 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm starts with a PeaksWorkspace containing the expected +positions of peaks in reciprocal space. It calculates the centroid of +the peak by calculating the average of the coordinates of all events +within a given radius of the peak, weighted by the weight (signal) of +the event. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CentroidPeaksMD-v2.rst b/Code/Mantid/docs/source/algorithms/CentroidPeaksMD-v2.rst new file mode 100644 index 000000000000..490b0f51a627 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CentroidPeaksMD-v2.rst @@ -0,0 +1,18 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm starts with a PeaksWorkspace containing the expected +positions of peaks in reciprocal space. It calculates the centroid of +the peak by calculating the average of the coordinates of all events +within a given radius of the peak, weighted by the weight (signal) of +the event. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ChangeBinOffset-v1.rst b/Code/Mantid/docs/source/algorithms/ChangeBinOffset-v1.rst new file mode 100644 index 000000000000..5a15eddb1561 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ChangeBinOffset-v1.rst @@ -0,0 +1,23 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm can be used to change the time-of-flight bins of a +workspace by a specified amount (defined above as the Offset). A +possible use of this algorithm is to correct time bins that have been +recorded incorrectly. + +Optionally, the range of spectra can be selected to apply this offset +selectively using the IndexMin and IndexMax properties. + +The output workspace will be an exact copy of the input workspace except +for the changed time bins. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ChangeLogTime-v1.rst b/Code/Mantid/docs/source/algorithms/ChangeLogTime-v1.rst new file mode 100644 index 000000000000..c4554e52ebb2 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ChangeLogTime-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + + + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ChangePulsetime-v1.rst b/Code/Mantid/docs/source/algorithms/ChangePulsetime-v1.rst new file mode 100644 index 000000000000..0dc7705f6c05 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ChangePulsetime-v1.rst @@ -0,0 +1,16 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Modifies the pulse time (wall-clock time) of all the events in the +specified spectra of an EventWorkspace, by adding the given number of +seconds. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CheckForSampleLogs-v1.rst b/Code/Mantid/docs/source/algorithms/CheckForSampleLogs-v1.rst new file mode 100644 index 000000000000..9b9fbaf1708f --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CheckForSampleLogs-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Check if the workspace has some given sample logs + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CheckWorkspacesMatch-v1.rst b/Code/Mantid/docs/source/algorithms/CheckWorkspacesMatch-v1.rst new file mode 100644 index 000000000000..05725ed7cb24 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CheckWorkspacesMatch-v1.rst @@ -0,0 +1,24 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Compares two workspaces for equality. This algorithm is mainly intended +for use by Mantid developers as part of the testing process. + +The data values (X,Y and error) are always checked. The algorithm can +also optionally check the axes (this includes the units), the +spectra-detector map, the instrument (the name and parameter map) and +any bin masking. + +In the case of `EventWorkspaces `__, they are checked to +hold identical event lists. Comparisons between an EventList and a +Workspace2D always fail. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ChopData-v1.rst b/Code/Mantid/docs/source/algorithms/ChopData-v1.rst new file mode 100644 index 000000000000..6f3dd09ff5c0 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ChopData-v1.rst @@ -0,0 +1,47 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm will chop the input workspace into equally sized +workspaces, and adjust the X-values given so that they all begin from +the same point. This is useful if your raw files contain multiple +frames. + +Identifying Extended Frames +########################### + +.. figure:: /images/ChopDataIntegrationExplanation.png + :alt: Figure 1: Example Monitor Spectrum with Extended Frames + + Figure 1: Example Monitor Spectrum with Extended Frames +If the parameters *IntegrationRangeLower*, *IntegrationRangeUpper* and +*MonitorWorkspaceIndex* are provided to the algorithm, then it will +attempt to identify where in the workspace the frames have been +extended. + +For example: looking at Figure 1 which shows an input workspace covering +100000 microseconds, we can see that the first frame covers forty +thousand, and the other three cover twenty thousand each. + +In order for Mantid to determine this programatically, it integrates +over a range (defined by IntegrationRangeLower and +IntegrationRangeUpper) for each "chop" of the data. If the relative +values for this integration fall within certain bounds, then the chop is +deemed to be a continuation of the previous one rather than a separate +frame. If this happens, then they will be placed in the same workspace +within the result group. + +The algorithm will only look at the workspace given in +*MonitorWorkspaceIndex* property to determine this. Though it is +expected and recommended that you use a monitor spectrum for this +purpose, it is not enforced so you may use a regular detector if you +have cause to do so. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ClearMaskFlag-v1.rst b/Code/Mantid/docs/source/algorithms/ClearMaskFlag-v1.rst new file mode 100644 index 000000000000..cf4a124935c5 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ClearMaskFlag-v1.rst @@ -0,0 +1,15 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm clears the mask flag/bit on all spectra of a workspace. +It does not restore masked data. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ClearUB-v1.rst b/Code/Mantid/docs/source/algorithms/ClearUB-v1.rst new file mode 100644 index 000000000000..ec6ac6f10e03 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ClearUB-v1.rst @@ -0,0 +1,16 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Clears the OrientedLattice of each ExperimentInfo attached to the intput +`Workspace `__. Works with both single ExperimentInfos and +MultipleExperimentInfo instances. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CloneMDWorkspace-v1.rst b/Code/Mantid/docs/source/algorithms/CloneMDWorkspace-v1.rst new file mode 100644 index 000000000000..0bdffabd6606 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CloneMDWorkspace-v1.rst @@ -0,0 +1,27 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm will clones an existing +`MDEventWorkspace `__ or +`MDHistoWorkspace `__ into a new one. + +If the InputWorkspace is a file-backed MDEventWorkspace, then the +algorithm will copy the original file into a new one with the suffix +'\_clone' added to its filename, in the same directory. Before the clone +operation, the file back-end will be updated using :ref:`algm-SaveMD` +with UpdateFileBackEnd=True. This may delay the operation. + +If you wish to clone a file-backed MDEventWorkspace to an in-memory +MDEventWorkspace, we recommend that you first call :ref:`algm-SaveMD` +with UpdateFileBackEnd=True (if necessary), followed by a simple LoadMD +call to the file in question. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CloneWorkspace-v1.rst b/Code/Mantid/docs/source/algorithms/CloneWorkspace-v1.rst new file mode 100644 index 000000000000..8751a4e2008e --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CloneWorkspace-v1.rst @@ -0,0 +1,19 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm performs a deep copy of all of the information in the +workspace. It maintains events if the input is an +`EventWorkspace `__. It will call CloneMDWorkspace for a +`MDEventWorkspace `__ or a +`MDHistoWorkspace `__. It can also clone a +`PeaksWorkspace `__. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CombinePeaksWorkspaces-v1.rst b/Code/Mantid/docs/source/algorithms/CombinePeaksWorkspaces-v1.rst new file mode 100644 index 000000000000..a4d55d5366d6 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CombinePeaksWorkspaces-v1.rst @@ -0,0 +1,22 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm can be used to combine lists of single crystal peaks, +possibly obtained by different methods, in to a single list (contained +in a PeaksWorkspace). With the default options, this will simply append +the lists of peaks. If CombineMatchingPeaks is selected then an attempt +will be made to identify identical peaks by matching them in Q within +the specified tolerance. The peaks in each workspace are traversed in +the order they are found in the workspace (RHSWorkspace first) and if a +match is found (the search stops at the first match for each +RHSWorkspace peak) then the peak in the LHSWorkspace is retained. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CompareMDWorkspaces-v1.rst b/Code/Mantid/docs/source/algorithms/CompareMDWorkspaces-v1.rst new file mode 100644 index 000000000000..71767070b6ec --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CompareMDWorkspaces-v1.rst @@ -0,0 +1,23 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Compare two MDWorkspaces (`MDEventWorkspace `__ or +`MDHistoWorkspace `__) to see if they are the same. +This is mostly meant for testing/debugging use by developers. + +**What is compared**: The dimensions, as well as the signal and error +for each bin of each workspace will be compared. + +**`MDEventWorkspace `__**: the events in each box will +be compared if the *CheckEvents* option is checked. The events would +need to be in the same order to match. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CompressEvents-v1.rst b/Code/Mantid/docs/source/algorithms/CompressEvents-v1.rst new file mode 100644 index 000000000000..181f03cac27b --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CompressEvents-v1.rst @@ -0,0 +1,34 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm starts by sorting the event lists by TOF; therefore you +may gain speed by calling :ref:`algm-SortEvents` beforehand. +Starting from the smallest TOF, all events within Tolerance are +considered to be identical. Pulse times are ignored. A weighted event +without time information is created; its TOF is the average value of the +summed events; its weight is the sum of the weights of the input events; +its error is the sum of the square of the errors of the input events. + +Note that using CompressEvents may introduce errors if you use too large +of a tolerance. Rebinning an event workspace still uses an +all-or-nothing view: if the TOF of the event is in the bin, then the +counts of the bin is increased by the event's weight. If your tolerance +is large enough that the compound event spans more than one bin, then +you will get small differences in the final histogram. + +If you are working from the raw events with TOF resolution of 0.100 +microseconds, then you can safely use a tolerance of, e.g., 0.05 +microseconds to group events together. In this case, histograms +with/without compression are identical. If your workspace has undergone +changes to its X values (unit conversion for example), you have to use +your best judgement for the Tolerance value. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ComputeSensitivity-v1.rst b/Code/Mantid/docs/source/algorithms/ComputeSensitivity-v1.rst new file mode 100644 index 000000000000..91646ebe0b1e --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ComputeSensitivity-v1.rst @@ -0,0 +1,22 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Calculate the EQSANS detector sensitivity. This workflow algorithm uses +the reduction parameters found in the property manager object passed as +the ReductionProperties parameter to load the given data file, apply all +the necessary corrections to it and compute the sensitivity correction. + +Setting the PatchWorkspace property allows you to patch areas of the +detector. All masked pixels in the patch workspace will be patched. The +value assigned to a patched pixel is the average of all unmasked pixels +in this patched pixel's tube. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ConjoinFiles-v1.rst b/Code/Mantid/docs/source/algorithms/ConjoinFiles-v1.rst new file mode 100644 index 000000000000..dbe686083e11 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ConjoinFiles-v1.rst @@ -0,0 +1,15 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Conjoin two workspaces, which are file based. Uses +:ref:`algm-ConjoinWorkspaces` to do the heavy-lifting. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ConjoinSpectra-v1.rst b/Code/Mantid/docs/source/algorithms/ConjoinSpectra-v1.rst new file mode 100644 index 000000000000..6b2b6e2a8c0a --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ConjoinSpectra-v1.rst @@ -0,0 +1,20 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm allows a single spectrum to be extracted from a range of +workspaces and placed into a single workspace for comparison and +plotting. The LabelUsing property allows you to control what the end +labels applied to each spectra will be. The default is to use the source +workspace name, but you can specify the name of a log value to use as +the label, e.g. Temp\_Sample. the LabelValue property allows control of +how a single value is extracted from time series logs. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ConjoinWorkspaces-v1.rst b/Code/Mantid/docs/source/algorithms/ConjoinWorkspaces-v1.rst new file mode 100644 index 000000000000..a35b276a77f1 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ConjoinWorkspaces-v1.rst @@ -0,0 +1,50 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm can be useful when working with large datasets. It +enables the raw file to be loaded in two parts (not necessarily of equal +size), the data processed in turn and the results joined back together +into a single dataset. This can help avoid memory problems either +because intermediate workspaces will be smaller and/or because the data +will be much reduced after processing. + +The output of the algorithm, in which the data from the second input +workspace will be appended to the first, will be stored under the name +of the first input workspace. Workspace data members other than the data +(e.g. instrument etc.) will be copied from the first input workspace +(but if they're not identical anyway, then you probably shouldn't be +using this algorithm!). Both input workspaces will be deleted. + +Conflict Spectrum IDs +##################### + +The algorithm adds the spectra from the first workspace and then the +second workspace. + +- The original spectrum IDs will be respected if there is no conflict + of spectrum IDs between the first workspace and the second. +- If there are conflict in spectrum IDs, such that some spectrum IDs + appear in both workspace1 and workspace2, then it will be resolved + such that the spectrum IDs of spectra coming from workspace2 will be + reset to some integer numbers larger than the largest spectrum ID of + the spectra from workspace1. Assuming that the largest spectrum ID of + workspace1 is S, then for any spectrum of workspace wi in workspace2, + its spectrum ID is equal to (S+1)+wi+offset, where offset is a + non-negative integer. + +Restrictions on the input workspace +################################### + +The input workspaces must come from the same instrument, have common +units and bins and no detectors that contribute to spectra should +overlap. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ConvertAxisByFormula-v1.rst b/Code/Mantid/docs/source/algorithms/ConvertAxisByFormula-v1.rst new file mode 100644 index 000000000000..1f56b4183690 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ConvertAxisByFormula-v1.rst @@ -0,0 +1,32 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm allows users to adjust the axes of a workspace by a user +defined math formula. It will NOT adjust or rearrange the data values +(other than in one case the X values) of a workspace. Therefore +alterations that will rearrange the order of the axes are not +recommended. This only works for MatrixWorkspaces, so will not work on +Multi Dimensional Workspaces or Table Workspaces. Like the +:ref:`algm-ConvertSpectrumAxis` algorithm the result of +this algorithm will have custom units defined for the axis you have +altered, and as such may not work in all other algorithms. + +The algorithm can operate on the X or Y axis, but cannot alter the +values of a spectrum axis (the axis used as the Y axis on newly loaded +Raw data). If you wish to alter this axis use he +:ref:`algm-ConvertSpectrumAxis` algorithm first. + +The formula is defined in a simple math syntax, please look at the usage +examples to some ideas of what is possible, a full list of the functions +available can be found at the muparser website +`1 `__. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ConvertFromDistribution-v1.rst b/Code/Mantid/docs/source/algorithms/ConvertFromDistribution-v1.rst new file mode 100644 index 000000000000..3a588b23ce6a --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ConvertFromDistribution-v1.rst @@ -0,0 +1,21 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Converts a histogram workspace from a distribution i.e. multiplies by +the bin width to take out the bin width dependency. + +Restrictions on the input workspace +################################### + +The workspace to convert must contain histogram data which is flagged as +being a distribution. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ConvertMDHistoToMatrixWorkspace-v1.rst b/Code/Mantid/docs/source/algorithms/ConvertMDHistoToMatrixWorkspace-v1.rst new file mode 100644 index 000000000000..cfea15f5d601 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ConvertMDHistoToMatrixWorkspace-v1.rst @@ -0,0 +1,15 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Creates a single spectrum Workspace2D with X,Y, and E copied from an +first non-integrated dimension of a IMDHistoWorkspace. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ConvertSnsRoiFileToMask-v1.rst b/Code/Mantid/docs/source/algorithms/ConvertSnsRoiFileToMask-v1.rst new file mode 100644 index 000000000000..2d40b684f818 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ConvertSnsRoiFileToMask-v1.rst @@ -0,0 +1,18 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm reads in an old SNS reduction ROI file and converts it +into a Mantid mask workspace. It will save that mask to a Mantid mask +file. + +The file format of the ROI file looks like: bank1\_0\_0 bank1\_0\_1 ... + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ConvertSpectrumAxis-v1.rst b/Code/Mantid/docs/source/algorithms/ConvertSpectrumAxis-v1.rst new file mode 100644 index 000000000000..b719fa626020 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ConvertSpectrumAxis-v1.rst @@ -0,0 +1,26 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +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. + +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. + +For units other than :math:`\theta`, the value placed in the axis is +generated by using the :ref:`algm-ConvertUnits` methods to +translate the values of the first and last bin for the current X-data +unit into the target unit, then taking the mid-point of these. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ConvertSpectrumAxis-v2.rst b/Code/Mantid/docs/source/algorithms/ConvertSpectrumAxis-v2.rst new file mode 100644 index 000000000000..40605ff58055 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ConvertSpectrumAxis-v2.rst @@ -0,0 +1,22 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +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. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ConvertTableToMatrixWorkspace-v1.rst b/Code/Mantid/docs/source/algorithms/ConvertTableToMatrixWorkspace-v1.rst new file mode 100644 index 000000000000..890bfd777a80 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ConvertTableToMatrixWorkspace-v1.rst @@ -0,0 +1,17 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Creates a single spectrum Workspace2D with X,Y, and E copied from +columns ColumnX, ColumnY, and ColumnE respectively. If ColumnE is not +set the E vector will be filled with 1s. The type of the columns must be +convertible to C++ double. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ConvertToDetectorFaceMD-v1.rst b/Code/Mantid/docs/source/algorithms/ConvertToDetectorFaceMD-v1.rst new file mode 100644 index 000000000000..91ba445da925 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ConvertToDetectorFaceMD-v1.rst @@ -0,0 +1,53 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm takes a a `MatrixWorkspace `__ and +converts it into a `MDEventWorkspace `__ that can be +viewed in the `SliceViewer `__. + +The algorithm currently only works for instruments with +`RectangularDetectors `__. The coordinates of the +output workspace are: + +- Pixel X coordinate (integer starting at 0) +- Pixel Y coordinate (integer starting at 0) +- The center of the bin of the spectrum in that pixel (e.g. + time-of-flight) + +Each MDEvent created has a weight given by the number of counts in that +bin. Zero bins are not converted to events (saving memory). + +Once created, the `MDEventWorkspace `__ can be viewed +in the `SliceViewer `__. It can also be rebinned with +different parameters using :ref:`algm-BinMD`. This allows you to view +the data in detector-space. For example, you might use this feature to +look at your detector's sensitivity as a function of position, as well +as a function of TOF. You can also do line plots of the data. See this +screenshot for example: + +.. figure:: /images/SliceViewer-DetectorFace.png + :alt: SliceViewer-DetectorFace.png + + SliceViewer-DetectorFace.png +BankNumbers Parameter +##################### + +If your instrument has several +`RectangularDetectors `__, you can use the +*BankNumbers* property to specify which one(s) to convert. The algorithm +looks for RectangularDetectors with the name 'bankXX' where XX is the +bank number. + +If you specify more than one bank number, then the algorithm will create +a 4D MDEventWorkspace. The fourth dimension will be equal to the bank +number, allowing you to easily pick a bank to view. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ConvertToDiffractionMDWorkspace-v1.rst b/Code/Mantid/docs/source/algorithms/ConvertToDiffractionMDWorkspace-v1.rst new file mode 100644 index 000000000000..1461cffa477e --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ConvertToDiffractionMDWorkspace-v1.rst @@ -0,0 +1,90 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm converts from a `MatrixWorkspace `__ (in +detector/time-of-flight space) to a +`MDEventWorkspace `__ containing events in reciprocal +space. + +The calculations apply only to elastic diffraction experiments. The +conversion can be done either to Q-space in the lab or sample frame, or +to HKL of the crystal. + +If the OutputWorkspace does NOT already exist, a default one is created. +In order to define more precisely the parameters of the +`MDEventWorkspace `__, use the +:ref:`algm-CreateMDWorkspace` algorithm first. + +Types of Conversion +################### + +- **Q (lab frame)**: this calculates the momentum transfer (ki-kf) for + each event is calculated in the experimental lab frame. +- **Q (sample frame)**: the goniometer rotation of the sample is taken + out, to give Q in the frame of the sample. See + :ref:`algm-SetGoniometer` to specify the goniometer used in + the experiment. +- **HKL**: uses the UB matrix (see :ref:`algm-SetUB`, + :ref:`algm-FindUBUsingFFT` and others) to calculate the HKL + Miller indices of each event. + +Lorentz Correction +################## + +If selected, the following Lorentz correction factor is applied on each +event by multiplying its weight by L: + +:math:`L = \frac{ sin(\theta)^2 } { \lambda^{4} }` + +Where :math:`\theta` is *half* of the neutron scattering angle +(conventionally called :math:`2\theta`). :math:`\lambda` is the neutron +wavelength in *Angstroms*. + +This correction is also done by the +:ref:`algm-AnvredCorrection` algorithm, and will be set to +false if that algorithm has been run on the input workspace. + +OneEventPerBin option +##################### + +If you specify *OneEventPerBin*, then the **histogram** representation +of the input workspace is used, with one MDEvent generated for each bin +of the workspace, **including zeros**. + +This can be useful in cases where the experimental coverage needs to be +tracked. With one MDEvent for each bin, you can count which regions in +Q-space have been measured. The `SliceViewer `__ has an +option to view normalized by number of events. This means that, for +example, areas with overlap from two runs will appear scaled down. + +A significant drawback to this is that the output MDEventWorkspace will +be *significantly* larger than the events alone would be. It currently +must be created in physical memory (it cannot yet be cached to disk). +One way to limit the memory used is to limit the OutputExtents to a +smaller region and only convert part of the space. + +Also, the :ref:`algm-FindPeaksMD` algorithm may not work optimally +because it depends partly on higher density of events causing more +finely split boxes. + +If your input is a `Workspace2D `__ and you do NOT check +*OneEventPerBin*, then the workspace is converted to an +`EventWorkspace `__ but with no events for empty bins. + +Performance Notes +################# + +- 8-core Intel Xeon 3.2 GHz computer: measured between 4 and 5.5 + million events per second (100-200 million event workspace). +- 32-core AMD Opteron 2.7 GHz computer: measured between 8 and 9 + million events per second (400-1000 million event workspaces). + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ConvertToDiffractionMDWorkspace-v2.rst b/Code/Mantid/docs/source/algorithms/ConvertToDiffractionMDWorkspace-v2.rst new file mode 100644 index 000000000000..1461cffa477e --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ConvertToDiffractionMDWorkspace-v2.rst @@ -0,0 +1,90 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm converts from a `MatrixWorkspace `__ (in +detector/time-of-flight space) to a +`MDEventWorkspace `__ containing events in reciprocal +space. + +The calculations apply only to elastic diffraction experiments. The +conversion can be done either to Q-space in the lab or sample frame, or +to HKL of the crystal. + +If the OutputWorkspace does NOT already exist, a default one is created. +In order to define more precisely the parameters of the +`MDEventWorkspace `__, use the +:ref:`algm-CreateMDWorkspace` algorithm first. + +Types of Conversion +################### + +- **Q (lab frame)**: this calculates the momentum transfer (ki-kf) for + each event is calculated in the experimental lab frame. +- **Q (sample frame)**: the goniometer rotation of the sample is taken + out, to give Q in the frame of the sample. See + :ref:`algm-SetGoniometer` to specify the goniometer used in + the experiment. +- **HKL**: uses the UB matrix (see :ref:`algm-SetUB`, + :ref:`algm-FindUBUsingFFT` and others) to calculate the HKL + Miller indices of each event. + +Lorentz Correction +################## + +If selected, the following Lorentz correction factor is applied on each +event by multiplying its weight by L: + +:math:`L = \frac{ sin(\theta)^2 } { \lambda^{4} }` + +Where :math:`\theta` is *half* of the neutron scattering angle +(conventionally called :math:`2\theta`). :math:`\lambda` is the neutron +wavelength in *Angstroms*. + +This correction is also done by the +:ref:`algm-AnvredCorrection` algorithm, and will be set to +false if that algorithm has been run on the input workspace. + +OneEventPerBin option +##################### + +If you specify *OneEventPerBin*, then the **histogram** representation +of the input workspace is used, with one MDEvent generated for each bin +of the workspace, **including zeros**. + +This can be useful in cases where the experimental coverage needs to be +tracked. With one MDEvent for each bin, you can count which regions in +Q-space have been measured. The `SliceViewer `__ has an +option to view normalized by number of events. This means that, for +example, areas with overlap from two runs will appear scaled down. + +A significant drawback to this is that the output MDEventWorkspace will +be *significantly* larger than the events alone would be. It currently +must be created in physical memory (it cannot yet be cached to disk). +One way to limit the memory used is to limit the OutputExtents to a +smaller region and only convert part of the space. + +Also, the :ref:`algm-FindPeaksMD` algorithm may not work optimally +because it depends partly on higher density of events causing more +finely split boxes. + +If your input is a `Workspace2D `__ and you do NOT check +*OneEventPerBin*, then the workspace is converted to an +`EventWorkspace `__ but with no events for empty bins. + +Performance Notes +################# + +- 8-core Intel Xeon 3.2 GHz computer: measured between 4 and 5.5 + million events per second (100-200 million event workspace). +- 32-core AMD Opteron 2.7 GHz computer: measured between 8 and 9 + million events per second (400-1000 million event workspaces). + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ConvertToDistribution-v1.rst b/Code/Mantid/docs/source/algorithms/ConvertToDistribution-v1.rst new file mode 100644 index 000000000000..8b0240074ae4 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ConvertToDistribution-v1.rst @@ -0,0 +1,21 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Makes a histogram workspace a distribution i.e. divides by the bin +width. + +Restrictions on the input workspace +################################### + +The workspace to convert must contain histogram data which is not +already flagged as a distribution. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ConvertToEventWorkspace-v1.rst b/Code/Mantid/docs/source/algorithms/ConvertToEventWorkspace-v1.rst new file mode 100644 index 000000000000..9e31553460f8 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ConvertToEventWorkspace-v1.rst @@ -0,0 +1,30 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm takes a Workspace2D with any binning or units as its +input. An event is created for each bin of each histogram, except if the +bin count is 0.0 (unless *GenerateZeros* is true). Infinity and NAN +(not-a-number) values are always skipped. + +Each event is created with an X position (typically time-of-flight) +equal to the \*\*center\*\* of the bin. The weight and error of the +event are taken from the histogram value. + +If the *GenerateMultipleEvents* option is set, then instead of a single +event per bin, a certain number of events evenly distributed along the X +bin are generated. The number of events generated in each bin is +calculated by N = (Y/E)^2. However, it is limited to a max of +*MaxEventsPerBin* and a minimum of 1 event per bin. + +Note that using *GenerateZeros* or *GenerateMultipleEvents* may use a +lot of memory! + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ConvertToHistogram-v1.rst b/Code/Mantid/docs/source/algorithms/ConvertToHistogram-v1.rst new file mode 100644 index 000000000000..4d0d3769185c --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ConvertToHistogram-v1.rst @@ -0,0 +1,17 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The input workspace must contain point data. + +Once executed, the OutputWorkspace will contain histogram data where the +bin width is guessed from the spacing between the input X points. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ConvertToMD-v1.rst b/Code/Mantid/docs/source/algorithms/ConvertToMD-v1.rst new file mode 100644 index 000000000000..f4588a561cf8 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ConvertToMD-v1.rst @@ -0,0 +1,186 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Used Subalgorithms +------------------ + +The algorithm uses `Unit Factory `__ and existing unit +conversion procedures from input Workspace Units to the Units, necessary +for transformation into correspondent MD Event workspace. It also uses +:ref:`algm-PreprocessDetectorsToMD` algorithm to help +with transformation to reciprocal space. + +If min, max or both lists of values (properties 12 and 13) for the +algorithm are not specified, +:ref:`algm-ConvertToMDMinMaxLocal` is used to estimate +missing min-max values. This algorithm is also used to calculate min-max +values if specified min-max values are deemed incorrect (e.g. less +values then dimensions or some min values are bigger then max values) + +Notes +----- + +#. For elastic analysis (:math:`dEAnalysisMode=Elastic`) the target + `unit `__ is momentum :math:`k`. +#. For no analysis (CopyToMD) mode, the units remain the one, previously + defined along the workspace's axes. +#. When units of input Matrix 2D workspace (Histogram workspace) are not + Momentums for Elastic or EnergyTransfer for inelastic mode, the + algorithm uses internal unit conversion of input X-values based on + central average of a bin ranges. Namely, value + :math:`X_c = 0.5*(X_i+X_{i+1})` is calculated and converted to + Momentum or EnergyTransfer correspondingly. This can give slightly + different result from the case, when input workspace has been + converted into correspondent units before converting to MDEvents. +#. Confusing message "Error in execution of algorithm ConvertToMD: emode + must be equal to 1 or 2 for energy transfer calculation" is generated + when one tries to process the results of inelastic scattering + experiment in elastic mode. This message is generated by units + conversion routine, which finds out that one of the workspace axis is + in `unit `__ of DeltaE. These units can not be directly + converted into momentum or energy, necessary for elastic mode. Select + Direct or Indirect mode and integrate over whole energy transfer + range to obtain MD workspace, which would correspond to an Elastic + mode. +#. A good guess on the limits can be obtained from the + :ref:`algm-ConvertToMDMinMaxLocal` algorithm. + +How to write custom ConvertToMD plugin +-------------------------------------- + +This information intended for developers who have at least basic +knowledge of C++ and needs to write its own `convertToMD +plugin `__. + +Usage examples +-------------- + +The examples below demonstrate the usages of the algorithm in most +common situations. They work with the data files which already used by +Mantid for different testing tasks. + +Convert re-binned MARI 2D workspace to 3D MD workspace for further analysis/merging with data at different temperatures +####################################################################################################################### + +.. code-block:: python + + + Load(Filename='MAR11001.nxspe',OutputWorkspace='MAR11001') + SofQW3(InputWorkspace='MAR11001',OutputWorkspace='MAR11001Qe2',QAxisBinning='0,0.1,7',EMode='Direct') + AddSampleLog(Workspace='MAR11001Qe2',LogName='T',LogText='100.0',LogType='Number Series') + + ConvertToMD(InputWorkspace='MAR11001Qe2',OutputWorkspace='MD3',QDimensions='CopyToMD',OtherDimensions='T',\ + MinValues='-10,0,0',MaxValues='10,6,500',SplitInto='50,50,5') + +Output **MD3** workspace can be viewed in slice-viewer as 3D workspace +with T-axis having single value. + +Convert Set of Event Workspaces (Horace scan) to 4D MD workspace, direct mode: +############################################################################## + +This example is based on CNCS\_7860\_event.nxs file, available in Mantid +test folder. The same script without any changes would produce similar +MD workspace given histogram data obtained from inelastic instruments +and stored in nxspe files. + +.. code-block:: python + + # let's load test event workspace, which has been already preprocessed and available in Mantid Test folder + WS_Name='CNCS_7860_event' + Load(Filename=WS_Name,OutputWorkspace=WS_Name) + # this workspace has been obtained from an inelastic experiment with input energy Ei = 3. + # Usually this energy is stored in workspace + # but if it is not, we have to provide it for inelastic conversion to work. + AddSampleLog(Workspace=WS_Name,LogName='Ei',LogText='3.0',LogType='Number') + # + # set up target ws name and remove target workspace with the same name which can occasionally exist. + RezWS = 'WS_4D' + try: + DeleteWorkspace(RezWS) + except ValueError: + print "Target ws ",RezWS," not found in analysis data service\n" + # + #---> Start loop over contributing files + for i in range(0,20,5): + # the following operations simulate different workspaces, obtained from experiment using rotating crystal; + # For real experiment we usually just load these workspaces from nxspe files with proper Psi values defined there + # and have to set up ub matrix + SourceWS = 'SourcePart'+str(i) + # it should be : + # Load(Filename=SourceWS_fileName,OutputWorkspace=WS_SourceWS) + # here, but the test does not have these data so we emulate the data by the following rows: + # ws emulation begin ----> + CloneWorkspace(InputWorkspace=WS_Name,OutputWorkspace=SourceWS) + # using scattering on a crystal with cubic lattice and 1,0,0 direction along the beam. + SetUB(Workspace=SourceWS,a='1.4165',b='1.4165',c='1.4165',u='1,0,0',v='0,1,0') + # rotated by proper number of degrees around axis Y + AddSampleLog(Workspace=SourceWS,LogName='Psi',LogText=str(i),LogType='Number Series') + SetGoniometer(Workspace=SourceWS,Axis0='Psi,0,1,0,1') + # ws emulation, end --------------------------------------------------------------------------------------- + + ConvertToMD(InputWorkspace=SourceWS,OutputWorkspace=RezWS,QDimensions='Q3D',QConversionScales='HKL',\ + OverwriteExisting=0,\ + dEAnalysisMode='Direct',MinValues='-3,-3,-3,-1',MaxValues='3,3,3,3',\ + SplitInto="20,20,1,1") + # delete source workspace from memory; + DeleteWorkspace(SourceWS) + #---> End loop + # plot results using sliceviewer + plotSlice(RezWS, xydim=["[H,0,0]","[0,K,0]"], slicepoint=[0,0] ) + +Convert set of inelastic results obtained in Powder mode (direct) as function of temperature to a 3D workspace: +############################################################################################################### + +The test example is based on MAR1011.nxspe data file, obtained by +reducing test data from the MARI experiment. The data for the experiment +can be located in `Mantid system +test `__ folder. The text +will produce 3-dimensional dataset, with temperature axis. The image +does not change with temperature, as we have just cloned initial +workspace without any changes to the experimental data. + +.. code-block:: python + + # let's load test event workspace, which has been already preprocessed and availible in Mantid Test folder + WS_Name='MAR11001.nxspe' + Load(Filename=WS_Name,OutputWorkspace=WS_Name) + # this workspace has been obtained from an inelastic experiment with input energy + # nxspe file has input energy stored in it so no need to add energy artificially + #AddSampleLog(Workspace=WS_Name,LogName='Ei',LogText='3.0',LogType='Number') + + # set up target ws name and remove target workspace with the same name which can occasionally exist. + RezWS = 'WS_3D' + try: + DeleteWorkspace(RezWS) + except ValueError: + print "Target ws ",RezWS," not found in analysis data service\n" + i=0 + # let's assume this is the temperature range obtained in experiments and + # each data file is obtained for particular temperature. + T = [1.0,1.5,2.0,2.5,3.0,3.5,4.0,4.5,5.0,5.5,6.0,6.5,7.0,7.5,8.0,8.5,9.0,9.5,10.0] + for i in range(0,len(T),1): + # EMULATE LOAD OF DIFFERENT results obtained for different temperatures. ------> + SourceWS = 'SourcePart'+str(i) + # Load(Filename=WS_Name,OutputWorkspace=WS_Name) + CloneWorkspace(InputWorkspace=WS_Name,OutputWorkspace=SourceWS) + # Each workspace has the temperature from the list above associated with it through the correspondent log file + AddSampleLog(Workspace=SourceWS,LogName='T',LogText=str(T[i]),LogType='Number Series') + # END EMULATION --------------------------------------------------------------------- + + ConvertToMD(InputWorkspace=SourceWS,OutputWorkspace=RezWS,QDimensions='|Q|',OverwriteExisting=0,\ + dEAnalysisMode='Direct',OtherDimensions='T',PreprocDetectorsWS='DetWS', + MinValues='0,-10,0',MaxValues='12,10,10',SplitInto="100,100,20") + # delete source workspace from memory; + DeleteWorkspace(SourceWS) + + plotSlice(RezWS, xydim=["|Q|","DeltaE"], slicepoint=[0,0] ) + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ConvertToMDMinMaxGlobal-v1.rst b/Code/Mantid/docs/source/algorithms/ConvertToMDMinMaxGlobal-v1.rst new file mode 100644 index 000000000000..213bb061f2d6 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ConvertToMDMinMaxGlobal-v1.rst @@ -0,0 +1,44 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The algorithm will try to calculate the MinValues and MaxValues limits +that are required in the ConvertToMD algorithm, using the following +procedure: + +- If QDimensions is CopyToMD the first value in MinValues is going to + be the workspace minimum X coordinate, and the first value in + MaxValues is going to be the maximum X coordinate +- If QDimensions is \|Q\| or Q3D, first we calculate the maximum + momentum transfer, Qmax. If dEAnalysisMode is Elastic, we convert to + Momentum units, find the maximum value, and multiply by 2, since the + maximum momentum transfer occurs when the incident beam and the + scattered beam are anti-parallel. +- If dEAnalysisMode is Direct or Indirect, we convert to DeltaE units, + find the minimum and maximum (dEmin, dEmax), calculate to ki and kf. + The maximum momentum transfer is ki+kf. +- If QDimensions is \|Q\|, the first value of the MinValues is 0, and + the first value of MaxValues is Qmax +- If QDimensions is Q3D, and Q3DFrames is Q the first three values of + the MinValues are -Qmax, -Qmax, -Qmax, and the first three values of + MaxValues are Qmax, Qmax, Qmax +- If QDimensions is Q3D, and Q3DFrames is HKL the first three values of + the MinValues are -Qmax\*a/(2\*pi), -Qmax\*b/(2\*pi), + -Qmax\*c/(2\*pi), and the first three values of MaxValues are + Qmax\*a/(2\*pi), Qmax\*b/(2\*pi), Qmax\*c/(2\*pi). Note: for HKL mode + one needs to have an OrientedLattice attached to the sample. +- If QDimensions is \|Q\| or Q3D, and dEAnalysisMode is Elastic or + Inelastic, the next value in MinValues is dEmin, and the next value + in MaxValues is dEmax +- If any OtherDimensions are added, the last values in MinValues + (MaxValues) are the minimum (maximum) of each of the sample log + values selected + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ConvertToMDMinMaxLocal-v1.rst b/Code/Mantid/docs/source/algorithms/ConvertToMDMinMaxLocal-v1.rst new file mode 100644 index 000000000000..8ad9cbe7a332 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ConvertToMDMinMaxLocal-v1.rst @@ -0,0 +1,33 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Helper algorithm to calculate min-max input values for ConvertToMD +algorithm, using ConvertToMD algorithm factory. + +Initiates the same as ConvertToMD algorithm transformation from the +ConvertToMD factory and uses this transformation to evaluate all points +where the transformation can achieve extrema for each workspace spectra. +Then goes through all extrema points, calculates min/max values for each +spectra and select global min-max values for the whole workspace. + +For example, given input workspace in the units of energy transfer and +requesting \|Q\| inelastic transformation, the algorithm looks through +all spectra of the input workspace and identifies minimal, maximal and +an extremal\* energy transfer for the input spectra. Then it runs \|Q\| +dE conversion for these energy transfer points and loops through all +spectra of the workspace to identify \|Q\|\_min, \|Q\|\_max and dE\_min +and dE\_max values. + +- extremal energy transfer for \|Q\| transformation occurs at some + energy transfer where momentum transfer is maximal. It depends on + polar + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ConvertToMatrixWorkspace-v1.rst b/Code/Mantid/docs/source/algorithms/ConvertToMatrixWorkspace-v1.rst new file mode 100644 index 000000000000..230fe47e33ac --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ConvertToMatrixWorkspace-v1.rst @@ -0,0 +1,15 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This can also be performed using the :ref:`algm-Rebin` algorithm and +having the "PreserveEvents" parameter set to false. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ConvertToPointData-v1.rst b/Code/Mantid/docs/source/algorithms/ConvertToPointData-v1.rst new file mode 100644 index 000000000000..ef8eea1b3986 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ConvertToPointData-v1.rst @@ -0,0 +1,16 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The input workspace must contain histogram data. Once executed the +OutputWorkspace will contain point data, where the X values are simply +the centre points of the input bins. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ConvertToReflectometryQ-v1.rst b/Code/Mantid/docs/source/algorithms/ConvertToReflectometryQ-v1.rst new file mode 100644 index 000000000000..c82db8fc1f5b --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ConvertToReflectometryQ-v1.rst @@ -0,0 +1,58 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Prerequisites +############# + +The workspace spectrum axis should be converted to signed\_theta using +:ref:`algm-ConvertSpectrumAxis` and the x axis should be +converted to Wavelength using :ref:`algm-ConvertUnits` before +running this algorithm. Histogram input workspaces are expected. + +The algorithm will looks for a specific log value called *stheta*, which +contains the incident theta angle :math:`theta_i`. If the input +workspace does not contain this value, or if you wish to override this +value you can do so by providing your own *IncidentTheta* property and +enabling *OverrideIncidentTheta*. + +Transformations +############### + +Output workspaces are always 2D MD Histogram workspaces, but the +algorithm will perform one of three possible transformations. + +- Convert to :math:`Q_x`, :math:`Q_z` +- Convert to :math:`K_i`, :math:`K_f` +- Convert to :math:`P_i-P_f`, :math:`P_i+P_f`. Note that P and K are + interchangeable. + +where + +:math:`Q_x = \frac{2\pi}{\lambda}(sin\theta_f + sin\theta_i)` + +:math:`Q_z = \frac{2\pi}{\lambda}(cos\theta_f - cos\theta_i)` + +:math:`K_i = \frac{2\pi}{\lambda}sin\theta_i` + +:math:`K_f = \frac{2\pi}{\lambda}sin\theta_f` + +.. raw:: mediawiki + + {{AlgorithmLinks|ConvertToReflectometryQ}} + +After Transformation +#################### + +You will usually want to rebin using :ref:`algm-BinMD` or +:ref:`algm-SliceMD` after transformation because the output workspaces +are not regularly binned. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ConvertToYSpace-v1.rst b/Code/Mantid/docs/source/algorithms/ConvertToYSpace-v1.rst new file mode 100644 index 000000000000..b96cf76f8b2b --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ConvertToYSpace-v1.rst @@ -0,0 +1,36 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The final unit of the x-axis is changed to momentum (Y) space as defined +by + +.. raw:: html + +
+ +:math:`Y = 0.2393\frac{M}{\epsilon_i^{0.1}}(\omega - \frac{q^2}{2M})` + +.. raw:: html + +
+ +where :math:`M` is the mass in atomic mass units, +:math:`\displaystyle\epsilon` is the incident energy, +:math:`\displaystyle\omega` is the energy change and :math:`q` is +defined as :math:`\sqrt{(k_0^2 + k_1^2 - 2k_0k_1\cos(\theta))}`. + +The TOF is used to calculate :math:`\displaystyle\epsilon_i` and the +:math:`\displaystyle1/\epsilon` dependence causes an increasing set of +TOF values to be mapped to a decreasing set of :math:`\displaystyle Y` +values. As a result the final :math:`Y`-space values are reversed to +give a workspace with monotonically increasing :math:`Y` values. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ConvertUnits-v1.rst b/Code/Mantid/docs/source/algorithms/ConvertUnits-v1.rst new file mode 100644 index 000000000000..24f1ddcb3b81 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ConvertUnits-v1.rst @@ -0,0 +1,51 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Changes the units in which the X values of a `workspace `__ +are represented. The available units are those registered with the `Unit +Factory `__. If the Y data is 'dimensioned' (i.e. has been +divided by the bin width), then this will be correctly handled, but at +present nothing else is done to the Y data. If the sample-detector +distance cannot be calculated then the affected spectrum will be zeroed, +and a warning message will be output on the `logging `__ +service. + +If AlignBins is false or left at the default the output workspace may be +a `Ragged Workspace `__. If it is set to true then the +data is automatically `rebinned `__ to a regular grid so that the +maximum and minimum X values will be maintained. It uses the same number +of bins as the input data, and divides them linearly equally between the +minimum and maximum values. + +If converting to :math:`\Delta E` any bins which correspond to a +physically inaccessible will be removed, leading to an output workspace +than is smaller than the input one. If the geometry is indirect then the +value of EFixed will be taken, if available, from the instrument +definition file. + +Restrictions on the input workspace +################################### + +- Naturally, the X values must have a unit set, and that unit must be + known to the `Unit Factory `__. +- Only histograms, not point data, can be handled at present. +- The algorithm will also fail if the source-sample distance cannot be + calculated (i.e. the `instrument `__ has not been + properly defined). + +Available units +--------------- + +The units currently available to this algorithm are listed +`here `__, along with equations specifying exactly how the +conversions are done. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ConvolveWorkspaces-v1.rst b/Code/Mantid/docs/source/algorithms/ConvolveWorkspaces-v1.rst new file mode 100644 index 000000000000..0bb8db23e788 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ConvolveWorkspaces-v1.rst @@ -0,0 +1,15 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Convolution of two workspaces using `Convolution `__ from +CurveFitting. Workspaces must have the same number of spectra. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CopyInstrumentParameters-v1.rst b/Code/Mantid/docs/source/algorithms/CopyInstrumentParameters-v1.rst new file mode 100644 index 000000000000..ef54a8244889 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CopyInstrumentParameters-v1.rst @@ -0,0 +1,24 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Transfer an instrument parameters from a giving workspace to a receiving +workspace. + +The instrument parameters in the receiving workspace are REPLACED +(despite you can assume from the name of the algorithm) by a copy of the +instrument parameters in the giving workspace so gaining any +manipulations such as calibration done to the instrument in the giving +workspace. + +Does not work on workspaces with grouped detectors if some of the +detectors were calibrated. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CopyLogs-v1.rst b/Code/Mantid/docs/source/algorithms/CopyLogs-v1.rst new file mode 100644 index 000000000000..dadd158570fe --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CopyLogs-v1.rst @@ -0,0 +1,28 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The algorithm will copy the sample logs in the input workspace to the +the output workspace using one of three merge strategies. + +- MergeReplaceExisting: Default option. Copy logs from the input + workspace to the output workspace and replace any existing logs with + the same name. +- MergeKeepExisting: Keep the existing logs in the output workspace and + don't modify them, but append any new ones from the input workspace. + +Note that this will not concatenate values or ranges. The algorithm will +choose to keep the value of any the log already present in the output +workspace, leaving it untouched. + +- WipeExisting: Dump any logs that are in the output workspace and + replace them with the logs from the input workspace. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CopySample-v1.rst b/Code/Mantid/docs/source/algorithms/CopySample-v1.rst new file mode 100644 index 000000000000..f0b42fe099e3 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CopySample-v1.rst @@ -0,0 +1,28 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The algorithm copies some/all the sample information from one workspace +to another.For MD workspaces, if no input sample number is specified, or +not found, it will copy the first sample. For MD workspaces, if no +output sample number is specified (or negative), it will copy to all +samples. The following information can be copied: + +- Name +- Material +- Sample environment +- Shape +- Oriented lattice + +One can copy the orientation matrix only. To do this, select both +CopyLattice and CopyOrientationOnly. If only CopyOrientationOnly is +true, the algorithm will throw an error. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CorrectFlightPaths-v1.rst b/Code/Mantid/docs/source/algorithms/CorrectFlightPaths-v1.rst new file mode 100644 index 000000000000..78cf17a37173 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CorrectFlightPaths-v1.rst @@ -0,0 +1,20 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Corrects the flight paths of a flat detector. Both TOF sample-detector +and distance sample-detector are corrected to constant values, i.e., +this algorithm make the detector spherical rather than flat. + +detector\_distance must exist in the \_Parameters.xml: + +So far this has only be tested on ILL IN5. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CorrectKiKf-v1.rst b/Code/Mantid/docs/source/algorithms/CorrectKiKf-v1.rst new file mode 100644 index 000000000000..bf6d4541cb95 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CorrectKiKf-v1.rst @@ -0,0 +1,22 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Performs ki / kf multiplication, in order to transform differential +scattering cross section into dynamic structure factor. Both Ei and Ef +must be positive. However, if this requirement is not met, it will give +an error only if the data is not 0. This allows applying the algorithms +to rebinned data, where one can rebin in Direct EMode to energies higher +than EFixed. If no value is defined for EFixed, the algorithm will try +to find Ei in the workspace properties for direct geometry spectrometry, +or in the instrument definition, for indirect geometry spectrometry. +Algorithm is event aware. TOF events will be changed to weighted events. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CorrectLogTimes-v1.rst b/Code/Mantid/docs/source/algorithms/CorrectLogTimes-v1.rst new file mode 100644 index 000000000000..b9baccaf5dbd --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CorrectLogTimes-v1.rst @@ -0,0 +1,17 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Sometimes the clocks controlling different sample environments or other +experimental log values are not synchronized. This algorithm attempts to +make all (some) time series property logs start at the same time as the +first time in the proton charge log. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CorrectToFile-v1.rst b/Code/Mantid/docs/source/algorithms/CorrectToFile-v1.rst new file mode 100644 index 000000000000..a8eee956a0e6 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CorrectToFile-v1.rst @@ -0,0 +1,24 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Use data from the supplied file, written in the RKH format, to correct +the input data. The operations allowed for the correction are +`multiply `__ and `divide `__. + +Allowed correction files may contain one spectrum with many bins or many +spectra each with one bin. If the are many bins then the +FirstColumnValue must match the `units `__ of the +(X-values on the) workspace on the InputWorkspace. When there are many +spectra (e.g. flood correction files) FirstColumnValue must be set to +"SpectrumNumber" and the number of spectra in the file and workspace +must match. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CreateCalFileByNames-v1.rst b/Code/Mantid/docs/source/algorithms/CreateCalFileByNames-v1.rst new file mode 100644 index 000000000000..593936fa0ed8 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CreateCalFileByNames-v1.rst @@ -0,0 +1,34 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +.. figure:: /images/InstrumentTree.jpg + :alt: Instrument Tree + + Instrument Tree +Create a `calibration file `__ for diffraction focusing based +on list of names of the instrument tree. + +If a new file name is specified then offsets in the file are all sets to +zero and all detectors are selected. If a valid calibration file already +exists at the location specified by the `GroupingFileName `__ +then any existing offsets and selection values will be maintained and +only the grouping values changed. + +Detectors not assigned to any group will appear as group 0, i.e. not +included when using AlignDetector or DiffractionFocussing algorithms. + +The group number is assigned based on a descent in the instrument tree +assembly. If two assemblies are parented, say Bank1 and module1, and +both assembly names are given in the GroupNames, they will get assigned +different grouping numbers. This allows to isolate a particular +sub-assembly of a particular leaf of the tree. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CreateChopperModel-v1.rst b/Code/Mantid/docs/source/algorithms/CreateChopperModel-v1.rst new file mode 100644 index 000000000000..05eb314dc5f5 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CreateChopperModel-v1.rst @@ -0,0 +1,32 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Creates a model for a chopper using the given parameters. The parameters +are given as a string to allow flexibility for each chopper model having +different parameterisation. + +The chopper point is an index that can be used for multi-chopper +instruments. The indices start from zero, with this being closest to +moderator. + +Available models with parameter names: + +- FermiChopper - + + - AngularVelocity - The angular velocity value or log name + - ChopperRadius - The radius, in metres, of the whole chopper + - SlitThickness - The thickness, in metres, of the slit + - SlitRadius - The radius of curvature, in metres, of the slit + - JitterSigma - The FWHH value for the jitter calculation in + microseconds + - Ei - The Ei for this run as a value or log name + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CreateDummyCalFile-v1.rst b/Code/Mantid/docs/source/algorithms/CreateDummyCalFile-v1.rst new file mode 100644 index 000000000000..5d346bcb070e --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CreateDummyCalFile-v1.rst @@ -0,0 +1,26 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +.. figure:: /images/InstrumentTree.jpg + :alt: Instrument Tree + + Instrument Tree +Create a dummy `calibration file `__ for diffraction focusing +with one group. + +Offsets in the file are all sets to zero and all detectors are selected. +Overwrites a calibration file that already exists at the location +specified. + +Detectors will be assigned to group one when using AlignDetector or +DiffractionFocussing algorithms. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CreateEmptyTableWorkspace-v1.rst b/Code/Mantid/docs/source/algorithms/CreateEmptyTableWorkspace-v1.rst new file mode 100644 index 000000000000..afd74b52207e --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CreateEmptyTableWorkspace-v1.rst @@ -0,0 +1,15 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm creates an empty table workspace and puts it in the data +service to make it available to python. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CreateFlatEventWorkspace-v1.rst b/Code/Mantid/docs/source/algorithms/CreateFlatEventWorkspace-v1.rst new file mode 100644 index 000000000000..ce683e022ceb --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CreateFlatEventWorkspace-v1.rst @@ -0,0 +1,16 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +TODO: Enter a full wiki-markup description of your algorithm here. You +can then use the Build/wiki\_maker.py script to generate your full wiki +page. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CreateGroupingWorkspace-v1.rst b/Code/Mantid/docs/source/algorithms/CreateGroupingWorkspace-v1.rst new file mode 100644 index 000000000000..c2c2fe864e19 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CreateGroupingWorkspace-v1.rst @@ -0,0 +1,27 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +A `GroupingWorkspace `__ is a simple workspace with +one value per detector pixel; this value corresponds to the group number +that will be used when focussing or summing another workspace. + +This algorithm creates a blank GroupingWorkspace. It uses the +InputWorkspace, InstrumentName, OR InstrumentFilename parameterto +determine which Instrument to create. + +If the OldCalFilename parameter is given, the .cal ASCII file will be +loaded to fill the group data. + +If the GroupNames parameter is given, the names of banks matching the +comma-separated strings in the parameter will be used to sequentially +number the groups in the output. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CreateLeBailFitInput-v1.rst b/Code/Mantid/docs/source/algorithms/CreateLeBailFitInput-v1.rst new file mode 100644 index 000000000000..2e3c4b59728d --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CreateLeBailFitInput-v1.rst @@ -0,0 +1,46 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm is to import Fullprof .irf file (peak parameters) and +.hkl file (reflections) and record the information to TableWorkspaces, +which serve as the inputs for algorithm LeBailFit. + +Format of Instrument parameter TableWorkspace +############################################# + +Instrument parameter TableWorkspace contains all the peak profile +parameters imported from Fullprof .irf file. + +Presently these are the peak profiles supported + +``* Thermal neutron back to back exponential convoluted with pseudo-voigt (profile No. 10 in Fullprof)`` + +Each row in TableWorkspace corresponds to one profile parameter. + +Columns include Name, Value, FitOrTie, Min, Max and StepSize. + +Format of reflection TableWorkspace +################################### + +Each row of this workspace corresponds to one diffraction peak. The +information contains the peak's Miller index and (local) peak profile +parameters of this peak. For instance of a back-to-back exponential +convoluted with Gaussian peak, the peak profile parameters include +Alpha, Beta, Sigma, centre and height. + +How to use algorithm with other algorithms +------------------------------------------ + +This algorithm is designed to work with other algorithms to do Le Bail +fit. The introduction can be found in the wiki page of `Le Bail +Fit `__. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CreateLogPropertyTable-v1.rst b/Code/Mantid/docs/source/algorithms/CreateLogPropertyTable-v1.rst new file mode 100644 index 000000000000..42b95fda60f9 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CreateLogPropertyTable-v1.rst @@ -0,0 +1,59 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Data is loaded into Mantid workspaces along with various log properties. +This algorithm enables a user to easily compile a TableWorkspace of +values for each of the specified properties, for each of the specified +workspaces. + +LogPropertyNames +################ + +The list of log property names provided must consist of properties that +actually appear in the workspace(s). You can check which properties are +loaded with workspaces by right-clicking the workspace and navigating to +the "Sample Logs..." dialog window. All acceptable properties have names +that appear in the "Name" column of the dialog table. + +GroupPolicy +########### + +GroupWorkspaces can be handled in various ways, depending on the +GroupPolicy input: + +"All" +##### + +All children of any GroupWorkspaces will be included in the table. This +should be used when each child workspace contains different data. + +"First" +####### + +Only the first child of any GroupWorkspaces will be included in the +table. This is useful for instruments that produce groups of workspaces +for a single run, and specifying "All" would populate the table with +duplicate data. + +"None" +###### + +Excludes GroupWorkspaces altogether. + +.. figure:: /images/ConvertToEnergyInfoTable.png + :alt: Output workspace generated by loading TOSCA runs 12218-12229, and feeding the resuling workspace names into the algorithm, along with the property names "inst_abrv", "run_number", "user_name", "run_title" and "hd_dur". + + Output workspace generated by loading TOSCA runs 12218-12229, and + feeding the resuling workspace names into the algorithm, along with + the property names "inst\_abrv", "run\_number", "user\_name", + "run\_title" and "hd\_dur". + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CreateLogTimeCorrection-v1.rst b/Code/Mantid/docs/source/algorithms/CreateLogTimeCorrection-v1.rst new file mode 100644 index 000000000000..f7fd2419f6fb --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CreateLogTimeCorrection-v1.rst @@ -0,0 +1,17 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +For fast fequency sample logs, the time-of-flight of each neutron is +recorded at detector. As the sample log time is recorded at sample, each +neutron's flight time must be corrected to sample to be filtered +correctly by log value. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CreateMDHistoWorkspace-v1.rst b/Code/Mantid/docs/source/algorithms/CreateMDHistoWorkspace-v1.rst new file mode 100644 index 000000000000..d0040fcec45d --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CreateMDHistoWorkspace-v1.rst @@ -0,0 +1,40 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Takes two arrays of signal and error values, as well as information +describing the dimensionality and extents, and creates a +MDHistoWorkspace (histogrammed multi-dimensional workspace). The +*SignalInput* and *ErrorInput* arrays must be of equal length and have a +length that is equal to the product of all the comma separated arguments +provided to **NumberOfBins**. The order in which the arguments are +specified to each of the properties (for those taking multiple +arguments) is important, as they are assumed to match by the order they +are declared. For example, specifying **Names**\ ='A,B' and +**Units**\ ='U1,U2' will generate two dimensions, the first with a name +of *A* and units of *U1* and the second with a name of *B* and units of +*U2*. The same logic applies to the **Extents** inputs. Signal and Error +inputs are read in such that, the first entries in the file will be +entered across the first dimension specified, and the zeroth index in +the other dimensions. The second set of entries will be entered across +the first dimension and the 1st index in the second dimension, and the +zeroth index in the others. + +Alternatives +------------ + +A very similar algorithm to this is +:ref:`algm-ImportMDHistoWorkspace`, which takes it's +input signal and error values from a text file rather than from arrays. +Another alternative is to use :ref:`algm-ConvertToMD` which works +on MatrixWorkspaces, and allows log values to be included in the +dimensionality. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CreateMDWorkspace-v1.rst b/Code/Mantid/docs/source/algorithms/CreateMDWorkspace-v1.rst new file mode 100644 index 000000000000..d7681ea0e6fe --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CreateMDWorkspace-v1.rst @@ -0,0 +1,29 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm creates an empty MDEventWorkspace from scratch. The +workspace can have any number of dimensions (up to ~20). Each dimension +must have its name, units, extents specified as comma-spearated string. + +The SplitInto parameter determines how splitting of dense boxes will be +performed. For example, if SplitInto=5 and the number of dimensions is +3, then each box will get split into 5x5x5 sub-boxes. + +The SplitThreshold parameter determines how many events to keep in a box +before splitting it into sub-boxes. This value can significantly affect +performance/memory use! Too many events per box will mean unnecessary +iteration and a slowdown in general. Too few events per box will waste +memory with the overhead of boxes. + +You can create a file-backed MDEventWorkspace by specifying the Filename +and Memory parameters. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CreateModeratorModel-v1.rst b/Code/Mantid/docs/source/algorithms/CreateModeratorModel-v1.rst new file mode 100644 index 000000000000..f0d7439f60c5 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CreateModeratorModel-v1.rst @@ -0,0 +1,25 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Creates a model of a moderator using the given parameters. The +parameters are given as a string to allow flexibility for each moderator +model having different parameterisation. + +Available models with parameter names: + +- IkedaCarpenterModerator - + + - TiltAngle - The tilt angle in degrees; + - TauF - The fast decay coefficient in microseconds + - TauS - The slow decay coefficient in microseconds + - R - The mixing coefficient + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CreatePSDBleedMask-v1.rst b/Code/Mantid/docs/source/algorithms/CreatePSDBleedMask-v1.rst new file mode 100644 index 000000000000..1293efe89f4d --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CreatePSDBleedMask-v1.rst @@ -0,0 +1,24 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The diagnostic test attempts to find all tubes within the instrument +attached to the workspace. If successful, each tube is tested for +saturation above the level defined by the 'MaxTubeFramerate' property. +If any pixel, not including those marked to be ignored around the +equatorial region, are counting above this threshold then the entire +tube is masked. + +Restrictions on the input workspace +################################### + +- The workspace must contain either raw counts or counts/us. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CreatePeaksWorkspace-v1.rst b/Code/Mantid/docs/source/algorithms/CreatePeaksWorkspace-v1.rst new file mode 100644 index 000000000000..1db7511ce9f2 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CreatePeaksWorkspace-v1.rst @@ -0,0 +1,20 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Create an empty `PeaksWorkspace `__. Use +:ref:`algm-LoadIsawPeaks` or :ref:`algm-FindPeaksMD` to +create a peaks workspace with peaks. + +This workspace can serve as a starting point for modifying the +`PeaksWorkspace `__, using the GUI or python scripting, +for example. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CreateSampleShape-v1.rst b/Code/Mantid/docs/source/algorithms/CreateSampleShape-v1.rst new file mode 100644 index 000000000000..dedd7610c68a --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CreateSampleShape-v1.rst @@ -0,0 +1,16 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Creates a shape object that defines the sample and sets the sample for +the given workspace. Shapes are defined using XML descriptions that can +be found `here `__. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CreateSampleWorkspace-v1.rst b/Code/Mantid/docs/source/algorithms/CreateSampleWorkspace-v1.rst new file mode 100644 index 000000000000..e65a833a0ba1 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CreateSampleWorkspace-v1.rst @@ -0,0 +1,33 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Creates sample workspaces for usage examples and other situations. + +You can select a predefined function for the data or enter your own by +selecting User Defined in the drop down. + +The data will be the same for each spectrum, and is defined by the +function selected, and a little noise if Random is selected. All values +are taken converted to absolute values at present so negative values +will become positive. For event workspaces the intensity of the graph +will be affected by the number of events selected. + +Here is an example of a user defined formula containing two peaks and a +background. + +``name=LinearBackground, A0=0.5;name=Gaussian, PeakCentre=10000, Height=50, Sigma=0.5;name=Gaussian, PeakCentre=1000, Height=80, Sigma=0.5`` + +Random also affects the distribution of events within bins for event +workspaces. If Random is selected the results will differ between runs +of the algorithm and will not be comparable. If comparing the output is +important set Random to false or uncheck the box. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CreateSimulationWorkspace-v1.rst b/Code/Mantid/docs/source/algorithms/CreateSimulationWorkspace-v1.rst new file mode 100644 index 000000000000..fab1a6e469c0 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CreateSimulationWorkspace-v1.rst @@ -0,0 +1,23 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Creates a blank workspace for a given instrument with the option of +pulling in detector tables from a RAW/NeXus data file. The histogram +sizes are given by binning parameters, see :ref:`algm-Rebin`, rather +than explicit data arrays. There is also an option to set the X axis +unit. + +If the DetectorTableFilename property is blank then it is assumed that a +1:1 spectra-mapping is required and the workspace will have the same +number of histograms as detectors in the instrument (not including +monitors) + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CreateSingleValuedWorkspace-v1.rst b/Code/Mantid/docs/source/algorithms/CreateSingleValuedWorkspace-v1.rst new file mode 100644 index 000000000000..ba3f4d5fbd0a --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CreateSingleValuedWorkspace-v1.rst @@ -0,0 +1,16 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Creates a 2D workspace that contains a single value and an optional +error value. This is useful if, for example, there is a need to multiply +(or divide etc) a workspace by a single value. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CreateTransmissionWorkspace-v1.rst b/Code/Mantid/docs/source/algorithms/CreateTransmissionWorkspace-v1.rst new file mode 100644 index 000000000000..3ff2562f65be --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CreateTransmissionWorkspace-v1.rst @@ -0,0 +1,18 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Creates a transmission run workspace given one or more TOF workspaces +and the original run Workspace. If two workspaces are provided, then the +workspaces are stitched together using :ref:`algm-Stitch1D`. +InputWorkspaces must be in TOF. A single output workspace is generated +with x-units of Wavlength in angstroms. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CreateTransmissionWorkspaceAuto-v1.rst b/Code/Mantid/docs/source/algorithms/CreateTransmissionWorkspaceAuto-v1.rst new file mode 100644 index 000000000000..0988565e7fb6 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CreateTransmissionWorkspaceAuto-v1.rst @@ -0,0 +1,21 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Facade over +:ref:`algm-CreateTransmissionWorkspace`. Pull +numeric parameters out of the instrument parameters where possible. You +can override any of these automatically applied defaults by providing +your own value for the input. + +See :ref:`algm-CreateTransmissionWorkspace` for +more information on the wrapped algorithm. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CreateWorkspace-v1.rst b/Code/Mantid/docs/source/algorithms/CreateWorkspace-v1.rst new file mode 100644 index 000000000000..3f57ec51bc6f --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CreateWorkspace-v1.rst @@ -0,0 +1,24 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Example of use in Python for create a simple histogram workspace and +automatically populating the VerticalAxis with SpectraNumber values. + +.. code-block:: python + + dataX = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16] + dataY = [1,2,3,4,5,6,7,8,9,10,11,12] + dataE = [1,2,3,4,5,6,7,8,9,10,11,12] + + # The workspace will be named "dataWS" + dataWS = CreateWorkspace(DataX=dataX, DataY=dataY, DataE=dataE, NSpec=4,UnitX="Wavelength") + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CropWorkspace-v1.rst b/Code/Mantid/docs/source/algorithms/CropWorkspace-v1.rst new file mode 100644 index 000000000000..97f6e52a66c9 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CropWorkspace-v1.rst @@ -0,0 +1,29 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Extracts a 'block' from a workspace and places it in a new workspace +(or, to look at it another way, lops bins or spectra off a workspace). + +CropWorkspace works on workspaces with common X arrays/bin boundaries or +on so-called `ragged workspaces `__. If the input +workspace has common bin boundaries/X values then cropping in X will +lead to an output workspace with fewer bins than the input one. If the +boundaries are not common then the output workspace will have the same +number of bins as the input one, but with data values outside the X +range given set to zero. + +If an X value given for XMin/XMax does not match a bin boundary (within +a small tolerance to account for rounding errors), then the closest bin +boundary within the range will be used. Note that if none of the +optional properties are given, then the output workspace will be a copy +of the input one. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CrossCorrelate-v1.rst b/Code/Mantid/docs/source/algorithms/CrossCorrelate-v1.rst new file mode 100644 index 000000000000..f45942485686 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CrossCorrelate-v1.rst @@ -0,0 +1,24 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Compute the cross correlation function for a range of spectra with +respect to a reference spectrum. + +This is use in powder diffraction experiments when trying to estimate +the offset of one spectra with respect to another one. The spectra are +converted in d-spacing and then interpolate on the X-axis of the +reference. The cross correlation function is computed in the range +[-N/2,N/2] where N is the number of points. + +More details can be found +`here. `__ + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CuboidGaugeVolumeAbsorption-v1.rst b/Code/Mantid/docs/source/algorithms/CuboidGaugeVolumeAbsorption-v1.rst new file mode 100644 index 000000000000..455de114992c --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CuboidGaugeVolumeAbsorption-v1.rst @@ -0,0 +1,43 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm uses a numerical integration method to calculate +attenuation factors resulting from absorption and single scattering +within a cuboid region of a sample with the dimensions and material +properties given. **The gauge volume generated will be an axis-aligned +cuboid centred on the sample (centre) position. The sample must fully +enclose this cuboid. If this does not meet your needs you can instead +use the general :ref:`algm-AbsorptionCorrection` +algorithm in conjunction with +:ref:`algm-DefineGaugeVolume`.** + +Factors are calculated for each spectrum (i.e. detector position) and +wavelength point, as defined by the input workspace. The sample is +divided up into cuboids having sides of as close to the size given in +the ElementSize property as the sample dimensions will allow. Thus the +calculation speed depends linearly on the total number of bins in the +workspace and goes as :math:`\rm{ElementSize}^{-3}`. + +Path lengths through the sample are then calculated for the centre-point +of each element and a numerical integration is carried out using these +path lengths over the volume elements. + +Restrictions on the input workspace +################################### + +The input workspace must have units of wavelength. The +`instrument `__ associated with the workspace must be fully +defined because detector, source & sample position are needed. A sample +shape must have been defined using, e.g., +:ref:`algm-CreateSampleShape` and the gauge volume must be +fully within the sample. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/CylinderAbsorption-v1.rst b/Code/Mantid/docs/source/algorithms/CylinderAbsorption-v1.rst new file mode 100644 index 000000000000..e810914d0523 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/CylinderAbsorption-v1.rst @@ -0,0 +1,55 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm uses a numerical integration method to calculate +attenuation factors resulting from absorption and single scattering in a +cylindrical sample with the dimensions and material properties given. +Factors are calculated for each spectrum (i.e. detector position) and +wavelength point, as defined by the input workspace. The sample is +divided up into a stack of slices, which are then divided into annuli +(rings). These annuli are further divided (see Ref. [2], Appendix A) to +give the full set of elements for which a calculation will be carried +out. Thus the calculation speed depends linearly on the total number of +bins in the workspace and on the number of slices. The dependence on the +number of annuli is stronger, going as :math:`3n ( n+1 )`. + +Path lengths through the sample are then calculated for the centre-point +of each element and a numerical integration is carried out using these +path lengths over the volume elements. + +Assumptions +########### + +Although no assumptions are made about the beam direction or the sample +position, the cylinder will be constructed with its centre at the sample +position and it's axis along the y axis (which in the case of most +instruments is the vertical). + +Restrictions on the input workspace +################################### + +The input workspace must have units of wavelength. The +`instrument `__ associated with the workspace must be fully +defined because detector, source & sample position are needed. + +References +########## + +The method used here is based upon work presented in the following two +papers, although it does not yet fully implement all aspects discussed +there (e.g. there's no multiple scattering and no concentric cylinders). + +#. I.A. Blech & B.L. Averbach, *Multiple Scattering of Neutrons in + Vanadium and Copper*, Phys. Rev. **137 4A** (1965) A1113. +#. A.K. Soper & P.A. Egelstaff, *Multiple Scattering and Attenuation of + Neutrons in Concentric Cylinders*, NIM **178** (1980) 415. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/DakotaChiSquared-v1.rst b/Code/Mantid/docs/source/algorithms/DakotaChiSquared-v1.rst new file mode 100644 index 000000000000..9b8e001a176b --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/DakotaChiSquared-v1.rst @@ -0,0 +1,15 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Compare two nexus files containing matrix workspaces and output chi +squared into a file + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/DefineGaugeVolume-v1.rst b/Code/Mantid/docs/source/algorithms/DefineGaugeVolume-v1.rst new file mode 100644 index 000000000000..530469e351b2 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/DefineGaugeVolume-v1.rst @@ -0,0 +1,25 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Intended for use on data from engineering beamlines, this algorithm +creates a shape object for use as the 'gauge volume' (i.e. the portion +of the sample that is visible to the detectors in a given run) of a +larger sample in the :ref:`algm-AbsorptionCorrection` +algorithm. The sample shape will also need to be defined using, e.g., +the :ref:`algm-CreateSampleShape` algorithm. Shapes are +defined using XML descriptions that can be found +`here `__. + +Internally, this works by attaching the XML string (after validating it) +to a property called "GaugeVolume" on the workspace's `Run `__ +object. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/DeleteLog-v1.rst b/Code/Mantid/docs/source/algorithms/DeleteLog-v1.rst new file mode 100644 index 000000000000..495f5bd2763e --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/DeleteLog-v1.rst @@ -0,0 +1,16 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Removes a named log from the run attached to the input workspace. If the +log does not exist then the algorithm simply emits a warning and does +not fail. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/DeleteTableRows-v1.rst b/Code/Mantid/docs/source/algorithms/DeleteTableRows-v1.rst new file mode 100644 index 000000000000..78c19a53c249 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/DeleteTableRows-v1.rst @@ -0,0 +1,15 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +If the specified rows exist they will be deleted form the workspace. If +the row list is empty the algorithm does nothing. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/DeleteWorkspace-v1.rst b/Code/Mantid/docs/source/algorithms/DeleteWorkspace-v1.rst new file mode 100644 index 000000000000..77eb47ce3fd6 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/DeleteWorkspace-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +If the input workspace exists then it is removed from Mantid. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/DensityOfStates-v1.rst b/Code/Mantid/docs/source/algorithms/DensityOfStates-v1.rst new file mode 100644 index 000000000000..180eb7c00024 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/DensityOfStates-v1.rst @@ -0,0 +1,15 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Calculates phonon densities of states, Raman and IR spectrum from the +output of CASTEP code obtained in the form of .phonon and .castep files. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/DetectorDiagnostic-v1.rst b/Code/Mantid/docs/source/algorithms/DetectorDiagnostic-v1.rst new file mode 100644 index 000000000000..f9d3bbe0b708 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/DetectorDiagnostic-v1.rst @@ -0,0 +1,26 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm is a C++ replacement for the Python diagnostics.diagnose +function located in the scripts/inelastic directory. The algorithm +expects processed workspaces as input just as the other function did. +The main functionality of the algorithm is to determine issues with +detector vanadium runs and mask out bad pixels. The algorithms that are +run on the detector vanadium are FindDetectorsOutsideLimits and +MedianDetectorTest. It also performs a second set of diagnostics on +another detector vanadium run and DetectorEfficiencyVariation on the +two. The algorithm also checks processed sample workspaces (total counts +and background) for bad pixels as well. The total counts workspace is +tested with FindDetectorsOutsideLimits. The background workspace is run +through MedianDetector test. A processed sample workspace can be given +to perform and CreatePSDBleedMask will be run on it. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/DetectorEfficiencyCor-v1.rst b/Code/Mantid/docs/source/algorithms/DetectorEfficiencyCor-v1.rst new file mode 100644 index 000000000000..cdc14f02fc2a --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/DetectorEfficiencyCor-v1.rst @@ -0,0 +1,42 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The probability of neutron detection by each detector in the +`workspace `__ is calculated from the neutrons' kinetic +energy, angle between their path and the detector axis, detector gas +pressure, radius and wall thickness. The detectors must be cylindrical +and their :sup:`3`\ He partial pressure, wall thickness and radius +stored in the input workspace, the first in atmospheres and the last two +in metres. That workspace then needs to be converted so that its +X-values are in `units `__ of energy transfer, e.g. using +the :ref:`algm-ConvertUnits` algorithm. + +To estimate the true number of neutrons that entered the detector the +counts in each bin are divided by the detector efficiency of that +detector at that energy. + +The numbers of counts are then multiplied by the value of +:math:`k_i/k_f` for each bin. In that formula :math:`k_i` is the +wavenumber a neutron leaving the source (the same for all neutrons) and +:math:`k_f` is the wavenumber on hitting the detector (dependent on the +detector and energy bin). They're calculated, in angstrom\ :sup:`-1`, as + +| :math:`k_i = \sqrt{\frac{E_i}{2.07212466}}` +| :math:`k_f = \sqrt{\frac{E_i - \Delta E}{2.07212466}}` + +where :math:`E_i` and :math:`\Delta E` are energies in meV, the inital +neutron kinetic energy and the energy lost to the sample respectively. + +Note: it is not possible to use this `algorithm `__ to +correct for the detector efficiency alone. One solution to this is to +divide the output algorithm by :math:`k_i/k_f` calculated as above. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/DetectorEfficiencyCorUser-v1.rst b/Code/Mantid/docs/source/algorithms/DetectorEfficiencyCorUser-v1.rst new file mode 100644 index 000000000000..4ead7cffc84a --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/DetectorEfficiencyCorUser-v1.rst @@ -0,0 +1,29 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm will correct detector efficiency according to the ILL INX +program for time-of-flight data reduction. + +A formula named "formula\_eff" must be defined in the instrument +parameters file. The input workspace must be in DeltaE units. + +The output data will be corrected as: + +:math:`y = \frac{y}{eff}` + +where :math:`eff` is + +:math:`eff = \frac{f(Ei - \Delta E)}{f(E_i)}` + +The function :math:`f` is defined as "formula\_eff" in the IDF. To date +this has been implemented at the ILL for ILL IN4, IN5 and IN6. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/DetectorEfficiencyVariation-v1.rst b/Code/Mantid/docs/source/algorithms/DetectorEfficiencyVariation-v1.rst new file mode 100644 index 000000000000..39982a0ef158 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/DetectorEfficiencyVariation-v1.rst @@ -0,0 +1,38 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +It is intended that the input white beam vanadium workspaces are from +the same instrument and were collected before and after an experimental +run of interest. First the ratios of the total number of counts in +corresponding histograms from each input workspace are calculated and +then the median ratio is calculated. Each ratio is compared to the +median and a histogram will fail when any of the following conditions +are true: + +- (sum1/sum2)/median(sum1/sum2) > Variation +- (sum1/sum2)/median(sum1/sum2) < 1/Variation + +where sum1 is the sum of the counts in a histogram in the workspace +WhiteBeamBase and sum2 is the sum of the counts in the equivalent +histogram in WhiteBeamCompare. The above equations only make sense for +identifying bad detectors if Variation > 1. If a value of less than one +is given for Variation then Variation will be set to the reciprocal. + +The output workspace contains a MaskWorkspace where those spectra that +fail the tests are masked and those that pass them are assigned a single +positive value. + +Child algorithms used +##################### + +Uses the :ref:`algm-Integration` algorithm to sum the spectra. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/DetermineChunking-v1.rst b/Code/Mantid/docs/source/algorithms/DetermineChunking-v1.rst new file mode 100644 index 000000000000..d8ec898381ae --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/DetermineChunking-v1.rst @@ -0,0 +1,15 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Workflow algorithm to determine chunking strategy for event nexus, +runinfo.xml, raw, or histo nexus files + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/DgsAbsoluteUnitsReduction-v1.rst b/Code/Mantid/docs/source/algorithms/DgsAbsoluteUnitsReduction-v1.rst new file mode 100644 index 000000000000..7f7e8f61aeff --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/DgsAbsoluteUnitsReduction-v1.rst @@ -0,0 +1,72 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm is responsible for taking an absolute units sample and +converting it to an integrated value (one value for entire workspace) +for that sample. A corresponding detector vanadium can be used in +conjunction with the data reduction. The diagram below shows the +workflow. The AbsUnitsIncidentEnergy parameter needs to be passed via a +property manager since the absolute units sample may have been measured +at an energy different from the sample of interest. Parameters in +italics are controlled by the `instrument parameter file +(IPF) `__ unless provided to the algorithm via +a property manager. The mappings are given below. + ++-------------------------+----------------------+ +| Parameter | IPF Mapping | ++=========================+======================+ +| VanadiumMass | vanadium-mass | ++-------------------------+----------------------+ +| AbsUnitsMinimumEnergy | monovan-integr-min | ++-------------------------+----------------------+ +| AbsUnitsMaximumEnergy | monovan-integr-max | ++-------------------------+----------------------+ + +The last two parameters are used to create a single bin for the *Rebin* +algorithm. The dashed oval parameter, VanadiumRmm, is taken from the +atomic information for the molecular mass of Vanadium. The open circle +represents detector diagnostic parameters and they are detailed in the +table below. + ++-----------------------------+----------------------+-------------------------------------------------------+ +| Parameter | IPF Mapping | :ref:`algm-DetectorDiagnostic` Mapping | ++=============================+======================+=======================================================+ +| HighCounts | diag\_huge | HighThreshold | ++-----------------------------+----------------------+-------------------------------------------------------+ +| LowCounts | diag\_tiny | LowThreshold | ++-----------------------------+----------------------+-------------------------------------------------------+ +| AbsUnitsLowOutlier | monovan\_lo\_bound | LowOutlier | ++-----------------------------+----------------------+-------------------------------------------------------+ +| AbsUnitsHighOutlier | monovan\_hi\_bound | HighOutlier | ++-----------------------------+----------------------+-------------------------------------------------------+ +| AbsUnitsMedianTestLow | monovan\_lo\_frac | LowThresholdFraction | ++-----------------------------+----------------------+-------------------------------------------------------+ +| AbsUnitsMedianTestHigh | monovan\_hi\_frac | HighThresholdFraction | ++-----------------------------+----------------------+-------------------------------------------------------+ +| AbsUnitsErrorBarCriterion | diag\_samp\_sig | SignificanceTest | ++-----------------------------+----------------------+-------------------------------------------------------+ + +If a detector vanadium is used, the processed sample workspace is +multiplied by a factor containing the sample mass (SampleMass), sample +molecular mass (SampleRmm) and the cross-section (Scattering XSec) given +by: +:math:`\frac{(\sigma^{V}_{incoherent}+\sigma^{V}_{coherent})\times10^{3}}{4\pi}` +with the cross-section units of :math:`millibarns/steradian`. + +Workflow +######## + +.. figure:: /images/DgsAbsoluteUnitsReductionWorkflow.png + :alt: DgsAbsoluteUnitsReductionWorkflow.png + + DgsAbsoluteUnitsReductionWorkflow.png + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/DgsConvertToEnergyTransfer-v1.rst b/Code/Mantid/docs/source/algorithms/DgsConvertToEnergyTransfer-v1.rst new file mode 100644 index 000000000000..9c51af325455 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/DgsConvertToEnergyTransfer-v1.rst @@ -0,0 +1,48 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm is responsible for making the conversion from +time-of-flight to energy transfer for direct geometry spectrometers. The +diagram below shows the workflow for the algorithm. The SNS instruments +have a log called EnergyRequest which allows the IncidentEnergyGuess +parameter to be left blank. Also, SNS instruments need to pass a monitor +workspace to *GetEi* since they are separate from the sample workspace. +Parameters in italics are controlled by the `instrument parameter file +(IPF) `__ unless provided to the algorithm via +a property manager. The mappings are given below. + ++--------------------+------------------+ +| Parameter | IPF Mapping | ++====================+==================+ +| TibTofRangeStart | bkgd-range-min | ++--------------------+------------------+ +| TibTofRangeEnd | bkgd-range-max | ++--------------------+------------------+ + +Parameters in italics with dashed perimeters are only controllable by +the IPF name given. All underlined parameters are fixed and not +controllable. The EnergyTransferRange parameter takes the canonical +Mantid notation of (start, step, stop). However, it can be left blank +and the following values will be used +:math:`(-0.5E^{Guess}_{i}, 0.01E^{Guess}_{i}, 0.99E^{Guess}_{i})`. + +The use of the SofPhiEIsDistribution parameter in the last Rebin call is +used to set the *Rebin* algorithm parameter PreserveEvents. + +Workflow +######## + +.. figure:: /images/DgsConvertToEnergyTransferWorkflow.png + :alt: DgsConvertToEnergyTransferWorkflow.png + + DgsConvertToEnergyTransferWorkflow.png + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/DgsDiagnose-v1.rst b/Code/Mantid/docs/source/algorithms/DgsDiagnose-v1.rst new file mode 100644 index 000000000000..c4554e52ebb2 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/DgsDiagnose-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + + + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/DgsPreprocessData-v1.rst b/Code/Mantid/docs/source/algorithms/DgsPreprocessData-v1.rst new file mode 100644 index 000000000000..d6e9fc2e3c3c --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/DgsPreprocessData-v1.rst @@ -0,0 +1,42 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm is responsible for normalising data via a given incident +beam parameter. This parameter, IncidentBeamNormalisation, is controlled +from the reduction property manager. It can have the values *None*, +*ByCurrent* or *ByMonitor*. For SNS, monitor workspaces need to be +passed. Parameters in italics are controlled by the `instrument +parameter file (IPF) `__ unless provided to the +algorithm via a property manager. The mappings are given below. + ++-----------------------+-----------------+ +| Parameter | IPF Mapping | ++=======================+=================+ +| MonitorIntRangeLow | norm-mon1-min | ++-----------------------+-----------------+ +| MonitorIntRangeHigh | norm-mon1-max | ++-----------------------+-----------------+ + +Parameters in italics with dashed perimeters are only controllable by +the IPF name given. All underlined parameters are fixed via other input +method. If normalisation is performed, a sample log called +DirectInelasticReductionNormalisedBy is added to the resulting workspace +with the normalisation procedure used. + +Workflow +######## + +.. figure:: /images/DgsPreprocessDataWorkflow.png + :alt: DgsPreprocessDataWorkflow.png + + DgsPreprocessDataWorkflow.png + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/DgsProcessDetectorVanadium-v1.rst b/Code/Mantid/docs/source/algorithms/DgsProcessDetectorVanadium-v1.rst new file mode 100644 index 000000000000..47058060b8d6 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/DgsProcessDetectorVanadium-v1.rst @@ -0,0 +1,44 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm is responsible for processing the detector vanadium in +the form required for the sample data normalisation in the convert to +energy transfer process. Parameters in italics are controlled by the +`instrument parameter file (IPF) `__ unless +provided to the algorithm via a property manager. The mappings are given +below. + ++----------------------+-----------------+ +| Parameter | IPF Mapping | ++======================+=================+ +| DetVanIntRangeLow | wb-integr-min | ++----------------------+-----------------+ +| DetVanIntRangeHigh | wb-integr-max | ++----------------------+-----------------+ + +Parameters in italics with dashed perimeters are only controllable by +the IPF name given. All underlined parameters are fixed and not +controllable. If the input detector vanadium is in TOF units and that is +the requested units for integration, the *ConvertUnits* algorithm does +not run. The range parameters feeding into *Rebin* are used to make a +single bin. The resulting integrated vanadium workspace can be saved to +a file using the reduction property manager with the boolean property +SaveProcessedDetVan. + +Workflow +######## + +.. figure:: /images/DgsProcessDetectorVanadiumWorkflow.png + :alt: DgsProcessDetectorVanadiumWorkflow.png + + DgsProcessDetectorVanadiumWorkflow.png + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/DgsReduction-v1.rst b/Code/Mantid/docs/source/algorithms/DgsReduction-v1.rst new file mode 100644 index 000000000000..1d29e6294229 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/DgsReduction-v1.rst @@ -0,0 +1,30 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This is the top-level workflow algorithm for direct geometry +spectrometer data reduction. This algorithm is responsible for gathering +the necessary parameters and generating calls to other workflow or +standard algorithms. + +Workflow +######## + +Parameters for the child algorithms are not shown due to sheer number. +They will be detailed in the child algorithm diagrams. Items in +parallelograms are output workspaces from their respective algorithms. +Not all output workspaces are subsequently used by other algorithms. + +.. figure:: /images/DgsReductionWorkflow.png + :alt: DgsReductionWorkflow.png + + DgsReductionWorkflow.png + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/DgsRemap-v1.rst b/Code/Mantid/docs/source/algorithms/DgsRemap-v1.rst new file mode 100644 index 000000000000..06c0c79aec2c --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/DgsRemap-v1.rst @@ -0,0 +1,24 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm is responsible for masking and grouping the given input +workspace. One can use the ExecuteOppositeOrder to do grouping first +then masking. + +Workflow +######## + +.. figure:: /images/DgsRemapWorkflow.png + :alt: DgsRemapWorkflow.png + + DgsRemapWorkflow.png + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/DiffPeaksWorkspaces-v1.rst b/Code/Mantid/docs/source/algorithms/DiffPeaksWorkspaces-v1.rst new file mode 100644 index 000000000000..067937d7325e --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/DiffPeaksWorkspaces-v1.rst @@ -0,0 +1,20 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm takes an input workspace (the LHSWorkspace) and removes +from it's list of peaks any that are also found in a second workspace +(the RHSWorkspace) in the same position in Q space within the specified +tolerance. Each peak in the RHSWorkspace is taken in turn and compared +to each peak in the LHSWorkspace in turn. The first match encountered is +used, and the matching peak removed from the output before moving onto +the next RHSWorkspace peak. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/DiffractionEventCalibrateDetectors-v1.rst b/Code/Mantid/docs/source/algorithms/DiffractionEventCalibrateDetectors-v1.rst new file mode 100644 index 000000000000..834a9ac43b3c --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/DiffractionEventCalibrateDetectors-v1.rst @@ -0,0 +1,16 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Moves the detectors in an instrument to optimize the maximum intensity +of each detector using gsl\_multimin\_fminimizer\_nmsimplex. Only bin +data close to peak you wish to maximize. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/DiffractionFocussing-v1.rst b/Code/Mantid/docs/source/algorithms/DiffractionFocussing-v1.rst new file mode 100644 index 000000000000..21000ca82361 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/DiffractionFocussing-v1.rst @@ -0,0 +1,55 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +|Example of RAW GEM data focused across the 5 detector banks| Given an +InputWorkspace and a Grouping filename, the algorithm performs the +following: + +#. The calibration file is read and a map of corresponding udet-group is + created. +#. The algorithm determine the X boundaries for each group as the upper + and lower limits of all contributing detectors to this group and + determine a logarithmic step that will ensure preserving the number + of bins in the initial workspace. +#. All histograms are read and rebinned to the new grid for their group. +#. A new workspace with N histograms is created. + +Within the `CalFile `__ any detectors with the 'select' flag +can be set to zero or with a group number of 0 or -ve groups are not +included in the analysis. + +Since the new X boundaries depend on the group and not the entire +workspace, this focusing algorithm does not create overestimated X +ranges for multi-group instruments. However it is important to remember +that this means that this algorithm outputs a `ragged +workspace `__. Some 2D and 3D plots will not display +the data correctly. + +The DiffractionFocussing algorithm uses GroupDetectors algorithm to +combine data from several spectra according to GroupingFileName file +which is a `CalFile `__. + +For EventWorkspaces +################### + +The algorithm can be used with an `EventWorkspace `__ +input, and will create an EventWorkspace output if a different workspace +is specified. + +The main difference vs. using a Workspace2D is that the event lists from +all the incoming pixels are simply appended in the grouped spectra; this +means that you can rebin the resulting spectra to finer bins with no +loss of data. In fact, it is unnecessary to bin your incoming data at +all; binning can be performed as the very last step. + +.. |Example of RAW GEM data focused across the 5 detector banks| image:: /images/GEM_Focused.png + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/DiffractionFocussing-v2.rst b/Code/Mantid/docs/source/algorithms/DiffractionFocussing-v2.rst new file mode 100644 index 000000000000..a765a7ca6ab0 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/DiffractionFocussing-v2.rst @@ -0,0 +1,121 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +|Example of RAW GEM data focused across the 5 detector banks| Given an +InputWorkspace and a Grouping filename, the algorithm performs the +following: + +#. The calibration file is read and a map of corresponding udet-group is + created. +#. The algorithm determine the X boundaries for each group as the upper + and lower limits of all contributing detectors to this group and + determine a logarithmic step that will ensure preserving the number + of bins in the initial workspace. +#. All histograms are read and rebinned to the new grid for their group. +#. A new workspace with N histograms is created. + +Within the `CalFile `__ any detectors with the 'select' flag +can be set to zero or with a group number of 0 or -ve groups are not +included in the analysis. + +Since the new X boundaries depend on the group and not the entire +workspace, this focusing algorithm does not create overestimated X +ranges for multi-group instruments. However it is important to remember +that this means that this algorithm outputs a `ragged +workspace `__. Some 2D and 3D plots will not display +the data correctly. + +The DiffractionFocussing algorithm uses GroupDetectors algorithm to +combine data from several spectra according to GroupingFileName file +which is a `CalFile `__. + +For EventWorkspaces +################### + +The algorithm can be used with an `EventWorkspace `__ +input, and will create an EventWorkspace output if a different workspace +is specified. + +The main difference vs. using a Workspace2D is that the event lists from +all the incoming pixels are simply appended in the grouped spectra; this +means that you can rebin the resulting spectra to finer bins with no +loss of data. In fact, it is unnecessary to bin your incoming data at +all; binning can be performed as the very last step. + +Usage +----- + +.. include:: ../usagedata-note.txt + +**Example - Diffraction focussing of HRPD data:** + +.. testcode:: ExHRPDFocussing + + # Load HRP dataset + ws = Load("HRP39180.RAW") + + # specify groupping file, here using CalFile format + cal_file = "hrpd_new_072_01_corr.cal" + + # For HRPD data, perform a unit convertion TOF->d-spacing, taking into account detector position offsets + ws = AlignDetectors(InputWorkspace='ws',CalibrationFile=cal_file) + # Focus the data + ws = DiffractionFocussing(InputWorkspace='ws',GroupingFileName=cal_file) + + print("The 51st y-value is: %.3f" % ws.readY(0)[50]) + +.. testcleanup:: ExHRPDFocussing + + DeleteWorkspace(ws) + +Output: + +.. testoutput:: ExHRPDFocussing + + The 51st y-value is: 900.709 + +**Example - Demonstrating option PreserveEvents:** + +.. testcode:: ExEventFocussing + + # create event workspace with one bank of 4 detectors + ws = CreateSampleWorkspace(WorkspaceType="Event", XUnit="dSpacing", NumBanks=1, BankPixelWidth=2) + + # focus data in 4 spectra to 2 spectra according to .cal file and don't perserve events + ws = DiffractionFocussing(InputWorkspace='ws', GroupingFileName="4detector_cal_example_file.cal" \ + , PreserveEvents=False) + + print "Number of focussed spectra: " + str(ws.getNumberHistograms()) + print "What type is the workspace after focussing: " + str(type(ws)) + +.. testcleanup:: ExEventFocussing + + DeleteWorkspace(ws) + +Output: + +.. testoutput:: ExEventFocussing + + Number of focussed spectra: 2 + What type is the workspace after focussing: + +Previous Versions +----------------- + +Version 1 +######### + +Version 1 did not support the use of workspaces to carry grouping +workspaces and only worked with CalFiles. + +.. |Example of RAW GEM data focused across the 5 detector banks| image:: /images/GEM_Focused.png + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/Divide-v1.rst b/Code/Mantid/docs/source/algorithms/Divide-v1.rst new file mode 100644 index 000000000000..260c74b8d8b1 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/Divide-v1.rst @@ -0,0 +1,20 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +.. raw:: mediawiki + + {{BinaryOperation|verb=divided|prep=by|symbol=\div}} + +.. raw:: mediawiki + + {{BinaryOperationFooterMultiply|verb=divided|prep=by|symbol=\div}} + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/DivideMD-v1.rst b/Code/Mantid/docs/source/algorithms/DivideMD-v1.rst new file mode 100644 index 000000000000..239425dd5319 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/DivideMD-v1.rst @@ -0,0 +1,35 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Divide two `MDHistoWorkspace `__'s or a +MDHistoWorkspace and a scalar. + +The error of :math:`f = a / b` is propagated with +:math:`df^2 = f^2 * (da^2 / a^2 + db^2 / b^2)` + +- **MDHistoWorkspace / MDHistoWorkspace** + + - The operation is performed element-by-element. + +- **MDHistoWorkspace / Scalar** + + - Every element of the MDHistoWorkspace is divided by the scalar. + +- **Scalar / MDHistoWorkspace** + + - This is not allowed. + +- **`MDEventWorkspace `__'s** + + - This operation is not supported, as it is not clear what its + meaning would be. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/DownloadRemoteFile-v1.rst b/Code/Mantid/docs/source/algorithms/DownloadRemoteFile-v1.rst new file mode 100644 index 000000000000..225acbacec0c --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/DownloadRemoteFile-v1.rst @@ -0,0 +1,17 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Download a file from a remote compute resource. + +For more details, see the `remote job submission API +docs `__. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/EQSANSAzimuthalAverage1D-v1.rst b/Code/Mantid/docs/source/algorithms/EQSANSAzimuthalAverage1D-v1.rst new file mode 100644 index 000000000000..f56990d29dfb --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/EQSANSAzimuthalAverage1D-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Compute I(q) for reduced EQSANS data + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/EQSANSDarkCurrentSubtraction-v1.rst b/Code/Mantid/docs/source/algorithms/EQSANSDarkCurrentSubtraction-v1.rst new file mode 100644 index 000000000000..a0679948053b --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/EQSANSDarkCurrentSubtraction-v1.rst @@ -0,0 +1,25 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Subtract the dark current from an EQSANS data set. This workflow +algorithm will: + +- Properly load the dark current data set + +- Normalize the dark current to the data taking period + +- Subtract the dark current from the input workspace + +See `SANS +Reduction `__ +documentation for details. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/EQSANSDirectBeamTransmission-v1.rst b/Code/Mantid/docs/source/algorithms/EQSANSDirectBeamTransmission-v1.rst new file mode 100644 index 000000000000..f5b16b90926d --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/EQSANSDirectBeamTransmission-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Compute the transmission using the direct beam method on EQSANS + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/EQSANSLoad-v1.rst b/Code/Mantid/docs/source/algorithms/EQSANSLoad-v1.rst new file mode 100644 index 000000000000..dfc6c0bdd4ad --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/EQSANSLoad-v1.rst @@ -0,0 +1,30 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Workflow algorithm that loads EQSANS event data and applies basic +corrections to the workspace. Those include: + +- Moving the detector at its proper position in Z + +- Moving the detector according to the beam center + +- Correcting the TOF + +- Applying TOF cuts + +- Gathering meta-data information such as configuration mask and +moderator position + +See `SANS +Reduction `__ +documentation for details. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/EQSANSMonitorTOF-v1.rst b/Code/Mantid/docs/source/algorithms/EQSANSMonitorTOF-v1.rst new file mode 100644 index 000000000000..0c1144624b94 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/EQSANSMonitorTOF-v1.rst @@ -0,0 +1,15 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Converts the TOF into a wavelength for the beam monitor. This algorithm +needs to be run once on every data set. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/EQSANSNormalise-v1.rst b/Code/Mantid/docs/source/algorithms/EQSANSNormalise-v1.rst new file mode 100644 index 000000000000..a97c1fc3a5c5 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/EQSANSNormalise-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Normalise detector counts by accelerator current and beam spectrum. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/EQSANSPatchSensitivity-v1.rst b/Code/Mantid/docs/source/algorithms/EQSANSPatchSensitivity-v1.rst new file mode 100644 index 000000000000..69a681774293 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/EQSANSPatchSensitivity-v1.rst @@ -0,0 +1,15 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Calculate the detector sensitivity and patch the pixels that are masked +in a second workspace. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/EQSANSQ2D-v1.rst b/Code/Mantid/docs/source/algorithms/EQSANSQ2D-v1.rst new file mode 100644 index 000000000000..f21360b5d7a6 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/EQSANSQ2D-v1.rst @@ -0,0 +1,19 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Computes I(Qx,Qy) for EQSANS data using Qxy to each frame, as +appropriate. + +See `SANS +Reduction `__ +documentation for details. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/EQSANSResolution-v1.rst b/Code/Mantid/docs/source/algorithms/EQSANSResolution-v1.rst new file mode 100644 index 000000000000..c4554e52ebb2 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/EQSANSResolution-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + + + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/EQSANSTofStructure-v1.rst b/Code/Mantid/docs/source/algorithms/EQSANSTofStructure-v1.rst new file mode 100644 index 000000000000..ad5dd28420b3 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/EQSANSTofStructure-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Documentation to come. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/EditInstrumentGeometry-v1.rst b/Code/Mantid/docs/source/algorithms/EditInstrumentGeometry-v1.rst new file mode 100644 index 000000000000..c8c2f6b9f5f7 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/EditInstrumentGeometry-v1.rst @@ -0,0 +1,58 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm can + +| ``1. add an Instrument to a Workspace without any real instrument associated with, or`` +| ``2. replace a Workspace's Instrument with a new Instrument, or`` +| ``3. edit all detectors' parameters of the instrument associated with a Workspace (partial instrument editing is not supported). `` + +Requirements on input properties +-------------------------------- + +1. PrimaryFightPath (L1): If it is not given, L1 will be the distance +between source and sample in the original instrument. Otherwise, L1 is +read from input. The source position of the modified instrument is (0, +0, -L1); + +2. SpectrumIDs: If not specified (empty list), then SpectrumIDs will be +set up to any array such that SpectrumIDs[wsindex] is the spectrum ID of +workspace index 'wsindex'; + +3. L2 and Polar cannot be empty list; + +4. SpectrumIDs[i], L2[i], Polar[i], Azimuthal[i] and optional +DetectorIDs[i] correspond to the detector of a same spectrum. + +Limitations +----------- + +There are some limitations of this algorithm. + +1. The key to locate the detector is via spectrum ID; + +2. For each spectrum, there is only one and only one new detector. Thus, +if one spectrum is associated with a group of detectors previously, the +replacement (new) detector is the one which is (diffraction) focused on +after this algorithm is called. + +Instruction +----------- + +1. For powder diffractomer with 3 spectra, user can input + +| ``  SpectrumIDs = "1, 3, 2"`` +| ``  L2 = "3.1, 3.2, 3.3"`` +| ``  Polar = "90.01, 90.02, 90.03"`` +| ``  Azimuthal = "0.1,0.2,0.3"`` +| ``  to set up the focused detectors' parameters for spectrum 1, 3 and 2.`` + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ElasticWindow-v1.rst b/Code/Mantid/docs/source/algorithms/ElasticWindow-v1.rst new file mode 100644 index 000000000000..233eefa0c4a4 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ElasticWindow-v1.rst @@ -0,0 +1,18 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm Integrates over the range specified, converts the +spectrum axis into units of Q and Q^2 and Transposes the result +workspaces. + +There are two output workspaces. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/EqualToMD-v1.rst b/Code/Mantid/docs/source/algorithms/EqualToMD-v1.rst new file mode 100644 index 000000000000..2b9a464fb982 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/EqualToMD-v1.rst @@ -0,0 +1,22 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Perform the == (equals to) boolean operation on two MDHistoWorkspaces or +a MDHistoWorkspace and a scalar. The output workspace has a signal of +0.0 to mean "false" and a signal of 1.0 to mean "true". Errors are 0. + +For two MDHistoWorkspaces, the operation is performed +element-by-element. Only the signal is compared. + +For a MDHistoWorkspace and a scalar, the operation is performed on each +element of the output. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/EstimatePDDetectorResolution-v1.rst b/Code/Mantid/docs/source/algorithms/EstimatePDDetectorResolution-v1.rst new file mode 100644 index 000000000000..bedbb93a559a --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/EstimatePDDetectorResolution-v1.rst @@ -0,0 +1,57 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Instrument resolution +--------------------- + +Resolution of a detector in d-spacing is defined as +:math:`\frac{\Delta d}{d}`, which is constant for an individual +detector. + +Starting from the Bragg equation for T.O.F. diffractometer, + +.. math:: d = \frac{t}{252.777\cdot L\cdot2\sin\theta} + +as + +.. math:: \Delta d = \sqrt{(\Delta T)^2 + (\Delta L)^2 + (\Delta\theta)^2} + +and thus + +.. math:: \frac{\Delta d}{d} = \sqrt{(\frac{\Delta T}{T})^2 + (\frac{\Delta L}{L})^2 + (\Delta\theta\cdot\cot(\theta))^2} + +where, + +- :math:`\Delta T` is the time resolution from modulator; +- :math:`\Delta\theta` is the coverage of the detector, and can be + approximated from the square root of the solid angle of the detector + to sample; +- :math:`L` is the flight path of the neutron from source to detector. + +Factor Sheet +------------ + +NOMAD +##### + +Detector size + +- vertical: 1 meter / 128 pixel +- Horizontal: half inch or 1 inch + +POWGEN +###### + +Detector size: 0.005 x 0.0543 + +Range of :math:`\Delta\theta\cot\theta`: :math:`(0.00170783, 0.0167497)` + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ExaminePowderDiffProfile-v1.rst b/Code/Mantid/docs/source/algorithms/ExaminePowderDiffProfile-v1.rst new file mode 100644 index 000000000000..b8c7b8ea13e9 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ExaminePowderDiffProfile-v1.rst @@ -0,0 +1,15 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm is to examine peak profile values for powder +diffractometry by LeBailFit. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/Exponential-v1.rst b/Code/Mantid/docs/source/algorithms/Exponential-v1.rst new file mode 100644 index 000000000000..5ac0d499056c --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/Exponential-v1.rst @@ -0,0 +1,18 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The algorithm will apply the exponential function (i.e. :math:`e^y`) to +the data and associated errors from a workspaces. The units of the +workspace are not updated, so the user must take care in the use of such +output workspaces. When acting on an event workspace, the output will be +a Workspace2D, with the default binning from the original workspace. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ExponentialCorrection-v1.rst b/Code/Mantid/docs/source/algorithms/ExponentialCorrection-v1.rst new file mode 100644 index 000000000000..c064a7e9f580 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ExponentialCorrection-v1.rst @@ -0,0 +1,20 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm corrects the data and error values on a workspace by the +value of an exponential function of the form +:math:`{\rm C0} e^{-{\rm C1} x}`. This formula is calculated for each +data point, with the value of *x* being the mid-point of the bin in the +case of histogram data. The data and error values are either divided or +multiplied by the value of this function, according to the setting of +the Operation property. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ExponentialMD-v1.rst b/Code/Mantid/docs/source/algorithms/ExponentialMD-v1.rst new file mode 100644 index 000000000000..ed6216bbc9ad --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ExponentialMD-v1.rst @@ -0,0 +1,23 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This executes the exponential function on a MDHistoWorkspace. + +The signal :math:`a` becomes :math:`f = e^a` + +The error :math:`da` becomes :math:`df^2 = f^2 * da^2` + +This algorithm cannot be run on a +`MDEventWorkspace `__. Its equivalent on a +`MatrixWorkspace `__ is called +:ref:`algm-Exponential`. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ExportExperimentLog-v1.rst b/Code/Mantid/docs/source/algorithms/ExportExperimentLog-v1.rst new file mode 100644 index 000000000000..a2f66971b71e --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ExportExperimentLog-v1.rst @@ -0,0 +1,75 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Algorithm ExportExperimentLog obtains run information, sample +information and sample log information from a MatrixWorkspace and write +them to a csv file. + +File Mode +--------- + +There are 3 modes to write the experiment log file. + +1. "new": A new file will be created with header line; + +2. "appendfast": A line of experiment log information will be appended +to an existing file; + +- It is assumed that the log names given are exactly same as those in + the file, as well as their order; +- Input property *SampleLogTitles* will be ignored in this option; + +3. "append": A line of experiment log information will be appended to an +existing file; + +- The algorithm will check whether the specified log file names, titles + and their orders are exactly same as those in the file to append to; +- If any difference is deteced, the old file will be renamed in the + same directory. And a new file will be generated. + +Missing Sample Logs +------------------- + +If there is any sample log specified in the properites but does not +exist in the workspace, a zero float value will be put to the experiment +log information line, as the preference of instrument scientist. + +Sample Log Operation +-------------------- + +If the type of a sample log is TimeSeriesProperty, it must be one of the +following 5 types. + +- "min": minimum TimeSeriesProperty's values; +- "max": maximum TimeSeriesProperty's values; +- "average": average of TimeSeriesProperty's values; +- "sum": summation of TimeSeriesProperty's values; +- "0": first value of TimeSeriesProperty's value. + +If the type of a sample log is string and in fact it is a string for +time, then there will an option as + +- "localtime": convert the time from UTC (default) to local time + +Otherwise, there is no operation required. For example, log 'duration' +or 'run\_number' does not have any operation on its value. An empty +string will serve for them in property 'SampleLogOperation'. + +File format +----------- + +There are two types of output file formats that are supported. They are +csv (comma seperated) file and tsv (tab separated) file. The csv file +must have an extension as ".csv". If a user gives the name of a log +file, which is in csv format, does not have an extension as .csv, the +algorithm will correct it automatically. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ExportSampleLogsToCSVFile-v1.rst b/Code/Mantid/docs/source/algorithms/ExportSampleLogsToCSVFile-v1.rst new file mode 100644 index 000000000000..714f040b6f68 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ExportSampleLogsToCSVFile-v1.rst @@ -0,0 +1,28 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Header file +----------- + +- Line 0: Test date: [Test date in string] +- Line 1: Test description: [Description of this log file] +- Line 2: Header content given by user via input property *Header*. + Usually it is the column names in the .csv file + +CSV File format +--------------- + +- Column 0: Absolute time in second +- Column 1: Relative to first log entry's time +- Column 2 to (2 + n) - 1: log values in the order determined by input + *SampleLogNames* + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ExportTimeSeriesLog-v1.rst b/Code/Mantid/docs/source/algorithms/ExportTimeSeriesLog-v1.rst new file mode 100644 index 000000000000..af687f45e434 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ExportTimeSeriesLog-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Export TimeSeriesProperty log in a Workspace to a MatrixWorkspace + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ExtractFFTSpectrum-v1.rst b/Code/Mantid/docs/source/algorithms/ExtractFFTSpectrum-v1.rst new file mode 100644 index 000000000000..1df93c0fbb67 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ExtractFFTSpectrum-v1.rst @@ -0,0 +1,52 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm iterates the :ref:`algm-FFT` algorithm on each spectrum of +InputWorkspace, computing the Fourier Transform and storing the +transformed spectrum in OutputWorkspace. If InputImagWorkspace is also +passed, then the pair spectrum *i* of InputWorkspace (real) and spectrum +*i* of InputImagWorkspace (real) are taken together as spectrum *i* of a +complex workspace, on which :ref:`algm-FFT` is applied. + +The FFTPart parameter specifies which transform is selected from the +output of the :ref:`algm-FFT` algorithm: + +For the case of input containing real and imaginary workspaces: + ++-----------+------------------------------+ +| FFTPart | Description | ++===========+==============================+ +| 0 | Complete real part | ++-----------+------------------------------+ +| 1 | Complete imaginary part | ++-----------+------------------------------+ +| 2 | Complete transform modulus | ++-----------+------------------------------+ + +For the case of input containing no imaginary workspace: + ++-----------+----------------------------------------+ +| FFTPart | Description | ++===========+========================================+ +| 0 | Real part, positive frequencies | ++-----------+----------------------------------------+ +| 1 | Imaginary part, positive frequencies | ++-----------+----------------------------------------+ +| 2 | Modulus, positive frequencies | ++-----------+----------------------------------------+ +| 3 | Complete real part | ++-----------+----------------------------------------+ +| 4 | Complete imaginary part | ++-----------+----------------------------------------+ +| 5 | Complete transform modulus | ++-----------+----------------------------------------+ + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ExtractMask-v1.rst b/Code/Mantid/docs/source/algorithms/ExtractMask-v1.rst new file mode 100644 index 000000000000..fe97bd17207e --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ExtractMask-v1.rst @@ -0,0 +1,21 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The masking from the InputWorkspace property is extracted by creating a +new MatrixWorkspace with a single X bin where: + +- 0 = masked; +- 1 = unmasked. + +The spectra containing 0 are also marked as masked and the instrument +link is preserved so that the instrument view functions correctly. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ExtractMaskToTable-v1.rst b/Code/Mantid/docs/source/algorithms/ExtractMaskToTable-v1.rst new file mode 100644 index 000000000000..cfe25fcd3b5e --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ExtractMaskToTable-v1.rst @@ -0,0 +1,35 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +InputWorskpace +############## + +It can be either a MaskWorkspace, containing the masking information, or +a Data workspace (EventWorkspace or Workspace2D), having detectors +masked. + +Optional MaskTableWorkspace +########################### + +If the optional input 'MaskTableWorkspace' is given, it must be a table +workspace having the same format as output TableWorkspace such that it +contains 3 columns, XMin, XMax and DetectorIDsList. + +The contents in this mask table workspace will be copied to output +workspace. + +If a detector is masked in this input 'MaskTableWorkspace', and it is +also masked in input MaskWorkspace or data workspace, the setup (Xmin +and Xmax) in MaskTableWorkspace has higher priority, i.e., in the output +mask table workspace, the masked detector will be recorded in the row +copied from input MaskTableWrokspace. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ExtractSingleSpectrum-v1.rst b/Code/Mantid/docs/source/algorithms/ExtractSingleSpectrum-v1.rst new file mode 100644 index 000000000000..5f18410add74 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ExtractSingleSpectrum-v1.rst @@ -0,0 +1,15 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Extracts a single spectrum from a `Workspace2D `__ and +stores it in a new workspace. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/FFT-v1.rst b/Code/Mantid/docs/source/algorithms/FFT-v1.rst new file mode 100644 index 000000000000..7debf3991362 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/FFT-v1.rst @@ -0,0 +1,176 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The FFT algorithm performs discrete Fourier transform of complex data +using the Fast Fourier Transform algorithm. It uses the GSL Fourier +transform functions to do the calculations. Due to the nature of the +fast fourier transform the input spectra must have linear x axes. If the +imaginary part is not set the data is considered real. The "Transform" +property defines the direction of the transform: direct ("Forward") or +inverse ("Backward"). + +Note that the input data is shifted before the transform along the x +axis to place the origin in the middle of the x-value range. It means +that for the data defined on an interval [A,B] the output +:math:`F(\xi_k)` must be multiplied by :math:`e^{-2\pi ix_0\xi_k}`, +where :math:`x_0=\tfrac{1}{2}(A+B)`, :math:`\xi_k` is the frequency. + +Details +------- + +The Fourier transform of a complex function :math:`f(x)` is defined by +equation: + +.. math:: F(\xi)=\int_{-\infty}^\infty f(x)e^{-2\pi ix\xi} dx + +For discrete data with equally spaced :math:`x_n` and only non-zero on +an interval :math:`[A,B]` the integral can be approximated by a sum: + +.. math:: F(\xi)=\Delta x\sum_{n=0}^{N-1}f(x_n)e^{-2\pi ix_n\xi} + +Here :math:`\Delta x` is the bin width, :math:`x_n=A+\Delta xn`. If we +are looking for values of the transformed function :math:`F` at discrete +frequencies :math:`\xi_k=\Delta\xi k` with + +.. math:: \Delta\xi=\frac{1}{B-A}=\frac{1}{L}=\frac{1}{N\Delta x} + +the equation can be rewritten: + +.. math:: F_k=e^{-2\pi iA\xi_k}\Delta x\sum_{n=0}^{N-1}f_ne^{-\tfrac{2\pi i}{N}nk} + +Here :math:`f_n=f(x_n)` and :math:`F_k=F(\xi_k)`. The formula + +.. math:: \tilde{F}_k=\Delta x\sum_{n=0}^{N-1}f_ne^{-\tfrac{2\pi i}{N}nk} + +is the Discrete Fourier Transform (DFT) and can be efficiently evaluated +using the Fast Fourier Transform algorithm. The DFT formula calculates +the Fourier transform of data on the interval :math:`[0,L]`. It should +be noted that it is periodic in :math:`k` with period :math:`N`. If we +also assume that :math:`f_n` is also periodic with period :math:`N` the +DFT can be used to transform data on the interval :math:`[-L/2,L/2]`. To +do this we swap the two halves of the data array :math:`f_n`. If we +denote the modified array as :math:`\bar{f}_n`, its transform will be + +.. math:: \bar{F}_k=\Delta x\sum_{n=0}^{N-1}\bar{f}_ne^{-\tfrac{2\pi i}{N}nk} + +The Mantid FFT algorithm returns the complex array :math:`\bar{F}_K` as +Y values of two spectra in the output workspace, one for the real and +the other for the imaginary part of the transform. The X values are set +to the transform frequencies and have the range approximately equal to +:math:`[-N/L,N/L]`. The actual limits depend sllightly on whether +:math:`N` is even or odd and whether the input spectra are histograms or +point data. The variations are of the order of :math:`\Delta\xi`. The +zero frequency is always in the bin with index :math:`k=int(N/2)`. + +Example 1 +######### + +In this example the input data were calculated using function +:math:`\exp(-(x-1)^2)` in the range [-5,5]. + +.. figure:: /images/FFTGaussian1.png + :alt: Gaussian + + Gaussian +.. figure:: /images/FFTGaussian1FFT.png + :alt: FFT of a Gaussian + + FFT of a Gaussian +Because the :math:`x=0` is in the middle of the data array the transform +shown is the exact DFT of the input data. + +Example 2 +######### + +In this example the input data were calculated using function +:math:`\exp(-x^2)` in the range [-6,4]. + +.. figure:: /images/FFTGaussian2.png + :alt: Gaussian + + Gaussian +.. figure:: /images/FFTGaussian1FFT.png + :alt: FFT of a Gaussian + + FFT of a Gaussian +Because the :math:`x=0` is not in the middle of the data array the +transform shown includes a shifting factor of :math:`\exp(2\pi i\xi)`. +To remove it the output must be mulitplied by :math:`\exp(-2\pi i\xi)`. +The corrected transform will be: + +.. figure:: /images/FFTGaussian2FFT.png + :alt: FFT of a Gaussian + + FFT of a Gaussian +It should be noted that in a case like this, i.e. when the input is a +real positive even function, the correction can be done by finding the +transform's modulus :math:`(Re^2+Im^2)^{1/2}`. The output workspace +includes the modulus of the transform. + +Output +------ + +The output workspace for a direct ("Forward") transform contains either +three or six spectra, depending on whether the input function is complex +or purely real. If the input function has an imaginary part, the +transform is written to three spectra with indexes 0, 1, and 2. Indexes +0 and 1 are the real and imaginary parts, while index 2 contains the +modulus :math:`\sqrt{Re^2+Im^2}`. If the input function does not contain +an spectrum for the imaginary part (purely real function), the actual +transform is written to spectra with indexes 3 and 4 which are the real +and imaginary parts, respectively. The last spectrum (index 5) has the +modulus of the transform. The spectra from 0 to 2 repeat these results +for positive frequencies only. + +Output for the case of input function containing imaginary part: + ++-------------------+------------------------------+ +| Workspace index | Description | ++===================+==============================+ +| 0 | Complete real part | ++-------------------+------------------------------+ +| 1 | Complete imaginary part | ++-------------------+------------------------------+ +| 2 | Complete transform modulus | ++-------------------+------------------------------+ + +Output for the case of input function containing no imaginary part: + ++-------------------+----------------------------------------+ +| Workspace index | Description | ++===================+========================================+ +| 0 | Real part, positive frequencies | ++-------------------+----------------------------------------+ +| 1 | Imaginary part, positive frequencies | ++-------------------+----------------------------------------+ +| 2 | Modulus, positive frequencies | ++-------------------+----------------------------------------+ +| 3 | Complete real part | ++-------------------+----------------------------------------+ +| 4 | Complete imaginary part | ++-------------------+----------------------------------------+ +| 5 | Complete transform modulus | ++-------------------+----------------------------------------+ + +The output workspace for an inverse ("Backward") transform has 3 spectra +for the real (0), imaginary (1) parts, and the modulus (2). + ++-------------------+------------------+ +| Workspace index | Description | ++===================+==================+ +| 0 | Real part | ++-------------------+------------------+ +| 1 | Imaginary part | ++-------------------+------------------+ +| 2 | Modulus | ++-------------------+------------------+ + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/FFTDerivative-v1.rst b/Code/Mantid/docs/source/algorithms/FFTDerivative-v1.rst new file mode 100644 index 000000000000..c4554e52ebb2 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/FFTDerivative-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + + + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/FFTSmooth-v1.rst b/Code/Mantid/docs/source/algorithms/FFTSmooth-v1.rst new file mode 100644 index 000000000000..2a7b99a7b967 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/FFTSmooth-v1.rst @@ -0,0 +1,48 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +FFTSmooth uses the FFT algorithm to create a Fourier transform of a +spectrum, applies a filter to it and transforms it back. The filters +remove higher frequencies from the spectrum which reduces the noise. + +The second version of the FFTSmooth algorithm has two filters: + +Zeroing +####### + +- Filter: "Zeroing" +- Params: "n" - an integer greater than 1 meaning that the Fourier + coefficients with frequencies outside the 1/n of the original range + will be set to zero. + +Butterworth +########### + +- Filter: "Butterworth" +- Params: A string containing two positive integer parameters separated + by a comma, such as 20,2. + +"n"- the first integer, specifies the cutoff frequency for the filter, +in the same way as for the "Zeroing" filter. That is, the cutoff is at +m/n where m is the original range. "n" is required to be strictly more +than 1. + +"order"- the second integer, specifies the order of the filter. For low +order values, such as 1 or 2, the Butterworth filter will smooth the +data without the strong "ringing" artifacts produced by the abrupt +cutoff of the "Zeroing" filter. As the order parameter is increased, the +action of the "Butterworth" filter will approach the action of the +"Zeroing" filter. + +For both filter types, the resulting spectrum has the same size as the +original one. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/FFTSmooth-v2.rst b/Code/Mantid/docs/source/algorithms/FFTSmooth-v2.rst new file mode 100644 index 000000000000..ab872833662f --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/FFTSmooth-v2.rst @@ -0,0 +1,57 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +FFTSmooth uses the FFT algorithm to create a Fourier transform of a +spectrum, applies a filter to it and transforms it back. The filters +remove higher frequencies from the spectrum which reduces the noise. + +The second version of the FFTSmooth algorithm has two filters: + +Zeroing +####### + +- Filter: "Zeroing" +- Params: "n" - an integer greater than 1 meaning that the Fourier + coefficients with frequencies outside the 1/n of the original range + will be set to zero. + +Butterworth +########### + +- Filter: "Butterworth" +- Params: A string containing two positive integer parameters separated + by a comma, such as 20,2. + +"n"- the first integer, specifies the cutoff frequency for the filter, +in the same way as for the "Zeroing" filter. That is, the cutoff is at +m/n where m is the original range. "n" is required to be strictly more +than 1. + +"order"- the second integer, specifies the order of the filter. For low +order values, such as 1 or 2, the Butterworth filter will smooth the +data without the strong "ringing" artifacts produced by the abrupt +cutoff of the "Zeroing" filter. As the order parameter is increased, the +action of the "Butterworth" filter will approach the action of the +"Zeroing" filter. + +For both filter types, the resulting spectrum has the same size as the +original one. + +Previous Versions +----------------- + +Version 1 +######### + +Version 1 did not support the Butterworth Filter and did not offer the +options to ignore X bins or smooth all spectra. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/FakeISISEventDAE-v1.rst b/Code/Mantid/docs/source/algorithms/FakeISISEventDAE-v1.rst new file mode 100644 index 000000000000..1936cd532c8a --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/FakeISISEventDAE-v1.rst @@ -0,0 +1,16 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Simulates ISIS event DAE. It runs continuously until canceled and +listens to port 10000 for connection. When connected starts sending +event packets. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/FakeISISHistoDAE-v1.rst b/Code/Mantid/docs/source/algorithms/FakeISISHistoDAE-v1.rst new file mode 100644 index 000000000000..eb1b42f3e5eb --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/FakeISISHistoDAE-v1.rst @@ -0,0 +1,15 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Simulates ISIS histogram DAE. It runs continuously until canceled and +listens to port 6789 for ISIS DAE commands. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/FakeMDEventData-v1.rst b/Code/Mantid/docs/source/algorithms/FakeMDEventData-v1.rst new file mode 100644 index 000000000000..ed428847103f --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/FakeMDEventData-v1.rst @@ -0,0 +1,16 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +For testing MDEventWorkspaces, this algorithm either creates a uniform, +random distribution of events, or generate regular events placed in +boxes, or fills peaks around given points with a given number of events. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/FilterBadPulses-v1.rst b/Code/Mantid/docs/source/algorithms/FilterBadPulses-v1.rst new file mode 100644 index 000000000000..9ec4106b6001 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/FilterBadPulses-v1.rst @@ -0,0 +1,18 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The algorithm looks at sample logs ("proton\_charge"), finds the mean, +and rejects any events that occurred during a pulse that was below a +certain percentage of that mean. This effectively removes neutrons from +the background that were measured while the accelerator was not actually +producing neutrons, reducing background noise. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/FilterByLogValue-v1.rst b/Code/Mantid/docs/source/algorithms/FilterByLogValue-v1.rst new file mode 100644 index 000000000000..d495d7886ba3 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/FilterByLogValue-v1.rst @@ -0,0 +1,71 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Filters out events using the entries in the Sample Logs. + +Sample logs consist of a series of pairs. The first step in filtering is +to generate a list of start-stop time intervals that will be kept, using +those logs. + +- Each log value is compared to the min/max value filters to determine + whether it is "good" or not. + + - For a single log value that satisfies the criteria at time T, all + events between T+-Tolerance (LogBoundary=Centre), or T and + T+Tolerance (LogBoundary=Left) are kept. + - If there are several consecutive log values matching the filter, + events between T1-Tolerance and T2+Tolerance, where T2 is the last + "good" value (LogBoundary=Centre), or T1 and T2, where T2 is the + first "bad" value (LogBoundary=Left) are kept. + +- The filter is then applied to all events in all spectra. Any events + with pulse times outside of any "good" time ranges are removed. + +There is no interpolation of log values between the discrete sample log +times at this time. However, the log value is assumed to be constant at +times before its first point and after its last. For example, if the +first temperature measurement was at time=10 seconds and a temperature +within the acceptable range, then all events between 0 and 10 seconds +will be included also. If a log has a single point in time, then that +log value is assumed to be constant for all time and if it falls within +the range, then all events will be kept. + +PulseFilter (e.g. for Veto Pulses) +################################## + +If you select PulseFilter, then events will be filtered OUT in notches +around each time in the selected sample log, and the MinValue/MaxValue +parameters are ignored. For example: + +- If you have 3 entries at times: + + - 10, 20, 30 seconds. + - A TimeTolerance of 1 second. + +- Then the events at the following times will be EXCLUDED from the + output: + + - 9-11; 19-21; 29-30 seconds. + +The typical use for this is to filter out "veto" pulses from a SNS event +nexus file. Some of these files have a sample log called +"veto\_pulse\_time" that only contains times of the pulses to be +rejected. For example, this call will filter out veto pulses: + +``FilterByLogValue(InputWorkspace="ws", OutputWorkspace="ws", LogName="veto_pulse_time", PulseFilter="1")`` + +Comparing with other event filtering algorithms +############################################### + +Wiki page `EventFiltering `__ has a detailed +introduction on event filtering in MantidPlot. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/FilterByTime-v1.rst b/Code/Mantid/docs/source/algorithms/FilterByTime-v1.rst new file mode 100644 index 000000000000..d73f85390c3e --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/FilterByTime-v1.rst @@ -0,0 +1,33 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Goes through all events in all EventLists and takes out any events with +a PulseTime value not within the range specified. + +- Sample logs consisting of + `TimeSeriesProperty `__'s are also filtered out + according to the same time. +- The integrated proton charge of the run is also re-calculated + according to the filtered out ProtonCharge pulse log. + +You must specify: + +- Both StartTime and Stop time, or +- Both AbsoluteStartTime and AbsoluteStop time. +- But not another combination of the four, or the algorithm will abort. + +Comparing with other event filtering algorithms +############################################### + +Wiki page `EventFiltering `__ has a detailed +introduction on event filtering in MantidPlot. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/FilterByXValue-v1.rst b/Code/Mantid/docs/source/algorithms/FilterByXValue-v1.rst new file mode 100644 index 000000000000..41a176db7d43 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/FilterByXValue-v1.rst @@ -0,0 +1,21 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm filters events outside of the given values (in whatever +units the workspace possesses). This can be a one or two-sided filter +depending on which of xmin & xmax are given. This algorithm pays no +attention whatsoever to any binning that has been set on the input +workspace (though it will be carried over to the output). If you need to +affect the bin boundaries as well, or want to remove some +spectra/pixels, consider using :ref:`algm-CropWorkspace` +instead. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/FilterEvents-v1.rst b/Code/Mantid/docs/source/algorithms/FilterEvents-v1.rst new file mode 100644 index 000000000000..1069c2625902 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/FilterEvents-v1.rst @@ -0,0 +1,69 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm filters events from an +`EventWorkspace `__ to one or multiple +`EventWorkspaces `__ according to an input +`SplittersWorkspace `__ containing a series of +splitters (i.e., `SplittingIntervals `__). + +Output +###### + +The output will be one or multiple workspaces according to the number of +index in splitters. The output workspace name is the combination of +parameter OutputWorkspaceBaseName and the index in splitter. + +Calibration File +################ + +The calibration, or say correction, from the detector to sample must be +consider in fast log. Thus a calibration file is required. The math is + +``TOF_calibrated = TOF_raw * correction(detector ID).`` + +The calibration is in column data format. + +A reasonable approximation of the correction is + +``correction(detector_ID) = L1/(L1+L2(detector_ID))`` + +Unfiltered Events +################# + +Some events are not inside any splitters. They are put to a workspace +name ended with '\_unfiltered'. + +If input property 'OutputWorkspaceIndexedFrom1' is set to True, then +this workspace shall not be outputed. + +Difference from FilterByLogValue +################################ + +In FilterByLogValue(), EventList.splitByTime() is used. + +In FilterEvents(), if FilterByPulse is selected true, +EventList.SplitByTime is called; otherwise, EventList.SplitByFullTime() +is called instead. + +The difference between splitByTime and splitByFullTime is that +splitByTime filters events by pulse time, and splitByFullTime considers +both pulse time and TOF. + +Therefore, FilterByLogValue is not suitable for fast log filtering. + +Comparing with other event filtering algorithms +############################################### + +Wiki page `EventFiltering `__ has a detailed +introduction on event filtering in MantidPlot. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/FilterEventsByLogValuePreNexus-v2.rst b/Code/Mantid/docs/source/algorithms/FilterEventsByLogValuePreNexus-v2.rst new file mode 100644 index 000000000000..ce91f92202a1 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/FilterEventsByLogValuePreNexus-v2.rst @@ -0,0 +1,33 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The LoadEventPreNeXus algorithm stores data from the pre-nexus neutron +event data file in an `EventWorkspace `__. The default +histogram bin boundaries consist of a single bin able to hold all events +(in all pixels), and will have their `units `__ set to +time-of-flight. Since it is an `EventWorkspace `__, it +can be rebinned to finer bins with no loss of data. + +Optional properties +################### + +Specific pulse ID and mapping files can be specified if needed; these +are guessed at automatically from the neutron filename, if not +specified. + +A specific list of pixel ids can be specified, in which case only events +relating to these pixels will appear in the output. + +The ChunkNumber and TotalChunks properties can be used to load only a +section of the file; e.g. if these are 1 and 10 respectively only the +first 10% of the events will be loaded. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/FilterLogByTime-v1.rst b/Code/Mantid/docs/source/algorithms/FilterLogByTime-v1.rst new file mode 100644 index 000000000000..4ca29741803b --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/FilterLogByTime-v1.rst @@ -0,0 +1,27 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Filters out logs that do not sit between StartTime and EndTime. The +algorithm also applied a 'Method' to those filtered results and returns +the statistic. A workspace must be provided containing logs. The log +name provided must refer to a FloatTimeSeries log. + +Unless specified, StartTime is taken to be run\_start. StartTime and +EndTime filtering is inclusive of the limits provided. + +The Method allows you to create quick statistics on the filtered array +returned in the FilteredResult output argument. Therefore the return +value from Method=mean is equivalent to running numpy.mean on the output +from the FilteredResult property. All the Method options map directly to +python numpy functions with the same name. These are documented +`here `__ + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/FilterPeaks-v1.rst b/Code/Mantid/docs/source/algorithms/FilterPeaks-v1.rst new file mode 100644 index 000000000000..2a7108b40284 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/FilterPeaks-v1.rst @@ -0,0 +1,15 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Filters a `PeaksWorkspace `__ using a set number of +queries. Outputs a filtered PeaksWorkspace. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/FindCenterOfMassPosition-v1.rst b/Code/Mantid/docs/source/algorithms/FindCenterOfMassPosition-v1.rst new file mode 100644 index 000000000000..44c6fdcbcbf5 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/FindCenterOfMassPosition-v1.rst @@ -0,0 +1,20 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +If the *Output* property is set, the beam center will be placed in a +table workspace. Otherwise, the result is placed in an ArrayProperty +named *CenterOfMass*. + +See `SANS +Reduction `__ +documentation for details. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/FindCenterOfMassPosition-v2.rst b/Code/Mantid/docs/source/algorithms/FindCenterOfMassPosition-v2.rst new file mode 100644 index 000000000000..79a21e2bd0c1 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/FindCenterOfMassPosition-v2.rst @@ -0,0 +1,20 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +If the *Output* property is set, the beam centre will be placed in a +table workspace. Otherwise, the result is placed in an ArrayProperty +named *CenterOfMass*. + +See `SANS +Reduction `__ +documentation for details. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/FindClusterFaces-v1.rst b/Code/Mantid/docs/source/algorithms/FindClusterFaces-v1.rst new file mode 100644 index 000000000000..a658287ab29e --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/FindClusterFaces-v1.rst @@ -0,0 +1,32 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Algorithm takes an image workspace (a.k.a +`IMDHistoWorkspace `__) and determines the faces of +the clusters contained within the image. The image is expected to be a +labeled image workspace outputted from +:ref:`algm-IntegratePeaksUsingClusters`. The +algorithm generates a `TableWorkspace `__ as output, +which contains all the cluster edge faces required to draw the outer +edge of all clusters within the workspace. + +You may optionally provide a FilterWorkspace, which is a +`PeaksWorkspace `__. If provided, the Peak locations are +projected onto the InputWorkspace and the center locations are used to +restrict the output to only include the clusters that are the union +between the peak locations and the image clusters. + +If LimitRows is set to True (default), then you may specify a maximum +number of rows to report. If the algorithm generates more rows that the +MaximumRows that you set, then it will emit a warning, and also, set the +TruncatedOutput output property to false. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/FindDeadDetectors-v1.rst b/Code/Mantid/docs/source/algorithms/FindDeadDetectors-v1.rst new file mode 100644 index 000000000000..bee6bd721a1c --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/FindDeadDetectors-v1.rst @@ -0,0 +1,24 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This is then used to mark all 'dead' detectors with a 'dead' marker +value, while all spectra from live detectors are given a 'live' marker +value. + +This algorithm is primarily used to ease identification using the +instrument visualization tools. + +ChildAlgorithms used +#################### + +Uses the :ref:`algm-Integration` algorithm to sum the spectra. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/FindDetectorsInShape-v1.rst b/Code/Mantid/docs/source/algorithms/FindDetectorsInShape-v1.rst new file mode 100644 index 000000000000..304bd029192e --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/FindDetectorsInShape-v1.rst @@ -0,0 +1,17 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The algorithm places the user defined geometric shape within the virtual +instrument and reports back the detector id of every detector that in +contained within it. A detector is considered to be contained it its +central location point is contained within the shape. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/FindDetectorsOutsideLimits-v1.rst b/Code/Mantid/docs/source/algorithms/FindDetectorsOutsideLimits-v1.rst new file mode 100644 index 000000000000..92ba0b502b12 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/FindDetectorsOutsideLimits-v1.rst @@ -0,0 +1,25 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This is intended to identify detectors that are grossly over or under +counting. It reads the input workspace and identifies all histograms +with numbers of counts outside the user defined upper and lower limits. +Each spectra that fails has its spectra masked on the output workspace. +Spectra that pass the test have their data set to a positive value, 1.0. +The output workspace can be fed to :ref:`algm-MaskDetectors` to +mask the same spectra on another workspace. + +ChildAlgorithms used +#################### + +Uses the :ref:`algm-Integration` algorithm to sum the spectra. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/FindDetectorsPar-v1.rst b/Code/Mantid/docs/source/algorithms/FindDetectorsPar-v1.rst new file mode 100644 index 000000000000..140fcbb87c0d --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/FindDetectorsPar-v1.rst @@ -0,0 +1,62 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Identifies geometrical parameters of detectors and groups of detectors +after the workspaces were grouped using ASCII or XML map file. Located +in DataHangdling\\Instrument\\Detectors group and intended to be used as +Child Algorithm of saveNXSPE algorithm, though can be deployed +independently. Dynamic casting from iAlgorithm and accessors functions +return calculated parameters to saveNXSPE when FindDetectorsPar used as +the Child Algorithm of saveNXSPE procedure; + +Internal Child Algorithm identifies the group topology, namely if a +group of detectors is arranged into a rectangular shape or in a ring. +The algorithm calculates the geometrical centre of the detectors group +and 6 points, located within +-1/4 width of the first detector of the +group. If the centre or any of these points belong to the group of the +detectors itself, the group assumed to have a rectangular topology, and +if not -- the cylindrical one (ring). + +Single detector defined to have the rectangular shape. + +After identifying the topology, the parameters are calculated using +formulas for angles in Cartesian or Cylindrical coordinate systems +accordingly + +`par `__ and `phx `__ files +--------------------------------------------- + +These files are ascii files which are used to describe the combined +detectors geometry defined by map files. There are no reasons for you to +use it unless this Mantid algorithm is working unsatisfactory for you. +In this case you can quickly modify and use par file until this +algorithm is modified. It is your responsibility then to assure the +correspondence between mapped detectors and parameters in the par file. + +The par files are simple ASCII files with the following columns: + +| ``       1st column      sample-detector distance (m)`` +| ``       2nd  "          scattering angle (deg)`` +| ``       3rd  "          azimuthal angle (deg)   (west bank = 0 deg, north bank = -90 deg etc.)   (Note the reversed sign convention cf .phx files)`` +| ``       4th  "          width  (m)`` +| ``       5th  "          height (m)`` + +When processed by this algorithm, 4th and 5th column are transformed +into angular values. + +`Phx `__ files are Mslice phx files, which do not contain +secondary flight path. This path is calculated by the algorithm from the +data in the instrument description and the angular values are calculated +as in nxspe file. There are no reason to use phx files to build nxspe +files at the moment unless you already have one and need to repeat your +previous results with Mantid. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/FindPeakBackground-v1.rst b/Code/Mantid/docs/source/algorithms/FindPeakBackground-v1.rst new file mode 100644 index 000000000000..7c2ad4d752de --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/FindPeakBackground-v1.rst @@ -0,0 +1,29 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Algorithm written using this paper: J. Appl. Cryst. (2013). 46, 663-671 + +Objective algorithm to separate signal from noise in a +Poisson-distributed pixel data set + +T. Straaso/, D. Mueter, H. O. So/rensen and J. Als-Nielsen + +Synopsis: A method is described for the estimation of background level +and separation of background pixels from signal pixels in a +Poisson-distributed data set by statistical analysis. For each +iteration, the pixel with the highest intensity value is eliminated from +the data set and the sample mean and the unbiased variance estimator are +calculated. Convergence is reached when the absolute difference between +the sample mean and the sample variance of the data set is within k +standard deviations of the variance, the default value of k being 1. The +k value is called SigmaConstant in the algorithm input. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/FindPeaks-v1.rst b/Code/Mantid/docs/source/algorithms/FindPeaks-v1.rst new file mode 100644 index 000000000000..3b87b79f4ae2 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/FindPeaks-v1.rst @@ -0,0 +1,93 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm searches the specified spectra in a workspace for peaks, +returning a list of the found and successfully fitted peaks. The search +algorithm is described in full in reference [1]. In summary: the second +difference of each spectrum is computed and smoothed. This smoothed data +is then searched for patterns consistent with the presence of a peak. +The list of candidate peaks found is passed to a fitting routine and +those that are successfully fitted are kept and returned in the output +workspace (and logged at information level). The output +`TableWorkspace `__ contains the following columns, +which reflect the fact that the peak has been fitted to a Gaussian atop +a linear background: spectrum, centre, width, height, +backgroundintercept & backgroundslope. + +Subalgorithms used +################## + +FindPeaks uses the :ref:`algm-SmoothData` algorithm to, well, +smooth the data - a necessary step to identify peaks in statistically +fluctuating data. The :ref:`algm-Fit` algorithm is used to fit candidate +peaks. + +Treating weak peaks vs. high background +####################################### + +FindPeaks uses a more complicated approach to fit peaks if +**HighBackground** is flagged. In this case, FindPeak will fit the +background first, and then do a Gaussian fit the peak with the fitted +background removed. This procedure will be repeated for a couple of +times with different guessed peak widths. And the parameters of the best +result is selected. The last step is to fit the peak with a combo +function including background and Gaussian by using the previously +recorded best background and peak parameters as the starting values. + +Criteria To Validate Peaks Found +################################ + +FindPeaks finds peaks by fitting a Guassian with background to a certain +range in the input histogram. :ref:`algm-Fit` may not give a correct +result even if chi^2 is used as criteria alone. Thus some other criteria +are provided as options to validate the result + +#. Peak position. If peak positions are given, and trustful, then the + fitted peak position must be within a short distance to the give one. +#. Peak height. In the certain number of trial, peak height can be used + to select the best fit among various starting sigma values. + +Fit Window +########## + +If FitWindows is defined, then a peak's range to fit (i.e., x-min and +x-max) is confined by this window. + +If FitWindows is defined, starting peak centres are NOT user's input, +but found by highest value within peak window. (Is this correct???) + +References +########## + +#. M.A.Mariscotti, *A method for automatic identification of peaks in + the presence of background and its application to spectrum analysis*, + NIM **50** (1967) 309. + +| ``==== Estimation of peak's background and range ====`` +| ``If FindPeaksBackground fails, then it is necessary to estimate a rough peak range and background according to`` +| ``observed data.`` +| ``1. Assume the local background (within the given fitting window) is close to linear;`` +| ``2. Take the first 3 and last 3 data points to calcualte the linear background;`` +| ``3. Remove background (rougly) and calcualte peak's height, width, and centre;`` +| ``4. If the peak centre (starting value) uses observed value, then set peakcentre to that value.  Otherwise, set it to given value;`` +| ``5. Get the bin indexes of xmin, xmax and peakcentre;`` +| ``6. Calcualte peak range, i.e., left and right boundary;`` +| ``7. If any peak boundary exceeds or too close to the boundary, there will be 2 methods to solve this issue;`` +| ``7.1 If peak centre is restricted to given value, then the peak range will be from 1/6 to 5/6 of the given data points;`` +| ``7.2 If peak centre is set to observed value, then the 3 leftmost data points will be used for background.`` + +| ``==== References ====`` +| ``# M.A.Mariscotti, ``\ *``A`` ``method`` ``for`` ``automatic`` +``identification`` ``of`` ``peaks`` ``in`` ``the`` ``presence`` ``of`` +``background`` ``and`` ``its`` ``application`` ``to`` ``spectrum`` +``analysis``*\ ``, NIM ``\ **``50``**\ `` (1967) 309.`` + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/FindPeaksMD-v1.rst b/Code/Mantid/docs/source/algorithms/FindPeaksMD-v1.rst new file mode 100644 index 000000000000..f30672b31504 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/FindPeaksMD-v1.rst @@ -0,0 +1,47 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm is used to find single-crystal peaks in a +multi-dimensional workspace (`MDEventWorkspace `__ or +`MDHistoWorkspace `__). It looks for high signal +density areas, and is based on an algorithm designed by Dennis Mikkelson +for ISAW. + +The algorithm proceeds in this way: + +- Sorts all the boxes in the workspace by decreasing order of signal + density (total weighted event sum divided by box volume). + + - It will skip any boxes with a density below a threshold. The + threshold is + :math:`TotalSignal / TotalVolume * DensityThresholdFactor`. + +- The centroid of the strongest box is considered a peak. +- The centroid of the next strongest box is calculated. + + - We look through all the peaks that have already been found. If the + box is too close to an existing peak, it is rejected. This + distance is PeakDistanceThreshold. + +- This is repeated until we find up to MaxPeaks peaks. + +Each peak created is placed in the output +`PeaksWorkspace `__, which can be a new workspace or +replace the old one. + +This algorithm works on a `MDHistoWorkspace `__ +resulting from the :ref:`algm-BinMD` algorithm also. It works in the +same way, except that the center of each bin is used since the centroid +is not accessible. It may give better results on +`Workspace2D `__'s that were converted to +`MDWorkspaces `__. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/FindReflectometryLines-v1.rst b/Code/Mantid/docs/source/algorithms/FindReflectometryLines-v1.rst new file mode 100644 index 000000000000..b428dd2b4981 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/FindReflectometryLines-v1.rst @@ -0,0 +1,21 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Finds spectrum numbers corresponding to reflected and transmission lines +in a line detector Reflectometry dataset. + +Expects two or one, reflectometry peaks, will fail if there are more or +less than this number of peaks. The first peak is taken to be from the +reflected line, the second is taken to be from the transmission line. +This algorithm outputs a TableWorkspace containing the spectrum number +of interest. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/FindSXPeaks-v1.rst b/Code/Mantid/docs/source/algorithms/FindSXPeaks-v1.rst new file mode 100644 index 000000000000..5787b096ec22 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/FindSXPeaks-v1.rst @@ -0,0 +1,25 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Detector-space, single crystal peak finding. Finds peaks by searching +through each spectra and looking for high intensity bins. If a bin has +high intensity it is a candidate for a peak. + +Notable points: + +- The highest intensity bin is taken to be the peak, so only finds one + peak per spectra +- Peaks that are not above the background are culled. The background is + calculated as the average of the start and end intensity multiplied + by the provided SignalBackground parameter. +- Calculated Qlab follows the Busy, Levy 1967 convention. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/FindUBUsingFFT-v1.rst b/Code/Mantid/docs/source/algorithms/FindUBUsingFFT-v1.rst new file mode 100644 index 000000000000..d1e9ef460844 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/FindUBUsingFFT-v1.rst @@ -0,0 +1,41 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Given a set of peaks, and given a range of possible a,b,c values, this +algorithm will attempt to find a UB matrix, corresponding to the Niggli +reduced cell, that fits the data. The algorithm projects the peaks on +many possible direction vectors and calculates a Fast Fourier Transform +of the projections to identify regular patterns in the collection of +peaks. Based on the calcuated FFTs, a list of directions corresponding +to possible real space unit cell edge vectors is formed. The directions +and lengths of the vectors in this list are optimized (using a least +squares approach) to index the maximum number of peaks, after which the +list is sorted in order of increasing length and duplicate vectors are +removed from the list. + +The algorithm then chooses three of the remaining vectors with the +shortest lengths that are linearly independent, form a unit cell with at +least a minimum volume and for which the corresponding UB matrix indexes +at least 80% of the maximum number of indexed using any set of three +vectors chosen from the list. + +A UB matrix is formed using these three vectors and the resulting UB +matrix is again optimized using a least squares method. Finally, +starting from this matrix, a matrix corresponding to the Niggli reduced +cell is calculated and returned as the UB matrix. If the specified peaks +are accurate and belong to a single crystal, this method should produce +the UB matrix corresponding to the Niggli reduced cell. However, other +software will usually be needed to adjust this UB to match a desired +conventional cell. While this algorithm will occasionally work for as +few as four peaks, it works quite consistently with at least ten peaks, +and in general works best with a larger number of peaks. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/FindUBUsingIndexedPeaks-v1.rst b/Code/Mantid/docs/source/algorithms/FindUBUsingIndexedPeaks-v1.rst new file mode 100644 index 000000000000..ae6522a2909a --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/FindUBUsingIndexedPeaks-v1.rst @@ -0,0 +1,22 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Given a set of peaks at least three of which have been assigned Miller +indices, this algorithm will find the UB matrix, that best maps the +integer (h,k,l) values to the corresponding Q vectors. The set of +indexed peaks must include three linearly independent Q vectors. The +(h,k,l) values from the peaks are first rounded to form integer (h,k,l) +values. The algorithm then forms a possibly over-determined linear +system of equations representing the mapping from (h,k,l) to Q for each +indexed peak. The system of linear equations is then solved in the least +squares sense, using QR factorization. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/FindUBUsingLatticeParameters-v1.rst b/Code/Mantid/docs/source/algorithms/FindUBUsingLatticeParameters-v1.rst new file mode 100644 index 000000000000..8ed28debc7e0 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/FindUBUsingLatticeParameters-v1.rst @@ -0,0 +1,44 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Given a set of peaks, and given lattice parameters +(:math:`a,b,c,alpha,beta,gamma`), this algorithm will find the UB +matrix, that best fits the data. The algorithm searches over a large +range of possible orientations for the orientation for which the rotated +B matrix best fits the data. The search for the best orientation +involves several steps. + +During the first step, a reduced set of peaks typically at lower \|Q\| +are used, since it is easier to index peaks at low \|Q\|. Specifically, +if there are at least 5 peaks, the peaks are shifted to be centered at +the strongest peaks and then sorted in order of increasing distance from +the strongest peak. If there are fewer than 5 peaks the list is just +sorted in order of increasing \|Q\|. Only peaks from the initial portion +of this sorted list are used in the first step. The number of peaks from +this list to be used initially is specified by the user with the +parameter NumInitial. The search first finds a list of possible +orientations for which the UB matrix will index the maximum number of +peaks from the initial set of peaks to within the specified tolerance on +h,k,l values. Subsequently, only the UB matrix that indexes that maximum +number of peaks with the minimum distance between the calculated h,k,l +values and integers is kept and passed on to the second step. + +During the second step, additional peaks are gradually added to the +initial list of peaks. Each time peaks are added to the list, the subset +of peaks from the new list that are indexed within the specified +tolerance on k,k,l are used in a least squares calculation to optimize +the UB matrix to best index those peaks. The process of gradually adding +more peaks from the sorted list and optimizing the UB based on the peaks +that are indexed, continues until all peaks have been added to the list. +Finally, one last optimization of the UB matrix is carried out using the +full list of peaks. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/FindUBUsingMinMaxD-v1.rst b/Code/Mantid/docs/source/algorithms/FindUBUsingMinMaxD-v1.rst new file mode 100644 index 000000000000..a7283eb52ffe --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/FindUBUsingMinMaxD-v1.rst @@ -0,0 +1,29 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Given a set of peaks, and given a range of possible a,b,c values, this +algorithm will attempt to find a UB matrix, corresponding to the `Niggli +reduced +cell `__, that +fits the data. The algorithm searches over a range of possible +directions and unit cell lengths for directions and lengths that match +plane normals and plane spacings in reciprocal space. It then chooses +three of these vectors with the shortest lengths that are linearly +independent and that are separated by at least a minimum angle. An +initial UB matrix is formed using these three vectors and the resulting +UB matrix is optimized using a least squares method. Finally, starting +from this matrix, a matrix corresponding to the Niggli reduced cell is +calculated and returned as the UB matrix. If the specified peaks are +accurate and belong to a single crystal, this method should produce some +UB matrix that indexes the peaks. However, other software will usually +be needed to adjust this UB to match a desired conventional cell. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/Fit-v1.rst b/Code/Mantid/docs/source/algorithms/Fit-v1.rst new file mode 100644 index 000000000000..405db213df1b --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/Fit-v1.rst @@ -0,0 +1,326 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Additional properties for a 1D function and a MatrixWorkspace +############################################################# + +If Function defines a one-dimensional function and InputWorkspace is a +`MatrixWorkspace `__ the algorithm will have these +additional properties: + ++------------------+-------------+-----------+-------------------------+---------------------------------------------------------------------+ +| Name | Direction | Type | Default | Description | ++==================+=============+===========+=========================+=====================================================================+ +| WorkspaceIndex | Input | integer | 0 | The spectrum to fit, using the workspace numbering of the spectra | ++------------------+-------------+-----------+-------------------------+---------------------------------------------------------------------+ +| StartX | Input | double | Start of the spectrum | An X value in the first bin to be included in the fit | ++------------------+-------------+-----------+-------------------------+---------------------------------------------------------------------+ +| EndX | Input | double | End of the spectrum | An X value in the last bin to be included in the fit | ++------------------+-------------+-----------+-------------------------+---------------------------------------------------------------------+ + +Overview +######## + +This is a generic algorithm for fitting data in a Workspace with a +function. The workspace must have the type supported by the algorithm. +Currently supported types are: `MatrixWorkspace `__ for +fitting with a `IFunction1D `__ and +`IMDWorkspace `__ for fitting with +`IFunctionMD `__. After Function and InputWorkspace +properties are set the algorithm may decide that it needs more +information from the caller to locate the fitting data. For example, if +a spectrum in a MatrixWorkspace is to be fit with a 1D function it will +need to know at least the index of that spectrum. To request this +information Fit dynamically creates relevant properties which the caller +can set. Note that the dynamic properties depend both on the workspace +and the function. For example, the data in a MatrixWorkspace can be fit +with a 2D function. In this case all spectra will be used in the fit and +no additional properties will be declared. The Function property must be +set before any other. + +The function and the initial values for its parameters are set with the +Function property. A function can be simple or composite. A `simple +function <:Category:Fit_functions>`__ has a name registered with Mantid +framework. The Fit algorithm creates an instance of a function by this +name. A composite function is an arithmetic sum of two or more functions +(simple or composite). Each function has a number of named parameters, +the names are case sensitive. All function parameters will be used in +the fit unless some of them are tied. Parameters can be tied by setting +the Ties property. A tie is a mathematical expression which is used to +calculate the value of a (dependent) parameter. Only the parameter names +of the same function can be used as variables in this expression. + +Using the Minimizer property, Fit can be set to use different algorithms +to perform the minimization. By default if the function's derivatives +can be evaluated then Fit uses the GSL Levenberg-Marquardt minimizer. + +In Mantidplot this algorithm can be run from the `Fit Property +Browser `__ +which allows all the settings to be specified via its graphical user +interface. + +Setting a simple function +######################### + +To use a simple function for a fit set its name and initial parameter +values using the Function property. This property is a comma separated +list of name=value pairs. The name of the first name=value pairs must be +"name" and it must be set equal to the name of one of a `simple +function <:Category:Fit_functions>`__. This name=value pair is followed +by name=value pairs specifying values for the parameters of this +function. If a parameter is not set in Function it will be given its +default value defined by the function. All names are case sensitive. For +example for fitting a Gaussian the Function property might look like +this: + +``Function: "name=Gaussian, PeakCentre=4.6, Height=10, Sigma=0.5"`` + +Some functions have attributes. An attribute is a non-fitting parameter +and can be of one of the following types: text string, integer, or +double. Attributes are set just like the parameters using name=value +pairs. For example: + +``Function: "name=UserFunction, Formula=a+b*x, a=1, b=2"`` + +In this example Formula is the name of a string attribute which defines +an expression for the user UserFunction. The fitting parameters a and b +are created when the Formula attribute is set. It is important that +Formula is defined before initializing the parameters. + +A list of the available simple functions can be found +`here <:Category:Fit_functions>`__. + +Setting a composite function +############################ + +A composite function is a sum of simple functions. It does not have a +name. To define a composite function set a number of simple functions in +the Function property. Each simple function definition must be separated +by a semicolon ';'. For example fitting two Gaussians on a linear +background might look like this: + +| ``Function: "name=LinearBackground, A0=0.3; `` +| ``           name=Gaussian, PeakCentre=4.6, Height=10, Sigma=0.5;`` +| ``           name=Gaussian, PeakCentre=7.6, Height=8, Sigma=0.5"`` + +Setting ties +############ + +Parameters can be tied to other parameters or to a constant. In this +case they do not take part in the fitting but are evaluated using the +tying expressions. Use Ties property to set any ties. In case of a +simple function the parameter names are used as variables in the tying +expressions. For example + +``Ties: "a=2*b+1, c=2"`` + +This ties parameter "a" to parameter "b" and fixes "c" to the constant +2. + +In case of a composite function the variable name must refer to both the +parameter name and the simple function it belongs to. It is done by +writing the variable name in the following format: + +``f``\ \ ``.``\ + +The format consists of two parts separated by a period '.'. The first +part defines the function by its index in the composite function +(starting at 0). The index corresponds to the order in which the +functions are defined in the Function property. For example: + +``Ties: "f1.Sigma=f0.Sigma,f2.Sigma=f0.Sigma"`` + +This ties parameter "Sigma" of functions 1 and 2 to the "Sigma" of +function 0. Of course all three functions must have a parameter called +"Sigma" for this to work. The last example can also be written + +``Ties: "f1.Sigma=f2.Sigma=f0.Sigma"`` + +Setting constraints +################### + +Parameters can be constrained to be above a lower boundary and/or below +an upper boundary. If a constraint is violated a penalty to the fit is +applied which should result the parameters satisfying the constraint. +The penalty applied is described in more detail +`here `__. Use Constraints property to set any +constraints. In case of a simple function the parameter names are used +as variables in the constraint expressions. For example + +``Constraints: "4.0 < c < 4.2"`` + +Constraint the parameter "c" to be with the range 4.0 to 4.2, whereas + +``Constraints: "c > 4.0"`` + +means "c" is constrained to be above the lower value 4.0 and + +``Constraints: "c < 4.2"`` + +means "c" is constrained to be below the upper value 4.2. + +In case of a composite function the same notation is used for +constraints and for ties. For example + +``Constraints: "f1.c < 4.2"`` + +constrain the parameter "c" of function 1. + +Fitting to data in a MatrixWorkspace +#################################### + +The error values in the input workspace are used to weight the data in +the fit. Zero error values are not allowed and are replaced with ones. + +Output +###### + +Setting the Output property defines the names of the two output +workspaces. One of them is a `TableWorkspace `__ with +the fitted parameter values. The other is a +`Workspace2D `__ which compares the fit with the original +data. It has three spectra. The first (index 0) contains the original +data, the second one the data simulated with the fitting function and +the third spectrum is the difference between the first two. For example, +if the Output was set to "MyResults" the parameter TableWorkspace will +have name "MyResults\_Parameters" and the Workspace2D will be named +"MyResults\_Workspace". If the function's derivatives can be evaluated +an additional TableWorkspace is returned. When the Output is set to +"MyResults" this TableWorkspace will have the name +"MyResults\_NormalisedCovarianceMatrix" and it returns a calculated +correlation matrix. Denote this matrix C and its elements Cij then the +diagonal elements are listed as 1.0 and the off diagnonal elements as +percentages of correlation between parameter i and j equal to +100\*Cij/sqrt(Cii\*Cjj). + +Examples +-------- + +This example shows a simple fit to a Gaussian function. The algorithm +properties are: + +| ``InputWorkspace:  Test`` +| ``WorkspaceIndex:  0`` +| ``Function:        name=Gaussian, PeakCentre=4, Height=1.3, Sigma=0.5`` +| ``Output:          res`` + +.. figure:: /images/GaussianFit.jpg + :alt: GaussianFit.jpg + + GaussianFit.jpg + +-------------- + +The next example shows a fit of the same data but with a tie. + +| ``InputWorkspace:  Test`` +| ``WorkspaceIndex:  0`` +| ``Function:        name=Gaussian, PeakCentre=4, Height=1.3, Sigma=0.5`` +| ``Ties:            Sigma=Height/2`` +| ``Output:          res`` + +.. figure:: /images/GaussianFit_Ties.jpg + :alt: GaussianFit_Ties.jpg + + GaussianFit\_Ties.jpg + +-------------- + +This example shows a fit of two overlapping Gaussians on a linear +background. Here we create a composite function with a LinearBackground +and two Gaussians: + +| ``InputWorkspace:  Test`` +| ``WorkspaceIndex:  0`` +| ``Function:        name=LinearBackground,A0=1;`` +| ``                 name=Gaussian,PeakCentre=4,Height=1.5, Sigma=0.5;`` +| ``                 name=Gaussian,PeakCentre=6,Height=4, Sigma=0.5 `` +| ``Output:          res`` + +.. figure:: /images/Gaussian2Fit.jpg + :alt: Gaussian2Fit.jpg + + Gaussian2Fit.jpg + +-------------- + +This example repeats the previous one but with the Sigmas of the two +Gaussians tied: + +| ``InputWorkspace:  Test`` +| ``WorkspaceIndex:  0`` +| ``Function:        name=LinearBackground,A0=1;`` +| ``                 name=Gaussian,PeakCentre=4,Height=1.5, Sigma=0.5;`` +| ``                 name=Gaussian,PeakCentre=6,Height=4, Sigma=0.5 `` +| ``Ties:            f2.Sigma = f1.Sigma`` +| ``Output:          res`` + +.. figure:: /images/Gaussian2Fit_Ties.jpg + :alt: Gaussian2Fit_Ties.jpg + + Gaussian2Fit\_Ties.jpg + +Usage +----- + +**Example - Fit a Gaussian to a peak in a spectrum:** + +.. testcode:: ExFitPeak + + # create a workspace with a gaussian peak sitting on top of a linear (here flat) background + ws = CreateSampleWorkspace(Function="User Defined", UserDefinedFunction="name=LinearBackground, \ + A0=0.3;name=Gaussian, PeakCentre=5, Height=10, Sigma=0.7", NumBanks=1, BankPixelWidth=1, XMin=0, XMax=10, BinWidth=0.1) + + # Setup the data to fit: + workspaceIndex = 0 # the spectrum with which WorkspaceIndex to fit + startX = 1 # specify fitting region + endX = 9 # + + # Setup the model, here a Gaussian, to fit to data + tryCentre = '4' # A start guess on peak centre + sigma = '1' # A start guess on peak width + height = '8' # A start guess on peak height + myFunc = 'name=Gaussian, Height='+height+', PeakCentre='+tryCentre+', Sigma='+sigma + # here purposely haven't included a linear background which mean fit will not be spot on + # to include a linear background uncomment the line below + #myFunc = 'name=LinearBackground, A0=0.3;name=Gaussian, Height='+height+', PeakCentre='+tryCentre+', Sigma='+sigma + + # Do the fitting + fitStatus, chiSq, covarianceTable, paramTable, fitWorkspace = Fit(InputWorkspace='ws', \ + WorkspaceIndex=0, StartX = startX, EndX=endX, Output='fit', Function=myFunc) + + print "The fit was: " + fitStatus + print("chi-squared of fit is: %.2f" % chiSq) + print("Fitted Height value is: %.2f" % paramTable.column(1)[0]) + print("Fitted centre value is: %.2f" % paramTable.column(1)[1]) + print("Fitted sigma value is: %.2f" % paramTable.column(1)[2]) + # fitWorkspace contains the data, the calculated and the difference patterns + print "Number of spectra in fitWorkspace is: " + str(fitWorkspace.getNumberHistograms()) + print("The 20th y-value of the calculated pattern: %.4f" % fitWorkspace.readY(1)[19]) + +.. testcleanup:: ExFitPeak + + DeleteWorkspace(ws) + +Output: + +.. testoutput:: ExFitPeak + + The fit was: success + chi-squared of fit is: 0.14 + Fitted Height value is: 9.79 + Fitted centre value is: 5.05 + Fitted sigma value is: 0.77 + Number of spectra in fitWorkspace is: 3 + The 20th y-value of the calculated pattern: 0.2361 + + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/FitPeak-v1.rst b/Code/Mantid/docs/source/algorithms/FitPeak-v1.rst new file mode 100644 index 000000000000..c28df08668c0 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/FitPeak-v1.rst @@ -0,0 +1,64 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm is used to fit a single peak with some checking mechanism +to ensure its fitting result is physical. + +The output `TableWorkspace `__ contains the following +columns... + +Subalgorithms used +################## + +- Fit + +Treating weak peaks vs. high background +####################################### + +FindPeaks uses a more complicated approach to fit peaks if +**HighBackground** is flagged. In this case, FindPeak will fit the +background first, and then do a Gaussian fit the peak with the fitted +background removed. This procedure will be repeated for a couple of +times with different guessed peak widths. And the parameters of the best +result is selected. The last step is to fit the peak with a combo +function including background and Gaussian by using the previously +recorded best background and peak parameters as the starting values. + +Criteria To Validate Peaks Found +################################ + +FindPeaks finds peaks by fitting a Guassian with background to a certain +range in the input histogram. :ref:`algm-Fit` may not give a correct +result even if chi^2 is used as criteria alone. Thus some other criteria +are provided as options to validate the result + +1. Peak position. If peak positions are given, and trustful, then the +fitted peak position must be within a short distance to the give one. + +2. Peak height. In the certain number of trial, peak height can be used +to select the best fit among various starting sigma values. + +Fit Window and Peak Range +######################### + +If FitWindows is defined, then a peak's range to fit (i.e., x-min and +x-max) is confined by this window. + +If PeakRange is defined and starting peak centre given by user is not +within this range, then the situation is considered illegal. In future, +FitPeak might be able to estimate the peak centre in this situation by +locating the X-value whose corresponding Y-value is largest within +user-defined peak range. + +What's new +---------- + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/FitPowderDiffPeaks-v1.rst b/Code/Mantid/docs/source/algorithms/FitPowderDiffPeaks-v1.rst new file mode 100644 index 000000000000..bcfed72e08d0 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/FitPowderDiffPeaks-v1.rst @@ -0,0 +1,111 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm fits a certain set of single peaks in a powder +diffraction pattern. + +It serves as the first step to fit/refine instrumental parameters that +will be introduced in `Le Bail Fit `__. The second step is +realized by algorithm RefinePowderInstrumentParameters. + +Version +####### + +Current implementation of FitPowderDiffPeaks is version 2. + +Peak Fitting Algorithms +----------------------- + +Peak Fitting Mode +################# + +Fitting mode determines the approach (or algorithm) to fit diffraction +peaks. + +1. Robust + +2. Confident: User is confident on the input peak parameters. Thus the +fitting will be a one-step minimizer by Levenberg-Marquardt. + +Starting Values of Peaks' Parameters +#################################### + +1. "(HKL) & Calculation": the starting values are calculated from each +peak's miller index and thermal neutron peak profile formula; + +2. "From Bragg Peak Table": the starting values come from the Bragg Peak +Parameter table. + +Peak-fitting sequence +##################### + +Peaks are fitted from high d-spacing, i.e., lowest possible Miller +index, to low d-spacing values. If MinimumHKL is specified, then peak +will be fitted from maximum d-spacing/TOF, to the peak with Miller index +as MinimumHKL. + +Correlated peak profile parameters +################################## + +If peaks profile parameters are correlated by analytical functions, then +the starting values of one peak will be the fitted peak profile +parameters of its right neighbour. + +Use Cases +--------- + +Several use cases are listed below about how to use this algorithm. + +Use case 1: robust fitting +########################## + +| ``1. User wants to use the starting values of peaks parameters from input thermal neutron peak parameters such as Alph0, Alph1, and etc. `` +| ``2. User specifies the right most peak range and its Miller index`` +| ``3. ``\ *``FitPowderDiffPeaks``*\ `` calculates Alpha, Beta and Sigma for each peak from parameter values from InstrumentParameterTable;`` +| ``4. ``\ *``FitPowderDiffPeaks``*\ `` fit peak parameters of each peak from high TOF to low TOF;`` + +Use Case 2: Confident fitting +############################# + +| ``1. `` +| ``2. `` + +Use Case 3: Fitting Peak Parameters From Scratch +################################################ + +This is the extreme case such that + +| ``1. Input instrumental geometry parameters, including Dtt1, Dtt1t, Dtt2t, Zero, Zerot, Tcross and Width, have roughly-guessed values;`` +| ``2. There is no pre-knowledge for each peak's peak parameters, including Alpha, Beta, and Sigma. `` + +How to use algorithm with other algorithms +------------------------------------------ + +This algorithm is designed to work with other algorithms to do Le Bail +fit. The introduction can be found in the wiki page of +:ref:`algm-LeBailFit`. + +Example of Working With Other Algorithms +######################################## + +*FitPowderDiffPeaks* is designed to work with other algorithms, such +*RefinePowderInstrumentParameters*, and *LeBailFit*. See `Le Bail +Fit `__ for full list of such algorithms. + +A common scenario is that the starting values of instrumental geometry +related parameters (Dtt1, Dtt1t, and etc) are enough far from the real +values. + +| ``1. ``\ *``FitPowderDiffPeaks``*\ `` fits the single peaks from high TOF region in robust mode;`` +| ``2. ``\ *``RefinePowderInstrumentParameters``*\ `` refines the instrumental geometry related parameters by using the d-TOF function;`` +| ``3. Repeat step 1 and 2 for  more single peaks incrementally. The predicted peak positions are more accurate in this step.`` + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/FitResolutionConvolvedModel-v1.rst b/Code/Mantid/docs/source/algorithms/FitResolutionConvolvedModel-v1.rst new file mode 100644 index 000000000000..d126844d6577 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/FitResolutionConvolvedModel-v1.rst @@ -0,0 +1,15 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Fits a dataset using a resolution function convolved with a foreground +model + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/FixGSASInstrumentFile-v1.rst b/Code/Mantid/docs/source/algorithms/FixGSASInstrumentFile-v1.rst new file mode 100644 index 000000000000..f9761399a8f7 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/FixGSASInstrumentFile-v1.rst @@ -0,0 +1,18 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +GSAS instrument is required to have exact 80 characters each line. +FixGSASInstrument will check the input GSAS instrument file whether each +line of it will have 80 characters. If any line contains fewer than 80 +characters, this algorithm will fill the line with space to 80 +characters. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/FlatPlateAbsorption-v1.rst b/Code/Mantid/docs/source/algorithms/FlatPlateAbsorption-v1.rst new file mode 100644 index 000000000000..def365a10756 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/FlatPlateAbsorption-v1.rst @@ -0,0 +1,33 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm uses a numerical integration method to calculate +attenuation factors resulting from absorption and single scattering in a +flat plate (slab) sample with the dimensions and material properties +given. Factors are calculated for each spectrum (i.e. detector position) +and wavelength point, as defined by the input workspace. The sample is +divided up into cuboids having sides of as close to the size given in +the ElementSize property as the sample dimensions will allow. Thus the +calculation speed depends linearly on the total number of bins in the +workspace and goes as :math:`\rm{ElementSize}^{-3}`. + +Path lengths through the sample are then calculated for the centre-point +of each element and a numerical integration is carried out using these +path lengths over the volume elements. + +Restrictions on the input workspace +################################### + +The input workspace must have units of wavelength. The +`instrument `__ associated with the workspace must be fully +defined because detector, source & sample position are needed. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/FuryFitMultiple-v1.rst b/Code/Mantid/docs/source/algorithms/FuryFitMultiple-v1.rst new file mode 100644 index 000000000000..a767c7b83c1b --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/FuryFitMultiple-v1.rst @@ -0,0 +1,20 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Fits and \*\_iqt file generated by Fury using one of the specified +functions. The functions available are either one or two exponentials +(:math:`Intensity \times exp[-(x/\tau)]`), a stretched exponential +(:math:`Intensity \times exp[-(x/\tau)]\beta`) or a combination of both +an exponential and stretched exponential. + +This routine was originally part of the MODES package. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/GeneralisedSecondDifference-v1.rst b/Code/Mantid/docs/source/algorithms/GeneralisedSecondDifference-v1.rst new file mode 100644 index 000000000000..37011608dfbb --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/GeneralisedSecondDifference-v1.rst @@ -0,0 +1,19 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Compute the generalised second difference of a spectrum or several +spectra based on the method described by M.A. Mariscotti., Nuclear +Instruments and Methods 50, 309 (1967). Given a spectrum with value yi +(0<=i`__ or a +`MatrixWorkspace `__. Both of them will be used by +algorithm :ref:`algm-FilterEvents` to filter events from an +`EventWorkspace `__. + +This algorithm is designed as a general-purposed event splitter +generator. Combined with :ref:`algm-FilterEvents`, it will +replace + +- :ref:`algm-FilterByTime` +- :ref:`algm-FilterByLogValue` + +Moreover, the time resolution of these two algorithms is microseconds, +i.e., the wall time of an (neutron) event. While the original +:ref:`algm-FilterByTime` and +:ref:`algm-FilterByLogValue` are of the resolution of pulse +time. It is also enhanced to process the fast frequency sample logs, +which can be even faster than chopper frequencies. + +Workspace to store event splitters +################################## + +An event splitter used in Mantid contains start time, stop time and +target workspace. Any data structure that has the above 3 properties can +serve as event splitter. There are 2 types of output workspaces storing +event splitters that are supported by this algorithm. + +- `SplittersWorkspace `__: It is a + `TableWorskpace `__ that has 3 columns for start + time, stop time and target workspace for events within start time and + stop time. This type of workspace is appropriate for the case that + the amount of generated event splitters are not huge; +- `MatrixWorkspace `__: It uses X-axis to store time + stamp in total nanoseconds and Y-axis to store target workspace. For + example, x\_i, x\_i+1 and y\_i construct an event filter as start + time is x\_i, stop time is x\_i+i, and target workspace is y\_i-th + workspace. If y\_i is less than 0, then it means that all events + between time x\_i and x\_i+1 will be discarded. This type of + workspace is appropriate for the case that the amount of generated + event splitters are huge, because processing a + `MatrixWorkspace `__ is way faster than a + `TableWorkspace `__ in Mantid. + +Functionalities +############### + +Here are the types of event filters (i.e., +`SplittersWorkspace `__) that can be generated by +this algorithm: + +- A filter for one time interval. + +- A series of filters for multiple continuous time intervals, which + have the same length of period. Each of them has an individual + workspace index associated. These workspace indices are incremented + by 1 from 0 along with their orders in time. + +- A filter containing one or multiple time intervals according to a + specified log value. Any log value of the time that falls into the + selected time intervals is equal or within the tolerance of a user + specified value. + +- A series filters containing one or multiple time intervals according + to specified log values incremented by a constant value. Any log + value of the time that falls into the selected time intervals is + equal or within the tolerance of the log value as v\_0 + n x delta\_v + +/- tolerance\_v. + +Parameter: *Centre* +################### + +The input Boolean parameter *centre* is for filtering by log value(s). +If option *centre* is taken, then for each interval, + +- starting time = log\_time - tolerance\_time; +- stopping time = log\_time - tolerance\_time; + +It is a shift to left. + +Parameter: *LogValueTolerance* and *LogValueInterval* +##################################################### + +These two parameters are used to determine the log value intervals for +filtering events. + +Let user-specified minimum log value to be 'min', LogValueTolerance to +be 'tol', and LogValueInterval to be 'delta', then the log value +intervals are (min-tol, min-tol+delta), (min-tol+delta, min-tol+2delta), +... + +The default value of LogValueTolerance is LogValueInterval devided by 2. + +About how log value is recorded +############################### + +SNS DAS records log values upon its changing. The frequency of log +sampling is significantly faster than change of the log, i.e., sample +environment devices. Therefore, it is reasonable to assume that all the +log value changes as step functions. + +The option to do interpolation is not supported at this moment. + +Comparison to FilterByLogValue +############################## + +1. If the first log value is within the specified range and the first +log time is after run star time, FilterByLogValue assumes that the log +value before the first recorded log time is also within range, and thus +the first splitter starts from the run star time, while +GenerateEventFilter tends to be more conservative, and thus the first +splitter will start from the first log time. + +2. FilterByLogValue only filters events at the resolution of pulse time, +while :ref:`algm-GenerateEventsFilter` can improve the +resolution to 1 micro second. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/GenerateGroupingPowder-v1.rst b/Code/Mantid/docs/source/algorithms/GenerateGroupingPowder-v1.rst new file mode 100644 index 000000000000..454e74eff5cc --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/GenerateGroupingPowder-v1.rst @@ -0,0 +1,22 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +For powder samples, with no texture, the scattering consists only of +rings. This algorithm reads a workspace and an angle step, then +generates a grouping file (.xml) and a par file (.par), by grouping +detectors in intervals i\*step to (i+1)\*step. The par file is required +for saving in the NXSPE format, since Mantid does not correctly +calculates the correct angles for detector groups. It will contain +average distances to the detector groups, and average scattering angles. +The x and y extents in the par file are radians(step)\*distance and +0.01, and are not supposed to be accurate. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/GenerateGroupingSNSInelastic-v1.rst b/Code/Mantid/docs/source/algorithms/GenerateGroupingSNSInelastic-v1.rst new file mode 100644 index 000000000000..c2429c9ee76b --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/GenerateGroupingSNSInelastic-v1.rst @@ -0,0 +1,18 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Generate grouping files for ARCS, CNCS, HYSPEC, and SEQUOIA, by grouping +py pixels along a tube and px tubes. py is 1, 2, 4, 8, 16, 32, 64, or +128. px is 1, 2, 4, or 8. + +Author: A. Savici + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/GeneratePeaks-v1.rst b/Code/Mantid/docs/source/algorithms/GeneratePeaks-v1.rst new file mode 100644 index 000000000000..a2ae001cd752 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/GeneratePeaks-v1.rst @@ -0,0 +1,44 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Generate a workspace by summing over the peak functions. The peaks' +parameters are given in a `TableWorkspace `__. + +Peak Parameters +############### + +Peak parameters must have the following parameters, which are case +sensitive in input `TableWorkspace `__ + +| ``1. spectrum`` +| ``2. centre`` +| ``3. height`` +| ``4. width (FWHM)`` +| ``5. backgroundintercept (a0)`` +| ``6. backgroundslope (a1)`` +| ``7. A2`` +| ``8. chi2`` + +Output +###### + +| ``Output will include`` +| ``1. pure peak`` +| ``2. pure background (with specified range of FWHM (int))`` +| ``3. peak + background`` + +.. raw:: mediawiki + + {{AlgorithmLinks|GeneratePeaks}} + +Category:Algorithms + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/GeneratePythonScript-v1.rst b/Code/Mantid/docs/source/algorithms/GeneratePythonScript-v1.rst new file mode 100644 index 000000000000..05bda3b61c6c --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/GeneratePythonScript-v1.rst @@ -0,0 +1,39 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Retrieves the algorithm history of the workspace and saves it to a +Python script file or Python variable. + +Example usage: +############## + +.. code-block:: python + + # Optional: Store the contents of the workspace to a file to your desktop. + GeneratePythonScript("MUSR00022725", "/home/userName/Desktop/MUSR00022725.py") + + # Store the contents of the workspace history into the hist variable + wsHistory = GeneratePythonScript("MUSR00022725") + + # Output the contents of the hist variable. + print wsHistory + + ###################################################################### + #Python Script Generated by GeneratePythonScript Algorithm + ###################################################################### + Load(Filename=r'/home/userName/workspace/mantid/Test/AutoTestData/MUSR00022725.nxs',OutputWorkspace='MUSR00022725') + RenameWorkspace(InputWorkspace='MUSR00022725',OutputWorkspace='test') + +.. raw:: mediawiki + + {{AlgorithmLinks|GeneratePythonScript}} + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/GetDetOffsetsMultiPeaks-v1.rst b/Code/Mantid/docs/source/algorithms/GetDetOffsetsMultiPeaks-v1.rst new file mode 100644 index 000000000000..3b500173a95f --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/GetDetOffsetsMultiPeaks-v1.rst @@ -0,0 +1,191 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Description +----------- + +This algorithm requires a workspace that is both in d-spacing, but has +also been preprocessed by the :ref:`algm-CrossCorrelate` +algorithm. In this first step you select one spectrum to be the +reference spectrum and all of the other spectrum are cross correlated +against it. Each output spectrum then contains a peak whose location +defines the offset from the reference spectrum. + +The algorithm iterates over each spectrum in the workspace and fits a +`Gaussian `__ function to the reference peak. The fit is used +to calculate the centre of the fitted peak, and the offset is then +calculated as: + +This is then written into a `.cal file `__ for every detector +that contributes to that spectrum. All of the entries in the cal file +are initially set to both be included, but also to all group into a +single group on :ref:`algm-DiffractionFocussing`. The +:ref:`algm-CreateCalFileByNames` algorithm can be used to +alter the grouping in the cal file. + +Fit for peak offset +################### + +The algorithm to calculate offset of peaks' positions is to minimize a +cost function as + +.. math:: \sum_{p} |X_{0, p} - (1+offset)\cdot X_{0, p}|/\chi^2_{p} + +, which p is the index of a peak whose position is within MinD and MaxD. + +Spectra to mask +############### + +- Empty spectrum marked as "empty det" + +- Spectrum with counts less than 1.0E^-3 in defined d-range as "dead + det" + +- Calculated offset exceeds the user-defined maximum offset. + +Criteria on peaks +################# + +The (fitted) peak must meet a series of criteria to be used to fit +spectrum's offset. + +A peak will not be used if + +- its centre is out of pre-defined d-range, i.e., MinD and MaxD; +- its centre is out of fitting window if it is defined; +- its :math:`\chi^2` of peak fitting is larger than pre-defined maximum + value; +- its height is lower than pre-defined lowest peak height; +- its signal/noise ratio is less than 5 + :math:`H\cdot FWHM\_To\_SIGMA/width < 5`; +- its height is not outside of error bars of background + :math:`H < \sqrt{H + B}/2`; +- its z-value on :math:`\frac{\delta d}{d}` is larger than 2.0. + +Generate fit window +################### + +- Required parameter: maxWidth. If it is not given, i.e., less or equal + to zero, then there won't be any window defined; +- Definition of fit window for peaks indexed from 0 to N-1 + + - Peak 0: window = Min((X0\_0-dmin), maxWidth), Min((X0\_1-X0\_0)/2, + maxWidth) + - Peak i (0 < i < N-1): window = Min((X0\_i-X0\_{i-1})/2, maxWidth), + Min((X0\_1-X0\_0)/2, maxWidth) + - Peak N-1: window = Min((X0\_i-X0\_{i-1})/2, maxWidth), + Min((dmax-X0\_i), maxWidth) + +where X0\_i is the centre of i-th peak. + +Fitting Quality +--------------- + +GetDetOffsetsMultiPeaks have 2 levels of fitting. First it will call +FindPeaks to fit Bragg peaks within d-range. Then it will fit offsets +from the peak positions obtained in the previous step. Therefore, the +performance of FindPeaks is critical to this algorithm. It is necessary +to output values reflecting the goodness of fitting of this algorithm to +users. + +Number of spectra that are NOT masked +##################################### + +A spectrum will be masked if it is a dead pixel, has an empty detector +or has no peak that can be fit with given peak positions. The +performance of *FindPeaks* affects the third criteria. A better +algorithm to find and fit peaks may save some spectrum with relatively +much fewer events received, i.e., poorer signal. + +:math:`\chi^2` of the offset fitting function +############################################# + +The goodness of fit, :math:`\chi^2_{iws}`, of the offset fitting +function + +.. math:: \sum_{p} |X_{0, p} - (1+offset)X_{0, p}|\cdot H^2_{p} + +is an important measure of fitting quality on each spectrum (indexed as +iws). + +Deviation of highest peaks +########################## + +We observed that in some situation, the calibrated peaks' positions of +some spectra are far off to the targeted peak positions, while goodness +of fit such as :math:`\chi^2` are still good. It is usally caused by the +bad fit of one or two peaks in that spectrum, which feeds some erroreous +peak positions to peak offset fitting function. + +This type of bad fitting is very easily identified by visualization, +because the shift of peaks from the correct positions is significant in +fill plot. + +Therefore, deviation of highest peak if spectrum i, :math:`D_{i}` is +defined as: + +.. math:: D_{i} = |X^{(o)}\cdots(1+offset) - X^{(c)}| + +where :math:`X^{(o)}` is the fitted centre of the highest peak of +spectrum i, and :math:`X^{(c)}` is the theoretical centre of this peak. + +Collective quantities to illustrate goodness of fitting (still in developement) +############################################################################### + +Be noticed that the idea of this section is still under development and +has not been implemented yet. + +On the other hand, since GetDetOffsetsMultiPeaks always operates on an +EventWorkspace with thousands or several ten thousands of spectra, it is +very hard to tell the quality of fitting by looking at +:math:`\chi^2_{iws}` of all spectra. Hence, Here are two other +parameters are defined for comparison of results. + + :math:`g_1 = \frac{\sum_{s}D_{s}^2}{N_{nm}}` + +, where s is the index of any unmasked spectrum and :math:`N_{mn}` is +the number of unmasked spectra; + + :math:`g_2 = \frac{\sum_{s}D_{s}^2\cdot H_{s}^2}{N_{nm}}`, + +where :math:`H_{s}` is the height of highest peak of spectrum s. + +Standard error on offset +######################## + +The offset in unit of d-spacing differs is proportional to peak's +position by definition: + +.. math:: X_0^{(f)} = X_0^{(o)} * (1+offset) + +where :math:`X_0^{(f)}` is the focussed peak position, and +:math:`X_0^{(o)}` is the observed peak position by fitting. + +As different spectrum covers different d-space range, the highest peak +differs. Therefore, the error of offset should be normalized by the +peak's position. + +.. math:: E = (X_0^{(f)} - X_0^{(o)}*(1+offset))/X_0^{(f)} = 1 - \frac{X_0^{(o)}}{X_0^{(f)}}\cdot(1+offset) + +And it is unitless. + +By this mean, the error of all peaks should be close if they are fitted +correctly. + +Usage +----- + +**Python** + +OutputW,NumberPeaksFitted,Mask = +GetDetOffsetsMultiPeaks("InputW",0.01,2.0,1.8,2.2,"output.cal") + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/GetDetectorOffsets-v1.rst b/Code/Mantid/docs/source/algorithms/GetDetectorOffsets-v1.rst new file mode 100644 index 000000000000..33536347d520 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/GetDetectorOffsets-v1.rst @@ -0,0 +1,33 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm requires a workspace that is both in d-spacing, but has +also been preprocessed by the :ref:`algm-CrossCorrelate` +algorithm. In this first step you select one spectrum to be the +reference spectrum and all of the other spectrum are cross correlated +against it. Each output spectrum then contains a peak whose location +defines the offset from the reference spectrum. + +The algorithm iterates over each spectrum in the workspace and fits a +`Gaussian `__ function to the reference peaks. The fit is used +to calculate the centre of the fitted peak, and the offset is then +calculated as: + +:math:`-peakCentre*step/(dreference+PeakCentre*step)` + +This is then written into a `.cal file `__ for every detector +that contributes to that spectrum. All of the entries in the cal file +are initially set to both be included, but also to all group into a +single group on :ref:`algm-DiffractionFocussing`. The +:ref:`algm-CreateCalFileByNames` algorithm can be used to +alter the grouping in the cal file. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/GetEi-v1.rst b/Code/Mantid/docs/source/algorithms/GetEi-v1.rst new file mode 100644 index 000000000000..dead31615e9a --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/GetEi-v1.rst @@ -0,0 +1,47 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Uses E= (1/2)mv^2 to calculate the energy of neutrons leaving the +source. The velocity is calculated from the time it takes for the +neutron pulse to travel between the two monitors whose spectra were +specified. + +An initial energy guess is required for the algorithm to find the +correct peak. The analysis will be done on the highest peak that is +within 8% of the estimated TOF given by the estimate. + +Not all neutrons arrive at the monitors at the same time because their +kinetic energies, and therefore velocities, are all different. The time +of arrival of the neutron pulse is taken to be the mean of the two half +peak height locations. The half height points are found as follows: + +#. the peak height is the largest number of counts above the background + in any bin in the window +#. the half height is half the above number +#. examine bins to the left of the bin with the highest number of counts + looking for a bin with less than half that number above background +#. interpolate between this point bin and the one immediately previous + to find the first half height location +#. repeat the steps 3 and 4 looking to the right of the highest point to + get the second half height point +#. the mean of the X-values of the two half height points is the TOF + arrival time of the neutrons + +The above process is illustrated on a peak is shown below in the image +below |Monitor Peak\|centre\|618px| + +The distances between the monitors are read from the instrument +definition file. It is assumed that the source and the monitors all lie +on one line and that the monitors have the same delay time. + +.. |Monitor Peak\|centre\|618px| image:: /images/Monitorspect_getei.jpg + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/GetEi-v2.rst b/Code/Mantid/docs/source/algorithms/GetEi-v2.rst new file mode 100644 index 000000000000..b15f0c5ad981 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/GetEi-v2.rst @@ -0,0 +1,50 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Uses E= (1/2)mv^2 to calculate the energy of neutrons leaving the +source. The velocity is calculated from the time it takes for the +neutron pulse to travel between the two monitors whose spectra were +specified. If no spectra are specified, the algorithm will use the +defaults for the instrument. + +An initial energy guess is required for the algorithm to find the +correct peak. The analysis will be done on the highest peak that is +within 8% of the estimated TOF given by the estimate. If no initial +guess is given, the algorithm will try to get it from the workspace, +from a sample log variable called "EnergyRequest". + +Not all neutrons arrive at the monitors at the same time because their +kinetic energies, and therefore velocities, are all different. The time +of arrival of the neutron pulse is taken to be the mean of the two half +peak height locations. The half height points are found as follows: + +#. the peak height is the largest number of counts above the background + in any bin in the window +#. the half height is half the above number +#. examine bins to the left of the bin with the highest number of counts + looking for a bin with less than half that number above background +#. interpolate between this point bin and the one immediately previous + to find the first half height location +#. repeat the steps 3 and 4 looking to the right of the highest point to + get the second half height point +#. the mean of the X-values of the two half height points is the TOF + arrival time of the neutrons + +The above process is illustrated on a peak is shown below in the image +below |Monitor Peak\|centre\|618px| + +The distances between the monitors are read from the instrument +definition file. It is assumed that the source and the monitors all lie +on one line and that the monitors have the same delay time. + +.. |Monitor Peak\|centre\|618px| image:: /images/Monitorspect_getei.jpg + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/GetEiMonDet-v1.rst b/Code/Mantid/docs/source/algorithms/GetEiMonDet-v1.rst new file mode 100644 index 000000000000..1b697418dbad --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/GetEiMonDet-v1.rst @@ -0,0 +1,19 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Get incident energy from one monitor and some detectors. If the minimum +distance from the sample to detectors is dmin, one will select detectors +in the range dmin to dmin\*MaximumDistanceFraction. These are grouped +together, appended to a copy of the monitor workspace, then fed to GetEi +algorithm. The output of this algorithm is identical to that of +:ref:`algm-GetEi`. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/GetEiT0atSNS-v1.rst b/Code/Mantid/docs/source/algorithms/GetEiT0atSNS-v1.rst new file mode 100644 index 000000000000..eaa31aa64b1c --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/GetEiT0atSNS-v1.rst @@ -0,0 +1,22 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Get Ei and T0 on ARCS and SEQUOIA instruments. It accounts for the +following: + +- in the ADARA framework, the monitors are in the first frame. +- SEQUOIA has event based monitors. +- some data aquisition errors will create unphysical monitor IDs. This + will be ignored +- when vChTrans is 2, on ARCS and SEQUOIA there is no chopper in the + beam (white beam). Will return not a number for both Ei and T0 + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/GetTimeSeriesLogInformation-v1.rst b/Code/Mantid/docs/source/algorithms/GetTimeSeriesLogInformation-v1.rst new file mode 100644 index 000000000000..a75627ed86d0 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/GetTimeSeriesLogInformation-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Get information from a TimeSeriesProperty log. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/GoniometerAnglesFromPhiRotation-v1.rst b/Code/Mantid/docs/source/algorithms/GoniometerAnglesFromPhiRotation-v1.rst new file mode 100644 index 000000000000..1a17ffce4ad0 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/GoniometerAnglesFromPhiRotation-v1.rst @@ -0,0 +1,20 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm is used for finding Goniometer angles when instrument +readings are basically unknown. The inputs are two PeaksWorkspaces +corresponding to sample orientations of the SAME crystal that differ +only in their phi rotation. + +If the phi angles are known, this algorithm attempts to find the common +chi and omega rotations. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/GreaterThanMD-v1.rst b/Code/Mantid/docs/source/algorithms/GreaterThanMD-v1.rst new file mode 100644 index 000000000000..6a85b8ec8c72 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/GreaterThanMD-v1.rst @@ -0,0 +1,22 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Perform the > (greater-than) boolean operation on two MDHistoWorkspaces +or a MDHistoWorkspace and a scalar. The output workspace has a signal of +0.0 to mean "false" and a signal of 1.0 to mean "true". Errors are 0. + +For two MDHistoWorkspaces, the operation is performed +element-by-element. + +For a MDHistoWorkspace and a scalar, the operation is performed on each +element of the output. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/GroupDetectors-v1.rst b/Code/Mantid/docs/source/algorithms/GroupDetectors-v1.rst new file mode 100644 index 000000000000..8500a58197a0 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/GroupDetectors-v1.rst @@ -0,0 +1,91 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm sums, bin-by-bin, multiple spectra into a single spectra. +The errors are summed in quadrature and the algorithm checks that the +bin boundaries in X are the same. The new summed spectra are created at +the start of the output workspace and have spectra index numbers that +start at zero and increase in the order the groups are specified. Each +new group takes the spectra numbers from the first input spectrum +specified for that group. All detectors from the grouped spectra will be +moved to belong to the new spectrum. + +Not all spectra in the input workspace have to be copied to a group. If +KeepUngroupedSpectra is set to true any spectra not listed will be +copied to the output workspace after the groups in order. If +KeepUngroupedSpectra is set to false only the spectra selected to be in +a group will be used. + +To create a single group the list of spectra can be identified using a +list of either spectrum numbers, detector IDs or workspace indices. The +list should be set against the appropriate property. + +An input file allows the specification of many groups. The file must +have the following format\* (extra space and comments starting with # +are allowed) : + +| ``"unused number1"             `` +| ``"unused number2"`` +| ``"number_of_input_spectra1"`` +| ``"input spec1" "input spec2" "input spec3" "input spec4"`` +| ``"input spec5 input spec6"`` +| ``**    `` +| ``"unused number2" `` +| ``"number_of_input_spectra2"`` +| ``"input spec1" "input spec2" "input spec3" "input spec4"`` + +\* each phrase in "" is replaced by a single integer + +\*\* the section of the file that follows is repeated once for each +group + +Some programs require that "unused number1" is the number of groups +specified in the file but Mantid ignores that number and all groups +contained in the file are read regardless. "unused number2" is in other +implementations the group's spectrum number but in this algorithm it is +is ignored and can be any integer (not necessarily the same integer) + +| ``An example of an input file follows:`` +| ``2  `` +| ``1  `` +| ``64  `` +| ``1 2 3 4 5 6 7 8 9 10  `` +| ``11 12 13 14 15 16 17 18 19 20  `` +| ``21 22 23 24 25 26 27 28 29 30  `` +| ``31 32 33 34 35 36 37 38 39 40  `` +| ``41 42 43 44 45 46 47 48 49 50  `` +| ``51 52 53 54 55 56 57 58 59 60  `` +| ``61 62 63 64  `` +| ``2  `` +| ``60`` +| ``65 66 67 68 69 70 71 72 73 74  `` +| ``75 76 77 78 79 80 81 82 83 84  `` +| ``85 86 87 88 89 90 91 92 93 94  `` +| ``95 96 97 98 99 100 101 102 103 104  `` +| ``105 106 107 108 109 110 111 112 113 114  `` +| ``115 116 117 118 119 120 121 122 123 124`` + +In addition the following XML grouping format is also supported + +.. code-block:: xml + + + + + + + + + + +where is used to specify spectra IDs and detector IDs. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/GroupDetectors-v2.rst b/Code/Mantid/docs/source/algorithms/GroupDetectors-v2.rst new file mode 100644 index 000000000000..88f8662b4015 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/GroupDetectors-v2.rst @@ -0,0 +1,106 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm sums, bin-by-bin, multiple spectra into a single spectra. +The errors are summed in quadrature and the algorithm checks that the +bin boundaries in X are the same. The new summed spectra are created at +the start of the output workspace and have spectra index numbers that +start at zero and increase in the order the groups are specified. Each +new group takes the spectra numbers from the first input spectrum +specified for that group. All detectors from the grouped spectra will be +moved to belong to the new spectrum. + +Not all spectra in the input workspace have to be copied to a group. If +KeepUngroupedSpectra is set to true any spectra not listed will be +copied to the output workspace after the groups in order. If +KeepUngroupedSpectra is set to false only the spectra selected to be in +a group will be used. + +To create a single group the list of spectra can be identified using a +list of either spectrum numbers, detector IDs or workspace indices. The +list should be set against the appropriate property. + +An input file allows the specification of many groups. The file must +have the following format\* (extra space and comments starting with # +are allowed) : + +| ``"unused number1"             `` +| ``"unused number2"`` +| ``"number_of_input_spectra1"`` +| ``"input spec1" "input spec2" "input spec3" "input spec4"`` +| ``"input spec5 input spec6"`` +| ``**    `` +| ``"unused number2" `` +| ``"number_of_input_spectra2"`` +| ``"input spec1" "input spec2" "input spec3" "input spec4"`` + +\* each phrase in "" is replaced by a single integer + +\*\* the section of the file that follows is repeated once for each +group + +Some programs require that "unused number1" is the number of groups +specified in the file but Mantid ignores that number and all groups +contained in the file are read regardless. "unused number2" is in other +implementations the group's spectrum number but in this algorithm it is +is ignored and can be any integer (not necessarily the same integer) + +| ``An example of an input file follows:`` +| ``2  `` +| ``1  `` +| ``64  `` +| ``1 2 3 4 5 6 7 8 9 10  `` +| ``11 12 13 14 15 16 17 18 19 20  `` +| ``21 22 23 24 25 26 27 28 29 30  `` +| ``31 32 33 34 35 36 37 38 39 40  `` +| ``41 42 43 44 45 46 47 48 49 50  `` +| ``51 52 53 54 55 56 57 58 59 60  `` +| ``61 62 63 64  `` +| ``2  `` +| ``60`` +| ``65 66 67 68 69 70 71 72 73 74  `` +| ``75 76 77 78 79 80 81 82 83 84  `` +| ``85 86 87 88 89 90 91 92 93 94  `` +| ``95 96 97 98 99 100 101 102 103 104  `` +| ``105 106 107 108 109 110 111 112 113 114  `` +| ``115 116 117 118 119 120 121 122 123 124`` + +In addition the following XML grouping format is also supported + +.. code-block:: xml + + + + + + + + + + +where is used to specify spectra IDs and detector IDs. + +Previous Versions +----------------- + +Version 1 +######### + +The set of spectra to be grouped can be given as a list of either +spectrum numbers, detector IDs or workspace indices. The new, summed +spectrum will appear in the workspace at the first workspace index of +the pre-grouped spectra (which will be given by the ResultIndex property +after execution). The detectors for all the grouped spectra will be +moved to belong to the first spectrum. *A technical note: the workspace +indices previously occupied by summed spectra will have their data +zeroed and their spectrum number set to a value of -1.* + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/GroupWorkspaces-v1.rst b/Code/Mantid/docs/source/algorithms/GroupWorkspaces-v1.rst new file mode 100644 index 000000000000..35dae89dbf9a --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/GroupWorkspaces-v1.rst @@ -0,0 +1,15 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm takes two or more workspaces as input and creates an +output workspace group. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/HFIRDarkCurrentSubtraction-v1.rst b/Code/Mantid/docs/source/algorithms/HFIRDarkCurrentSubtraction-v1.rst new file mode 100644 index 000000000000..a8c3b27f1919 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/HFIRDarkCurrentSubtraction-v1.rst @@ -0,0 +1,25 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Subtract the dark current from a HFIR SANS data set. This workflow +algorithm will: + +- Properly load the dark current data set + +- Normalize the dark current to the data taking period + +- Subtract the dark current from the input workspace + +See `SANS +Reduction `__ +documentation for details. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/HFIRLoad-v1.rst b/Code/Mantid/docs/source/algorithms/HFIRLoad-v1.rst new file mode 100644 index 000000000000..19d1898d683e --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/HFIRLoad-v1.rst @@ -0,0 +1,25 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Workflow algorithm that loads HFIR SANS data and applies basic +corrections to the workspace. Those include: + +- Moving the detector at its proper position in Z + +- Moving the detector according to the beam center + +- Gathering meta-data + +See `SANS +Reduction `__ +documentation for details. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/HFIRSANSNormalise-v1.rst b/Code/Mantid/docs/source/algorithms/HFIRSANSNormalise-v1.rst new file mode 100644 index 000000000000..fcd284da51f7 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/HFIRSANSNormalise-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Performs data normalisation for HFIR SANS. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/HFIRSANSReduction-v1.rst b/Code/Mantid/docs/source/algorithms/HFIRSANSReduction-v1.rst new file mode 100644 index 000000000000..fe646d6aa6e1 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/HFIRSANSReduction-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +HFIR SANS reduction workflow + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/HRPDSlabCanAbsorption-v1.rst b/Code/Mantid/docs/source/algorithms/HRPDSlabCanAbsorption-v1.rst new file mode 100644 index 000000000000..bd2f1ec81eb7 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/HRPDSlabCanAbsorption-v1.rst @@ -0,0 +1,46 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm is a refinement of the +:ref:`algm-FlatPlateAbsorption` algorithm for the specific +case of an HRPD 'slab can' sample holder. It uses the aforementioned +generic algorithm to calculate the correction due to the sample itself, +using numerical integration. This is done using the standard height x +width dimensions of an HRPD sample holder of 23 x 18 mm. Valid values of +the thickness are 2,5,10 & 15 mm, although this is not currently +enforced. + +Further corrections are then carried out to account for the 0.125mm +Vanadium windows at the front and rear of the sample, and for the +aluminium of the holder itself (which is traversed by neutrons en route +to the 90 degree bank). This is carried out using an analytical +approximation for a flat plate, the correction factor being calculated +as +:math:`\rm{exp} \left( \frac{- \rho \left( \sigma_a \frac{ \lambda} {1.798} + \sigma_s \right) t}{\rm{cos} \, \theta} \right)`, +where :math:`\lambda` is the wavelength, :math:`\theta` the angle +between the detector and the normal to the plate and the other symbols +are as given in the property list above. The assumption is that the +neutron enters the plate along the normal. + +Restrictions on the input workspace +################################### + +The input workspace must have units of wavelength. The +`instrument `__ associated with the workspace must be fully +defined because detector, source & sample position are needed. + +ChildAlgorithms used +#################### + +The :ref:`algm-FlatPlateAbsorption` algorithm is used to +calculate the correction due to the sample itself. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/HasUB-v1.rst b/Code/Mantid/docs/source/algorithms/HasUB-v1.rst new file mode 100644 index 000000000000..e7938fa58059 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/HasUB-v1.rst @@ -0,0 +1,16 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Determine if a workspace has a UB matrix on any of it's samples. Returns +True if one is found. Returns false if none can be found, or if the +workspace type is incompatible. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/He3TubeEfficiency-v1.rst b/Code/Mantid/docs/source/algorithms/He3TubeEfficiency-v1.rst new file mode 100644 index 000000000000..0d80ebaa050f --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/He3TubeEfficiency-v1.rst @@ -0,0 +1,41 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm corrects the detection efficiency of He3 tubes using an +exponential function and certain detector properties. The correction +scheme is given by the following: + +:math:`\epsilon = \frac{A}{1-e^{\frac{-\alpha P (L - 2W) \lambda}{T sin(\theta)}}}` + +where *A* is a dimensionless scaling factor, :math:`\alpha` is a +constant with units *(Kelvin / (metres :math:`\AA` atm))*, *P* is +pressure in units of *atm*, *L* is the tube diameter in units of +*metres*, *W* is the tube thickness in units of *metres*, *T* is the +temperature in units of *Kelvin*, *sin(\ :math:`\theta`)* is the angle +of the neutron trajectory with respect to the long axis of the He3 tube +and :math:`\lambda` is in units of :math:`\AA`. + +The Optional properties that are of num list type can be used in the +following manner. If no input value is given, the detector parameter is +pulled from the detector itself. If a single value is used as input, +that value is applied to all detectors. If an array of values is used, +that array *must* be the same size as the number of spectra in the +workspace. If it is not, the spectra indicies that do not have values +will be zeroed in the output workspace. + +Restrictions on Input Workspace +############################### + +The input workspace must be in units of wavelength. + +The input workspace must be histogram data. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/IQTransform-v1.rst b/Code/Mantid/docs/source/algorithms/IQTransform-v1.rst new file mode 100644 index 000000000000..d777a7c597a4 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/IQTransform-v1.rst @@ -0,0 +1,54 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm is intended to take the output of a SANS reduction and +apply a transformation to the data in an attempt to linearise the curve. +Optionally, a background can be subtracted from the input data prior to +transformation. This can be either a constant value, another workspace +or both. Note that this expects a single spectrum input; if the input +workspace contains multiple spectra, only the first will be transformed +and appear in the output workspace. + +A SANS reduction results in data in the form I(Q) vs Q, where Q is +Momentum Transfer and I denotes intensity (the actual unit on the Y axis +is 1/cm). These abbreviations are used in the descriptions of the +transformations which follow. If the input is a histogram, the mid-point +of the X (i.e. Q) bins will be taken. The output of this algorithm is +always point data. + ++-----------------------+-----------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ +| Transformation Name | Y | X | ++=======================+===============================================================================================+==================================================================================================+ +| Guinier (spheres) | :math:`\ln (I)` | :math:`Q^2` | ++-----------------------+-----------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ +| Guinier (rods) | :math:`\ln (IQ)` | :math:`Q^2` | ++-----------------------+-----------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ +| Guinier (sheets) | :math:`\ln (IQ^2)` | :math:`Q^2` | ++-----------------------+-----------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ +| Zimm | :math:`\frac{1}{I}` | :math:`Q^2` | ++-----------------------+-----------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ +| Debye-Bueche | :math:`\frac{1}{\sqrt{I}}` | :math:`Q^2` | ++-----------------------+-----------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ +| Holtzer | :math:`I \times Q` | :math:`Q` | ++-----------------------+-----------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ +| Kratky | :math:`I \times Q^2` | :math:`Q` | ++-----------------------+-----------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ +| Porod | :math:`I \times Q^4` | :math:`Q` | ++-----------------------+-----------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ +| Log-Log | :math:`\ln(I)` | :math:`\ln(Q)` | ++-----------------------+-----------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ +| General \* | :math:`Q^{C_1} \times I^{C_2} \times \ln{\left( Q^{C_3} \times I^{C_4} \times C_5 \right)}` | :math:`Q^{C_6} \times I^{C_7} \times \ln{\left( Q^{C_8} \times I^{C_9} \times C_{10} \right)}` | ++-----------------------+-----------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + +\* The constants :math:`C_1 - C_{10}` are, in subscript order, the ten +constants passed to the GeneralFunctionConstants property. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/IdentifyNoisyDetectors-v1.rst b/Code/Mantid/docs/source/algorithms/IdentifyNoisyDetectors-v1.rst new file mode 100644 index 000000000000..a30e3d471bab --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/IdentifyNoisyDetectors-v1.rst @@ -0,0 +1,36 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The process for this algorithm is: + +- The standard deviation for each pixel within the pre-set range is + calculated. +- The mean value and standard deviation of these standard deviation + values is calculated. +- Any detector/pixel for which it's standard deviation value satisfied + the following conditions: + + - sdev(pixel) < mean(sdevs) - 3 \* sdev(sdevs) + - sdev(pixel) > mean(sdevs) + 3 \* sdev(sdevs) + - sdev(pixel) < mean(sdevs) \* 0.0001 + +- (cont) is considered to be "noisy". + +This is repeated three times from the second step. + +This uses the :ref:`algm-Integration`, :ref:`algm-Power` and +:ref:`algm-Divide` algorithms for the first step. + +The lower bound for the integration is currently fixed to 2000. + +The upper bound for the integration is currently fixed to 19000. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ImportMDEventWorkspace-v1.rst b/Code/Mantid/docs/source/algorithms/ImportMDEventWorkspace-v1.rst new file mode 100644 index 000000000000..d76aeb3034bb --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ImportMDEventWorkspace-v1.rst @@ -0,0 +1,60 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Creates an MDEventWorkspace from a plain ASCII file. Uses a simple +format for the file described below. This algorithm is suitable for +importing small volumes of data only. This algorithm does not scale well +for large input workspaces. The purpose of this algorithm is to allow +users to quickly import data from existing applications for purposes of +comparison. + +Format +------ + +The file must contain a **DIMENSIONS** section listing the +dimensionality of the workspace. Each input line is taken as a new +dimension after the **DIMENSIONS** flag, and before the **MDEVENTS** +flag. Input arguments must be separated by a space or tab. They are +provided in the order Name, ID, Units, NumberOfBins. See the Usage +examples below. + +The file must contain a **MDEVENTS** flag after the **DIMENSIONS** flag. +Again, inputs are separated by a space or tab, each line represents a +unique MDEvent. There must be either NDims + 2 or NDims + 4 columns in +this section. If there are NDims + 2, columns, then *Lean* MDEvents will +be used (Signal, Error and Dimensionality only). If there are NDims + 4 +columns, then *Full* MDEvents will be used (Signal, Error, RunNo, +DetectorId and Dimensionality). If you have provided NDims + 2 columns, +then each row is interpreted as follows: + +``Signal Error {Dimensionality}`` + +where the Dimensionality is an array of coordinates in each of the +dimensions listed in the **DIMENSIONS** section, and in that order. IF +there are NDims + 4 columns, then *Full* MDEvents will be used. Each row +is interpreted as follows: + +``Signal Error RunNumber DetectorId {Dimensionality}`` + +The usage example below shows demo files with both of these formats. + +Comments are denoted by lines starting with **#**. There is no +multi-line comment. + +Alternatives +------------ + +Other alternatives to importing/creating MDWorkspaces are +:ref:`algm-ImportMDHistoWorkspace`, +:ref:`algm-CreateMDHistoWorkspace` and +:ref:`algm-CreateMDWorkspace` + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ImportMDHistoWorkspace-v1.rst b/Code/Mantid/docs/source/algorithms/ImportMDHistoWorkspace-v1.rst new file mode 100644 index 000000000000..34dfbb3ab759 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ImportMDHistoWorkspace-v1.rst @@ -0,0 +1,45 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm takes a text file (.txt extension) containing two columns +and converts it into an MDHistoWorkspace. + +Details +####### + +The columns are in the order **signal** then **error**. The file must +only contain two columns, these may be separated by any whitespace +character. The algorithm expects there to be 2\*product(nbins in each +dimension) entries in this file. So if you have set the dimensionality +to be *4,4,4* then you will need to provide 64 rows of data, in 2 +columns or 124 floating point entries. + +The Names, Units, Extents and NumberOfBins inputs are all linked by the +order they are provided in. For example, if you provide Names *A, B, C* +and Units *U1, U2, U3* then the dimension *A* will have units *U1*. + +Signal and Error inputs are read in such that, the first entries in the +file will be entered across the first dimension specified, and the +zeroth index in the other dimensions. The second set of entries will be +entered across the first dimension and the 1st index in the second +dimension, and the zeroth index in the others. + +Alternatives +------------ + +A very similar algorithm to this is +:ref:`algm-CreateMDHistoWorkspace`, which takes it's +input signal and error values from arrays rather than a text file. +Another alternative is to use :ref:`algm-ConvertToMD` which works +on MatrixWorkspaces, and allows log values to be included in the +dimensionality. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/IndexPeaks-v1.rst b/Code/Mantid/docs/source/algorithms/IndexPeaks-v1.rst new file mode 100644 index 000000000000..8f7f901158a2 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/IndexPeaks-v1.rst @@ -0,0 +1,28 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Given a PeaksWorkspace with a UB matrix stored with the sample, this +algorithm will use UB inverse to index the peaks. If there are peaks +from multiple runs in the workspace, the stored UB will be used to get +an initial indexing for the peaks from each individual run. +Subsequently, a temporary UB will be optimzed for the peaks from each +individual run, and used to index the peaks from that run. In this way, +a consistent indexing of the peaks from multiple runs will be obtained, +which indexes the largest number of peaks, although one UB may not +produce exactly that indexing for all peaks, within the specified +tolerance. + +Any peak with any Miller index more than the specified tolerance away +from an integer will have its (h,k,l) set to (0,0,0). The calculated +Miller indices can either be rounded to the nearest integer value, or +can be left as decimal fractions. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/IndexSXPeaks-v1.rst b/Code/Mantid/docs/source/algorithms/IndexSXPeaks-v1.rst new file mode 100644 index 000000000000..1bf0ed7661d9 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/IndexSXPeaks-v1.rst @@ -0,0 +1,24 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Given a PeaksWorkspace and a set of lattice parameters, attempts to tag +each peak with a HKL value by comparing d-spacings between potential HKL +matches and the peaks as well as angles between Q vectors. + +Usage Notes +----------- + +This algorithm does not generate a UB Matrix, it will only index peaks. +Run CalculateUMatrix algorithm after executing this algorithm in order +to attach a UB Matrix onto the sample. The CopySample algorithm will +allow this UB Matrix to be transfered between workspaces. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/IndirectTransmission-v1.rst b/Code/Mantid/docs/source/algorithms/IndirectTransmission-v1.rst new file mode 100644 index 000000000000..7556c22414f8 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/IndirectTransmission-v1.rst @@ -0,0 +1,20 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Calculates the scattering & transmission for Indirect Geometry +spectrometers. The sample chemical formula is input for the +SetSampleMaterial algorithm to calculate the cross-sections. The +instrument analyser reflection is selected to obtain the wavelength to +calculate the absorption cross-section. The sample number density & +thickness is input to then calculate the percentage scattering & +transmission. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/IntegrateByComponent-v1.rst b/Code/Mantid/docs/source/algorithms/IntegrateByComponent-v1.rst new file mode 100644 index 000000000000..59c7c1b226a4 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/IntegrateByComponent-v1.rst @@ -0,0 +1,23 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The algorithm integrates up the instrument hierarchy, and each pixel +will contain the average value for the component. For example, assuming +that for a particular instrument on workspace w1 a "tube" is made out of +"pixels", w=IntegrateByComponent(w1,1) will integrate values of w1, +calculate the average along the tube (LevelsUp=1) (for non-masked +pixels), and replace the value of each spectrum in a tube with the +average value for that tube. + +Note that if the detectors are grouped before, this algorithm won't run +except with LevelsUp=0 (integrate over all detectors). + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/IntegrateEllipsoids-v1.rst b/Code/Mantid/docs/source/algorithms/IntegrateEllipsoids-v1.rst new file mode 100644 index 000000000000..6bb8840a44b5 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/IntegrateEllipsoids-v1.rst @@ -0,0 +1,152 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Overview +######## + +This algorithm will integrate disjoint single crystal Bragg peaks by +summing the number of raw events in a 3D ellipsoidal peak region in +reciprocal space and subtracting an estimate of the background obtained +from an ellipsoidal shell. In some ways it is similar to the +IntegratePeaksMD algorithm, and it would be useful to also see the +documentation for that algorithm. In particular the size parameters to +this algorithm are also specified in inverse Angstroms and the +background subtraction is done in the same way for both the intensity +and the estimated standard deviations. However, this algorithm differs +from IntegratePeaksMD in several critical ways. + +- This algorithm counts raw, un-weighted events while IntegratePeaksMD + uses weighted events. +- This algorithm uses 3D ellipsoidal regions with aspect ratios that + are adapted to the set of events that are near the peak center, while + IntegratePeaksMD uses spherical regions. +- This algorithm includes an option to automatically choose the size of + the ellipsoidal regions based on the statistics of the set of events + near the peak. +- This algorithm only applies to peaks with integral HKL values and as + currently implemented it cannot be used to integrate ellipsoidal + regions at other locations in reciprocal space. + +The algorithm calculates the three principal axes of the events near a +peak, and uses the standard deviations in the directions of the +principal axes to determine the aspect ratio of ellipsoids used for the +peak and background regions. + +Explanation of Inputs +##################### + +- The event data to be integrated is obtained from an ordinary + EventWorkspace with an X-axis in time-of-flight, as loaded from a + NeXus event file. This algorithm maps the events to reciprocal space. + +- The peaks to be integrated are obtained from a PeaksWorkspace. The + peaks must be indexed, and any peaks indexed as (0,0,0) will be + ignored. The HKL values for valid peaks should all be integers, to + make this check for unindexed peaks reliable. + +- Only events that are near a peak are considered when constructing the + ellipsoids. The RegionRadius specifies the maximum distance from the + peak center to an event in reciprocal space, for that event to used. + See the figure below. Also, each event will be counted for at most + one peak, the one with the nearest HKL value. The RegionRadius should + be specified to be just slightly larger than the expected peak region + to avoid overlap with other peaks, and to avoid including excessive + background. As the size of the RegionRadius increases, the ellipsoids + will become more spherical and less well adapted to the actual shape + of the peak. + +.. figure:: /images/IntegrateEllipsoids.png + :alt: IntegrateEllipsoids.png + + IntegrateEllipsoids.png + +- If the SpecifySize option is selected, then the user MUST specify the + PeakSize, BackgroundInnerSize and BackgroundOuterSize. In this mode, + the algorithm is similar to the IntegratePeaksMD algorithm. As shown + in the figure, these values determine the length of the major axis + for the ellipsoidal peak region, and of the inner and outer + ellipsoids bounding the background region. The same major axis + lengths are used for all peaks, but the lengths of the other two axes + of the ellipsoids are adjusted based on the standard deviations of + the events in those directions. If SpecifySize is false, then the + major axis length for each peak will be set to include a range of + plus or minus three times the standard deviation of the events in + that direction. That is, PeakSize is set to three times the standard + deviation in the direction of the first principal axis. Also, in this + case the BackgroundInnerSize is set to the PeakSize and the + BackgroundOuterSize is set so that the background ellipsoidal shell + has the same volume as the peak ellipsoidal region. If specified by + the user, these parameters must be ordered correctly with: + :math:`0 < PeakSize \leq BackgroundInnerSize < BackgroundOuterSize \leq RegionRadius` + +- The integrated intensities will be set in the specified + OutputWorkspace. If this is different from the input PeaksWorkspace, + the input peaks workspace will be copied to the OutputWorkspace + before setting the integrated intensities. + +Detailed Algorithm Description +############################## + +This algorithm will integrate a list of indexed single-crystal +diffraction peaks from a PeaksWorkspace, using events from an +EventWorkspace. The indexed peaks are first used to determine a UB +matrix. The inverse of that UB matrix is then used to form lists of +events that are close to peaks in reciprocal space. An event will be +added to the list of events for a peak provided that the fractional +h,k,l value of that event (obtained by applying UB-inverse to the +Q-vector) is closer to the h,k,l of that peak, than to the h,k,l of any +other peak AND the Q-vector for that event is within the specified +radius of the Q-vector for that peak. + +When the lists of events near the peaks have been built, the three +principal axes of the set of events near each peak are found, and the +standard deviations of the projections of the events on each of the +three principal axes are calculated. The principal axes and standard +deviations for the events around a peak in the directions of the +principal axes are used to determine an ellipsoidal region for the peak +and an ellipsoidal shell region for the background. The number of events +in the peak ellipsoid and background ellipsoidal shell are counted and +used to determine the net integrated intensity of the peak. + +The ellipsoidal regions used for the peak and background can be obtained +in two ways. First, the user may specify the size of the peak ellipsoid +and the inner and outer size of the background ellipsoid. If these are +specified, the values will be used for half the length of the major axis +of an ellipsoid centered on the peak. The major axis is in the direction +of the principal axis for which the standard deviation in that direction +is largest. The other two axes for the ellipsoid are in the direction of +the other two principal axes and are scaled relative to the major axes +in proportion to their standard deviations. For example if the standard +deviations in the direction of the other two princial axes are .8 and .7 +times the standard deviation in the direction of the major axis, then +the ellipse will extend only .8 and .7 times as far in the direction of +those axes, as in the direction of the major axis. Overall, the user +specified sizes for the PeakSize, BackgroundInnerSize and +BackgroundOuterSize are similar to the PeakRadius, BackgroundInnerRadius +and BackgrounOuterRadius for the IntegratePeaksMD algorithm. The +difference is that the regions used in this algorithm are not spherical, +but are ellipsoidal with axis directions obtained from the principal +axes of the events near a peak and the ellipsoid shape (relative axis +lengths) is determined by the standard deviations in the directions of +the principal axes. + +Second, if the user does not specifiy the size of the peak and +background ellipsoids, then the three axes of the peak ellipsoid are +again set to the principal axes of the set of nearby events but in this +case their axis lengths are set to cover a range of plus or minus three +standard deviations in the axis directions. In this case, the background +ellipsoidal shell is chosen to have the same volume as the peak +ellipsoid and it's inner surface is the outer surface of the peak +ellipsoid. The outer surface of the background ellipsoidal shell is an +ellipsoidal surface with the same relative axis lengths as the inner +surface. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/IntegratePeakTimeSlices-v1.rst b/Code/Mantid/docs/source/algorithms/IntegratePeakTimeSlices-v1.rst new file mode 100644 index 000000000000..a18b641125f7 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/IntegratePeakTimeSlices-v1.rst @@ -0,0 +1,48 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm fits a bivariate normal distribution( plus background) to +the data on each time slice. The Fit program uses +`BivariateNormal `__ for the Fit Function. + +The area used for the fitting is calculated based on the dQ parameter. A +good value for dQ is 1/largest unit cell length. This parameter dictates +the size of the area used to approximate the intensity of the peak. The +estimate .1667/ max(a,b,c) assumes \|Q\|=1/d. + +The result is returned in this algorithm's output "Intensity" and +"SigmaIntensity" properties. The peak object is NOT CHANGED. + +The table workspace is also a result. Each line contains information on +the fit for each good time slice. The column names( and information) in +the table are: + +| `` Time, Channel, Background, Intensity, Mcol, Mrow, SScol,SSrow, SSrc, NCells,`` +| `` ChiSqrOverDOF, TotIntensity, BackgroundError, FitIntensityError, ISAWIntensity,`` +| ``  ISAWIntensityError,TotalBoundary, NBoundaryCells, Start Row, End Row,Start Col, and End Col.`` +| ``  The last column has a comma separated List of sepctral ID's used in the time slice.`` + +The final Peak intensity is the sum of the IsawIntensity for each time +slice. The error is the square root of the sum of squares of the +IsawIntensityError values. + +The columns whose names are Background, Intensity, Mcol, Mrow, SScol, +SSrow, and SSrc correspond to the parameters for the BivariateNormal +curve fitting function. + +This algorithm has been carefully tweaked to give good results for +interior peaks only. Peaks close to the edge of the detector may not +give good results. + +This Algorithm is also used by the :ref:`algm-PeakIntegration` +algorithm when the Fit tag is selected. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/IntegratePeaksMD-v1.rst b/Code/Mantid/docs/source/algorithms/IntegratePeaksMD-v1.rst new file mode 100644 index 000000000000..2272f6a98d96 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/IntegratePeaksMD-v1.rst @@ -0,0 +1,104 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm performs integration of single-crystal peaks within a +radius (with optional background subtraction) in reciprocal space. + +Inputs +###### + +The algorithms takes two input workspaces: + +- A MDEventWorkspace containing the events in multi-dimensional space. + This would be the output of + :ref:`algm-ConvertToDiffractionMDWorkspace`. +- As well as a PeaksWorkspace containing single-crystal peak locations. + This could be the output of :ref:`algm-FindPeaksMD` +- The OutputWorkspace will contain a copy of the input PeaksWorkspace, + with the integrated intensity and error found being filled in. + +Calculations +############ + +Integration is performed by summing the weights of each MDEvent within +the provided radii. Errors are also summed in quadrature. + +.. figure:: /images/IntegratePeaksMD_graph1.png + :alt: IntegratePeaksMD_graph1.png + + IntegratePeaksMD\_graph1.png + +- All the Radii are specified in :math:`\AA^{-1}` +- A sphere of radius **PeakRadius** is integrated around the center of + each peak. + + - This gives the summed intensity :math:`I_{peak}` and the summed + squared error :math:`\sigma I_{peak}^2`. + - The volume of integration is :math:`V_{peak}`. + +- If **BackgroundOuterRadius** is specified, then a shell, with radius + r where **BackgroundInnerRadius** < r < **BackgroundOuterRadius**, is + integrated. + + - This gives the summed intensity :math:`I_{shell}` and the summed + squared error :math:`\sigma I_{shell}^2`. + - The volume of integration is :math:`V_{shell}`. + - **BackgroundInnerRadius** allows you to give some space between + the peak and the background area. + +Background Subtraction +###################### + +The background signal within PeakRadius is calculated by scaling the +background signal density in the shell to the volume of the peak: + +:math:`I_{bg} = I_{shell} \frac{V_{peak}}{V_{shell}}` + +with the error squared on that value: + +:math:`\sigma I_{bg}^2 = \frac{V_{peak}}{V_{shell}} \sigma I_{shell}^2` + +This is applied to the integrated peak intensity :math:`I_{peak}` to +give the corrected intensity :math:`I_{corr}`: + +:math:`I_{corr} = I_{peak} - I_{bg}` + +with the errors summed in quadrature: + +:math:`\sigma I_{corr}^2 = \sigma I_{peak}^2 + \sigma I_{bg}^2` + +If BackgroundInnerRadius is Omitted +################################### + +If BackgroundInnerRadius is left blank, then **BackgroundInnerRadius** = +**PeakRadius**, and the integration is as follows: + +.. figure:: /images/IntegratePeaksMD_graph2.png + :alt: IntegratePeaksMD_graph2.png + + IntegratePeaksMD\_graph2.png +Sample Usage +############ + +.. code-block:: python + + # Load a SCD data set and find the peaks + LoadEventNexus(Filename=r'TOPAZ_3131_event.nxs',OutputWorkspace='TOPAZ_3131_nxs') + ConvertToDiffractionMDWorkspace(InputWorkspace='TOPAZ_3131_nxs',OutputWorkspace='TOPAZ_3131_md',LorentzCorrection='1') + FindPeaksMD(InputWorkspace='TOPAZ_3131_md',PeakDistanceThreshold='0.15',MaxPeaks='100',OutputWorkspace='peaks') + FindUBUsingFFT(PeaksWorkspace='peaks',MinD='2',MaxD='16') + + # Perform the peak integration, in-place in the 'peaks' workspace. + IntegratePeaksMD(InputWorkspace='TOPAZ_3131_md', PeaksWorkspace='peaks', + PeakRadius=0.12, BackgroundOuterRadius=0.2, BackgroundInnerRadius=0.16, + OutputWorkspace='peaks') + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/IntegratePeaksMD-v2.rst b/Code/Mantid/docs/source/algorithms/IntegratePeaksMD-v2.rst new file mode 100644 index 000000000000..2272f6a98d96 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/IntegratePeaksMD-v2.rst @@ -0,0 +1,104 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm performs integration of single-crystal peaks within a +radius (with optional background subtraction) in reciprocal space. + +Inputs +###### + +The algorithms takes two input workspaces: + +- A MDEventWorkspace containing the events in multi-dimensional space. + This would be the output of + :ref:`algm-ConvertToDiffractionMDWorkspace`. +- As well as a PeaksWorkspace containing single-crystal peak locations. + This could be the output of :ref:`algm-FindPeaksMD` +- The OutputWorkspace will contain a copy of the input PeaksWorkspace, + with the integrated intensity and error found being filled in. + +Calculations +############ + +Integration is performed by summing the weights of each MDEvent within +the provided radii. Errors are also summed in quadrature. + +.. figure:: /images/IntegratePeaksMD_graph1.png + :alt: IntegratePeaksMD_graph1.png + + IntegratePeaksMD\_graph1.png + +- All the Radii are specified in :math:`\AA^{-1}` +- A sphere of radius **PeakRadius** is integrated around the center of + each peak. + + - This gives the summed intensity :math:`I_{peak}` and the summed + squared error :math:`\sigma I_{peak}^2`. + - The volume of integration is :math:`V_{peak}`. + +- If **BackgroundOuterRadius** is specified, then a shell, with radius + r where **BackgroundInnerRadius** < r < **BackgroundOuterRadius**, is + integrated. + + - This gives the summed intensity :math:`I_{shell}` and the summed + squared error :math:`\sigma I_{shell}^2`. + - The volume of integration is :math:`V_{shell}`. + - **BackgroundInnerRadius** allows you to give some space between + the peak and the background area. + +Background Subtraction +###################### + +The background signal within PeakRadius is calculated by scaling the +background signal density in the shell to the volume of the peak: + +:math:`I_{bg} = I_{shell} \frac{V_{peak}}{V_{shell}}` + +with the error squared on that value: + +:math:`\sigma I_{bg}^2 = \frac{V_{peak}}{V_{shell}} \sigma I_{shell}^2` + +This is applied to the integrated peak intensity :math:`I_{peak}` to +give the corrected intensity :math:`I_{corr}`: + +:math:`I_{corr} = I_{peak} - I_{bg}` + +with the errors summed in quadrature: + +:math:`\sigma I_{corr}^2 = \sigma I_{peak}^2 + \sigma I_{bg}^2` + +If BackgroundInnerRadius is Omitted +################################### + +If BackgroundInnerRadius is left blank, then **BackgroundInnerRadius** = +**PeakRadius**, and the integration is as follows: + +.. figure:: /images/IntegratePeaksMD_graph2.png + :alt: IntegratePeaksMD_graph2.png + + IntegratePeaksMD\_graph2.png +Sample Usage +############ + +.. code-block:: python + + # Load a SCD data set and find the peaks + LoadEventNexus(Filename=r'TOPAZ_3131_event.nxs',OutputWorkspace='TOPAZ_3131_nxs') + ConvertToDiffractionMDWorkspace(InputWorkspace='TOPAZ_3131_nxs',OutputWorkspace='TOPAZ_3131_md',LorentzCorrection='1') + FindPeaksMD(InputWorkspace='TOPAZ_3131_md',PeakDistanceThreshold='0.15',MaxPeaks='100',OutputWorkspace='peaks') + FindUBUsingFFT(PeaksWorkspace='peaks',MinD='2',MaxD='16') + + # Perform the peak integration, in-place in the 'peaks' workspace. + IntegratePeaksMD(InputWorkspace='TOPAZ_3131_md', PeaksWorkspace='peaks', + PeakRadius=0.12, BackgroundOuterRadius=0.2, BackgroundInnerRadius=0.16, + OutputWorkspace='peaks') + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/IntegratePeaksUsingClusters-v1.rst b/Code/Mantid/docs/source/algorithms/IntegratePeaksUsingClusters-v1.rst new file mode 100644 index 000000000000..f8c04005e694 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/IntegratePeaksUsingClusters-v1.rst @@ -0,0 +1,94 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Integrates arbitary shaped single crystal peaks defined on an +`MDHistoWorkspace `__ using connected component +analysis to determine regions of interest around each peak of the +`PeaksWorkspace `__. The output is an integrated +`PeaksWorkspace `__ as well as an image containing the +labels assigned to each cluster for diagnostic and visualisation +purposes. + +**The algorithm makes no assmptions about Peak shape or size** and can +therfore be used where integration over defined shapes +:ref:`algm-IntegratePeaksMD` and +:ref:`algm-IntegrateEllipsoids`, for example, will not +work. + +.. figure:: /images/ClusterImage.png + :alt: ClusterImage.png + + ClusterImage.png +*Cluster Label region displayed in the `SliceViewer `__. +Peak centre is marked with an X. The green circle illustrates the +integration region used by :ref:`algm-IntegratePeaksMD`* + +A threshold for the Peak should be defined below which, parts of the +image are treated as background. The normalization method in combination +with the threshold may both be used to define a background. We suggest +keeping the default of VolumeNormalization so that changes in the +effective bin size do not affect the background filtering. + +This algorithm uses an imaging technique, and it is therefore important +that the MDHistoWorkspace you are using is binned to a sufficient +resolution via :ref:`algm-BinMD`. You can overlay the intergrated peaks +workspace in the `Slice +Viewer `__ over the +generated Cluster Labeled OutputWorkspaceMD to see what the interation +region used for each peak amounts to. + +Notes for running +----------------- + +It is suggested that you **initially run the algorithm on a coarse +image**. This will help you tune the Threshold parameters. The algorithm +generates a large memory footprint, so it is suggested that you keep the +initial image small, and run on hardware with sufficient memory to store +multiple workspace of equal size to the input MDWorkspace (generated as +part of the connected component analysis). + +Warnings and Logging +-------------------- + +The algorithm will generate warning. There are three main warning to +know about. + +Off the Image Edge +################## + +The algorithm will warn about unreachable peaks (off the image). This +may be because the peaks detected were off the edge of the detector, or +because the image was cropped in BinMD in such a way that that part of +the detector/TOF space is no longer accessible. + +No Cluster Corresponding to Peak +################################ + +This is because the input `PeaksWorkspace `__ has peaks +that do not align with peaks in the image. The error could either be on +the side of the input PeaksWorkspace (spurious peaks), or of the +`MDHistoWorkspace `__ generated as part of processing. +One thing to verify is that the combination of Threshold and +Normalization input parameters are not so low that they are treating +genuine peaks in the image as background. + +Multiple Peaks Assigned to the same Cluster +########################################### + +This means overlapping peaks in the image. This is a problem because +both peaks will be given an integrated value that is the sum of the +entire cluster. You may need to increase the Threshold parameter to +resolve this problem. + +For more in-depth analysis, the algorithm will produce debug log +messages. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/Integration-v1.rst b/Code/Mantid/docs/source/algorithms/Integration-v1.rst new file mode 100644 index 000000000000..9917be8ce3b1 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/Integration-v1.rst @@ -0,0 +1,45 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Integration sums up spectra in a `Workspace `__ and outputs a +`Workspace `__ that contains only 1 value per spectrum (i.e. +the sum). The associated errors are added in quadrature. The two X +values per spectrum are set to the limits of the range over which the +spectrum has been integrated. By default, the entire range is integrated +and all spectra are included. + +Optional properties +################### + +If only a portion of the workspace should be integrated then the +optional parameters may be used to restrict the range. +StartWorkspaceIndex & EndWorkspaceIndex may be used to select a +contiguous range of spectra in the workspace (note that these parameters +refer to the workspace index value rather than spectrum numbers as taken +from the raw file). If only a certain range of each spectrum should be +summed (which must be the same for all spectra being integrated) then +the Range\_lower and Range\_upper properties should be used. No +rebinning takes place as part of this algorithm: if the values given do +not coincide with a bin boundary then the first bin boundary within the +range is used. If a value is given that is beyond the limit covered by +the spectrum then it will be integrated up to its limit. The data that +falls outside any values set will not contribute to the output +workspace. + +EventWorkspaces +############### + +If an `EventWorkspace `__ is used as the input, the +output will be a `MatrixWorkspace `__. +:ref:`algm-Rebin` is recommended if you want to keep the workspace as an +EventWorkspace. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/InterpolatingRebin-v1.rst b/Code/Mantid/docs/source/algorithms/InterpolatingRebin-v1.rst new file mode 100644 index 000000000000..384db8926c6a --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/InterpolatingRebin-v1.rst @@ -0,0 +1,53 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithms is useful for increasing the time resolution of spectra +whose bins have large numbers of counts which vary smoothly e.g. monitor +spectra. + +The "params" property defines the new bin boundaries using the same +syntax as in :ref:`algm-Rebin`. That is, the first number is the first +bin boundary and the second number is the width of the bins. Bins are +created until the third number would be exceeded, the third number is +the x-value of the last bin. There can be further pairs of numbers, the +first in the pair will be the bin width and the last number the last bin +boundary. + +The bin immediately before the specified boundaries :math:`x_2`, +:math:`x_3`, ... :math:`x_i` is likely to have a different width from +its neighbors because there can be no gaps between bins. Rebin ensures +that any of these space filling bins cannot be less than 25% or more +than 125% of the width that was specified. + +To calculate the y-values the input spectra are approximated with a time +series where the value at the center of each bin mean is the mean count +rate over the bin. This series is interpolated by calculating cubic +splines that fit this series and evaluating the splines at the centers +of the requested bin. The splines have natural boundary conditions and +zero second derivative at the end points, they are calculated using the +`gsl `__. + +The errors on the count rates are estimated as a weighted mean of the +errors values for the nearest input bin centers. These weights are +inversely proportional to the distance of the output bin center to the +respective input bin data points. + +Example Rebin param strings +########################### + +The same syntax as for :ref:`algm-Rebin` + +0,100,20000 + From 0 rebin in constant size bins of 100 up to 20,000 +0,100,10000,200,20000 + From 0 rebin in steps of 100 to 10,000 then steps of 200 to 20,000 + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/InvertMDDim-v1.rst b/Code/Mantid/docs/source/algorithms/InvertMDDim-v1.rst new file mode 100644 index 000000000000..e0a9a9eb1435 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/InvertMDDim-v1.rst @@ -0,0 +1,19 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Description +----------- + +InvertMDDim inverts the dimensions of a MDHistoWorkspace. It copies the +data around to match the new dimensions. This algorithm is useful when +dealing with storage order issues. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/InvertMask-v1.rst b/Code/Mantid/docs/source/algorithms/InvertMask-v1.rst new file mode 100644 index 000000000000..24ce88c75e1e --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/InvertMask-v1.rst @@ -0,0 +1,21 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +A NOT operation will be conducted on the input masking workspace +(SpecialWorkspace2D) + +Output +------ + +A SpecialWorkspace2D with the same dimension and geometry as the input +two SpecialWorkspace2D. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LeBailFit-v1.rst b/Code/Mantid/docs/source/algorithms/LeBailFit-v1.rst new file mode 100644 index 000000000000..3d0945b19056 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LeBailFit-v1.rst @@ -0,0 +1,66 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm performs `Le Bail Fit `__ to powder +diffraction data, and also supports pattern calculation. This algorithm +will refine a specified set of the powder instrumental profile +parameters with a previous refined background model. + +Peak profile function for fit +############################# + +Back to back exponential convoluted with pseudo-voigt +##################################################### + +Here is the list of the peak profile function supported by this +algorithm. + +- Thermal neutron back-to-back exponential convoluted with pseudo-voigt + + - geometry-related parameters: Dtt1, Dtt2, Zero + - back-to-back exponential parameters: Alph0, Alph1, Beta0, Beta1 + - pseudo-voigt parameters: Sig0, Sig1, Sig2, Gam0, Gam1, Gam2 + +Thermal neutron back to back exponential convoluted with pseudo-voigt +##################################################################### + +Here is the list of the peak profile function supported by this +algorithm. + +- Thermal neutron back-to-back exponential convoluted with pseudo-voigt + + - geometry-related parameters: Dtt1, Zero, Dtt1t, Dtt2t, Width, + Tcross + - back-to-back exponential parameters: Alph0, Alph1, Beta0, Beta1, + Alph0t, Alph1t, Beta0t, Beta1t + - pseudo-voigt parameters: Sig0, Sig1, Sig2, Gam0, Gam1, Gam2 + +Optimization +############ + +*LeBailFit* supports a tailored simulated annealing optimizer (using +Monte Carlo random walk algorithm). In future, regular minimizes in GSL +library might be supported. + +Supported functionalities +######################### + +| ``* LeBailFit: fit profile parameters by Le bail algorithm; `` +| ``* Calculation: pattern calculation by Le bail algorithm; `` +| ``* MonteCarlo: fit profile parameters by Le bail algorithm with Monte Carlo random wal; `` +| ``* RefineBackground: refine background parameters`` + +Further Information +################### + +See `Le Bail Fit `__. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LessThanMD-v1.rst b/Code/Mantid/docs/source/algorithms/LessThanMD-v1.rst new file mode 100644 index 000000000000..1f0afec3d42a --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LessThanMD-v1.rst @@ -0,0 +1,22 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Perform the < (less-than) boolean operation on two MDHistoWorkspaces or +a MDHistoWorkspace and a scalar. The output workspace has a signal of +0.0 to mean "false" and a signal of 1.0 to mean "true". Errors are 0. + +For two MDHistoWorkspaces, the operation is performed +element-by-element. + +For a MDHistoWorkspace and a scalar, the operation is performed on each +element of the output. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/Load-v1.rst b/Code/Mantid/docs/source/algorithms/Load-v1.rst new file mode 100644 index 000000000000..d6fe705bb353 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/Load-v1.rst @@ -0,0 +1,114 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The Load algorithm is a more intelligent algorithm than most other load +algorithms. When passed a filename it attempts to search the existing +load `algorithms <:Category:Algorithms>`__ and find the most appropriate +to load the given file. The specific load algorithm is then run as a +child algorithm with the exception that it logs messages to the Mantid +logger. + +Specific Load Algorithm Properties +################################## + +Each specific loader will have its own properties that are appropriate +to it: SpectrumMin and SpectrumMax for ISIS RAW/NeXuS, FilterByTof\_Min +and FilterByTof\_Max for Event data. The Load algorithm cannot know +about these properties until it has been told the filename and found the +correct loader. Once this has happened the properties of the specific +Load algorithm are redeclared on to that copy of Load. + +Usage +----- + +.. include:: ../usagedata-note.txt + +**Example - Load ISIS histogram Nexus file:** +(see `LoadISISNexus `_ for more options) + +.. testcode:: ExLoadISISnexusHist + + # Load ISIS LOQ histogram dataset + ws = Load('LOQ49886.nxs') + + print "The 1st x-value of the first spectrum is: " + str(ws.readX(0)[0]) + +.. testcleanup:: ExLoadISISnexusHist + + DeleteWorkspace(ws) + +Output: + +.. testoutput:: ExLoadISISnexusHist + + The 1st x-value of the first spectrum is: 5.0 + +**Example - Load SNS/ISIS event Nexus file:** +(see `LoadEventNexus `_ for more options) + +.. testcode:: ExLoadEventNexus + + # Load SNS HYS event dataset + ws = Load('HYS_11092_event.nxs') + + print "The number of histograms (spectra) is: " + str(ws.getNumberHistograms()) + +.. testcleanup:: ExLoadEventNexus + + DeleteWorkspace(ws) + +Output: + +.. testoutput:: ExLoadEventNexus + + The number of histograms (spectra) is: 20480 + +**Example - Load ISIS Muon file:** +(see `LoadMuonNexus `_ for more options) + +.. testcode:: ExLoadISISMuon + + # Load ISIS multiperiod muon MUSR dataset + ws = Load('MUSR00015189.nxs') + + print "The number of periods (entries) is: " + str(ws[0].getNumberOfEntries()) + +.. testcleanup:: ExLoadISISMuon + + DeleteWorkspace(ws[0]) + +Output: + +.. testoutput:: ExLoadISISMuon + + The number of periods (entries) is: 2 + +**Example - Load Mantid processed Nexus file ISIS:** +(see `LoadNexusProcessed `_ for more options) + +.. testcode:: ExLoadNexusProcessedWithLoad + + # Load Mantid processed GEM data file + ws = Load('focussed.nxs') + + print "The number of histograms (spectra) is: " + str(ws.getNumberHistograms()) + +.. testcleanup:: ExLoadNexusProcessedWithLoad + + DeleteWorkspace(ws) + +Output: + +.. testoutput:: ExLoadNexusProcessedWithLoad + + The number of histograms (spectra) is: 6 + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadAscii-v1.rst b/Code/Mantid/docs/source/algorithms/LoadAscii-v1.rst new file mode 100644 index 000000000000..16ed08ba4f12 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadAscii-v1.rst @@ -0,0 +1,40 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The LoadAscii algorithm reads in spectra data from a text file and +stores it in a `Workspace2D `__ as data points. The data in +the file must be organized in columns separated by commas, tabs, spaces, +colons or semicolons. Only one separator type can be used throughout the +file; use the "Separator" property to tell the algorithm which to use. +The algorithm :ref:`algm-SaveAscii` is normally able to produce such +a file. + +By default the algorithm attempts to guess which lines are header lines +by trying to see where a contiguous block of numbers starts. This can be +turned off by specifying the "SkipNumLines" property, which will then +tell the algorithm to simply use that as the the number of header lines. + +The format can be one of: + +- Two columns: 1st column=X, 2nd column=Y, E=0 +- For a workspace of *n* spectra, 2\ *n*\ +1 columns: 1\ *st* column=X, + 2i\ *th* column=Y, 2i+1\ *th* column =E +- Four columns: 1st column=X, 2nd column=Y, 3rd column=E, 4th column=DX + (X error) + +The number of bins is defined by the number of rows. + +The resulting workspace will have common X binning for all spectra. + +This algorithm cannot load a file created by :ref:`algm-SaveAscii` +if it has X errors written and several spectra. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadAscii-v2.rst b/Code/Mantid/docs/source/algorithms/LoadAscii-v2.rst new file mode 100644 index 000000000000..6e3e98ecd187 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadAscii-v2.rst @@ -0,0 +1,42 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The LoadAscii2 algorithm reads in spectra data from a text file and +stores it in a `Workspace2D `__ as data points. The data in +the file must be organized in columns separated by commas, tabs, spaces, +colons or semicolons. Only one separator type can be used throughout the +file; use the "Separator" property to tell the algorithm which to use. +The algorithm `SaveAscii2 `__ is normally able to produce +such a file. + +The format must be: + +- A single integer or blank line to denote a new spectra +- For each bin, between two and four columns of delimted data in the + following order: 1st column=X, 2nd column=Y, 3rd column=E, 4th + column=DX (X error) +- Comments can be included by prefixing the line with a non-numerical + character which must be consistant throughout the file and specified + when you load the file. Defaults to "#" +- The number of bins is defined by the number of rows and must be + identical for each spectra + +The following is an example valid file of 4 spectra of 2 bins each with +no X error + +#. X , Y , E + +1 2.00000000,2.00000000,1.00000000 4.00000000,1.00000000,1.00000000 2 +2.00000000,5.00000000,2.00000000 4.00000000,4.00000000,2.00000000 3 +2.00000000,3.00000000,1.00000000 4.00000000,0.00000000,0.00000000 4 +2.00000000,0.00000000,0.00000000 4.00000000,0.00000000,0.00000000 + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadCalFile-v1.rst b/Code/Mantid/docs/source/algorithms/LoadCalFile-v1.rst new file mode 100644 index 000000000000..74c031c5beca --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadCalFile-v1.rst @@ -0,0 +1,23 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm loads an ARIEL-style 5-column ASCII .cal file into up to +3 workspaces: a GroupingWorkspace, OffsetsWorkspace and/or +MaskWorkspace. + +The format is + +- Number: ignored.\* UDET: detector ID.\* Offset: calibration offset. + Goes to the OffsetsWorkspace. +- Select: 1 if selected (not masked out). Goes to the MaskWorkspace. +- Group: group number. Goes to the GroupingWorkspace. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadCanSAS1D-v1.rst b/Code/Mantid/docs/source/algorithms/LoadCanSAS1D-v1.rst new file mode 100644 index 000000000000..6d30bde4113c --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadCanSAS1D-v1.rst @@ -0,0 +1,22 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Loads the given file, which should be in the CanSAS1d format specified +by canSAS 1D Data Formats Working Group schema +http://svn.smallangles.net/svn/canSAS/1dwg/trunk/cansas1d.xsd and +creates output workspace. CANSAS has a Wiki page at +http://www.smallangles.net/wgwiki/index.php/canSAS_Working_Groups + +If the file contains mulitple SASentry elements a workspace group will +be created and each SASentry will be one workspace in the group. Loading +multiple SASdata elements is not supported. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadCanSAS1D-v2.rst b/Code/Mantid/docs/source/algorithms/LoadCanSAS1D-v2.rst new file mode 100644 index 000000000000..6d30bde4113c --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadCanSAS1D-v2.rst @@ -0,0 +1,22 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Loads the given file, which should be in the CanSAS1d format specified +by canSAS 1D Data Formats Working Group schema +http://svn.smallangles.net/svn/canSAS/1dwg/trunk/cansas1d.xsd and +creates output workspace. CANSAS has a Wiki page at +http://www.smallangles.net/wgwiki/index.php/canSAS_Working_Groups + +If the file contains mulitple SASentry elements a workspace group will +be created and each SASentry will be one workspace in the group. Loading +multiple SASdata elements is not supported. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadDaveGrp-v1.rst b/Code/Mantid/docs/source/algorithms/LoadDaveGrp-v1.rst new file mode 100644 index 000000000000..58ed70c3eb10 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadDaveGrp-v1.rst @@ -0,0 +1,16 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm loads data from a DAVE grouped ASCII file. These have +been generated at the SNS for all the inelastic beamlines, hence the +choice in the defaults for the axis units. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadDetectorInfo-v1.rst b/Code/Mantid/docs/source/algorithms/LoadDetectorInfo-v1.rst new file mode 100644 index 000000000000..c4554e52ebb2 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadDetectorInfo-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + + + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadDetectorsGroupingFile-v1.rst b/Code/Mantid/docs/source/algorithms/LoadDetectorsGroupingFile-v1.rst new file mode 100644 index 000000000000..e1956d832cc3 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadDetectorsGroupingFile-v1.rst @@ -0,0 +1,139 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm is used to generate a GroupingWorkspace from an XML or +Map file containing detectors' grouping information. + +XML File Format +--------------- + +Extension: .xml + +Parameters +########## + +- "instrument": optional attribute of node 'detector-grouping'. It must + be valid instrument name. If "instrument" is not defined, only tag + "ids" can be used in this XML file. +- "ID": optional attribute of node 'group'. It must be an integer, and + the key to denote group. If "ID" is not given, algorithm will use + default group ID for each group in the same order as in XML file. The + automatic group ID starts from 1. +- "detids": a node to define grouping by detectors' ID. Its value must + be a list of integers separated by ','. A '-' is used between 2 + integers to define a range of detectors. +- "component": a node to define that all detectors belonged to a + component in the instrument are to be in a same group. Its value + should be a valid component name. +- "ids": a node to define that all detectors of the spectrum whose ID + 's defined by "ids" will be grouped together. + +Example 1: + +.. raw:: html + + + +| `` ``\ +| ``  ``\ +| ``   ``\ \ ``3,34-44,47``\ +| ``   ``\ \ ``bank21``\ +| ``  ``\ +| ``   ``\ \ ``bank26``\ +| ``  ``\ +| `` ``\ + +Example 2: + +.. raw:: html + + + +| `` ``\ +| ``  ``\ +| ``   ``\ \ ``3,34-44,47``\ +| ``   ``\ \ ``bank21``\ +| ``  ``\ +| ``   ``\ \ ``bank26``\ +| ``  ``\ +| `` ``\ + +Example 3: + +.. raw:: html + + + +| `` ``\ +| ``  ``\ +| ``   ``\ \ ``3,34-44,47``\ +| ``  ``\ +| ``   ``\ \ ``26``\ +| ``   ``\ \ ``27,28``\ +| ``  ``\ +| `` ``\ + +Map File Format +--------------- + +Extension: .map + +The file must have the following format\* (extra space and comments +starting with # are allowed) : + +| `` "unused number1"             `` +| `` "unused number2"`` +| `` "number_of_input_spectra1"`` +| `` "input spec1" "input spec2" "input spec3" "input spec4"`` +| `` "input spec5 input spec6"`` +| `` **    `` +| `` "unused number2" `` +| `` "number_of_input_spectra2"`` +| `` "input spec1" "input spec2" "input spec3" "input spec4"`` + +\* each phrase in "" is replaced by a single integer + +\*\* the section of the file that follows is repeated once for each +group + +Some programs require that "unused number1" is the number of groups +specified in the file but Mantid ignores that number and all groups +contained in the file are read regardless. "unused number2" is in other +implementations the group's spectrum number but in this algorithm it is +is ignored and can be any integer (not necessarily the same integer) + +An example of an input file follows: + +| `` 3  `` +| `` 1  `` +| `` 64  `` +| `` 1 2 3 4 5 6 7 8 9 10  `` +| `` 11 12 13 14 15 16 17 18 19 20  `` +| `` 21 22 23 24 25 26 27 28 29 30  `` +| `` 31 32 33 34 35 36 37 38 39 40  `` +| `` 41 42 43 44 45 46 47 48 49 50  `` +| `` 51 52 53 54 55 56 57 58 59 60  `` +| `` 61 62 63 64  `` +| `` 2  `` +| `` 60`` +| `` 65 66 67 68 69 70 71 72 73 74  `` +| `` 75 76 77 78 79 80 81 82 83 84  `` +| `` 85 86 87 88 89 90 91 92 93 94  `` +| `` 95 96 97 98 99 100 101 102 103 104  `` +| `` 105 106 107 108 109 110 111 112 113 114  `` +| `` 115 116 117 118 119 120 121 122 123 124`` +| `` 3`` +| `` 60`` +| `` 125 126 127 - 180 181 182 183 184`` + +== + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadDspacemap-v1.rst b/Code/Mantid/docs/source/algorithms/LoadDspacemap-v1.rst new file mode 100644 index 000000000000..0b500ad5c599 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadDspacemap-v1.rst @@ -0,0 +1,18 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Loads a Dspacemap file (POWGEN binary, VULCAN binary or ascii format) +into an OffsetsWorkspace. + +The resulting workspace can then be used with, e.g. +:ref:`algm-AlignDetectors` to perform calibration. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadEmptyInstrument-v1.rst b/Code/Mantid/docs/source/algorithms/LoadEmptyInstrument-v1.rst new file mode 100644 index 000000000000..f4e0fd145c89 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadEmptyInstrument-v1.rst @@ -0,0 +1,19 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm is to enable you to look at an instrument without having +to load a full data file. Instead of loading a data file, it loads the +`InstrumentDefinitionFile `__ for the +instrument, which has information about the instrument. The instrument +is referred to as being empty because there is no data associated with +it. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadEventNexus-v1.rst b/Code/Mantid/docs/source/algorithms/LoadEventNexus-v1.rst new file mode 100644 index 000000000000..5c0612667b39 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadEventNexus-v1.rst @@ -0,0 +1,53 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The LoadEventNeXus algorithm loads data from an EventNexus file into an +`EventWorkspace `__. The default histogram bin +boundaries consist of a single bin able to hold all events (in all +pixels), and will have their `units `__ set to time-of-flight. +Since it is an `EventWorkspace `__, it can be rebinned +to finer bins with no loss of data. + +Sample logs, such as motor positions or e.g. temperature vs time, are +also loaded using the :ref:`algm-LoadNexusLogs` child algorithm. + +Optional properties +################### + +If desired, you can filter out the events at the time of loading, by +specifying minimum and maximum time-of-flight values. This can speed up +loading and reduce memory requirements if you are only interested in a +narrow range of the times-of-flight of your data. + +You may also filter out events by providing the start and stop times, in +seconds, relative to the first pulse (the start of the run). + +If you wish to load only a single bank, you may enter its name and no +events from other banks will be loaded. + +The Precount option will count the number of events in each pixel before +allocating the memory for each event list. Without this option, because +of the way vectors grow and are re-allocated, it is possible for up to +2x too much memory to be allocated for a given event list, meaning that +your EventWorkspace may occupy nearly twice as much memory as needed. +The pre-counting step takes some time but that is normally compensated +by the speed-up in avoid re-allocating, so the net result is smaller +memory footprint and approximately the same loading time. + +Veto Pulses +########### + +Veto pulses can be filtered out in a separate step using +:ref:`algm-FilterByLogValue`: + +``FilterByLogValue(InputWorkspace="ws", OutputWorkspace="ws", LogName="veto_pulse_time", PulseFilter="1")`` + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadEventPreNexus-v1.rst b/Code/Mantid/docs/source/algorithms/LoadEventPreNexus-v1.rst new file mode 100644 index 000000000000..097ff5b2d003 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadEventPreNexus-v1.rst @@ -0,0 +1,26 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The LoadEventPreNeXus algorithm stores data from the pre-nexus neutron +event data file in an `EventWorkspace `__. The default +histogram bin boundaries consist of a single bin able to hold all events +(in all pixels), and will have their `units `__ set to +time-of-flight. Since it is an `EventWorkspace `__, it +can be rebinned to finer bins with no loss of data. + +Optional properties +################### + +Specific pulse ID and mapping files can be specified if needed; these +are guessed at automatically from the neutron filename, if not +specified. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadEventPreNexus-v2.rst b/Code/Mantid/docs/source/algorithms/LoadEventPreNexus-v2.rst new file mode 100644 index 000000000000..ce91f92202a1 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadEventPreNexus-v2.rst @@ -0,0 +1,33 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The LoadEventPreNeXus algorithm stores data from the pre-nexus neutron +event data file in an `EventWorkspace `__. The default +histogram bin boundaries consist of a single bin able to hold all events +(in all pixels), and will have their `units `__ set to +time-of-flight. Since it is an `EventWorkspace `__, it +can be rebinned to finer bins with no loss of data. + +Optional properties +################### + +Specific pulse ID and mapping files can be specified if needed; these +are guessed at automatically from the neutron filename, if not +specified. + +A specific list of pixel ids can be specified, in which case only events +relating to these pixels will appear in the output. + +The ChunkNumber and TotalChunks properties can be used to load only a +section of the file; e.g. if these are 1 and 10 respectively only the +first 10% of the events will be loaded. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadFlexiNexus-v1.rst b/Code/Mantid/docs/source/algorithms/LoadFlexiNexus-v1.rst new file mode 100644 index 000000000000..6843345b5193 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadFlexiNexus-v1.rst @@ -0,0 +1,60 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Description +----------- + +This algorithm is a flexible NeXus file loader. Data loading is driven +by a dictionary. Correspondingly the algorithm takes as arguments: a +filename, a path to a dictionary file and an output workspace name. + +The dictionary itself is a list of key=value pairs, one per line. +Normally dictionary entries take the form key-path-into-Nexus-file. The +default action is to store the data found at path-into-NeXus-file under +key key in the Run information of the result workspace. But some keys +are interpreted specially: + +data=path-into-nexus-file + This is a required entry. path-into-nexus-file is the path in the + NeXus file to the data which is the main bulk workspace data. + Usually the counts. From the dimensionality of this data the type of + result workspace is determined. If the rank is <= 2, then a + Workspace2D is created, else a MDHistoWorkspace. +x-axis=path-into-nexus-file + The data found under the path into the NeXus file will be used as + axis 0 on the dataset +x-axis-name=text + The text specified will become the name of the axis 0 +y-axis=path-into-nexus-file + The data found under the path into the NeXus file will be used as + axis 1 on the dataset +y-axis-name=text + The text specified will become the name of the axis 1 +z-axis=path-into-nexus-file + The data found under the path into the NeXus file will be used as + axis 2 on the dataset +z-axis-name=text + The text specified will become the name of the axis 0 +title=path-into-nexus-file or text + If the value contains a / then it is interpreted as a path into the + NeXus file, the value of which will be stored as workspace title. + Else the text value will be stored as the title name directly. +sample=path-into-nexus-file or text + If the value contains a / then it is interpreted as a path into the + NeXus file, the value of which will be stored as workspace sample. + Else the text value will be stored as the sample name directly. + +Please note that the dimensions on the MDHistoWorkspace are inverted +when compared with the ones in the NeXus file. This is a fix which +allows to efficiently transfer the NeXus data in C storage order into +the MDHistoWorkspace which has fortran storage order. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadFullprofFile-v1.rst b/Code/Mantid/docs/source/algorithms/LoadFullprofFile-v1.rst new file mode 100644 index 000000000000..d5f90eab56ef --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadFullprofFile-v1.rst @@ -0,0 +1,46 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm is to import Fullprof .irf file (peak parameters) and +.hkl file (reflections) and record the information to TableWorkspaces, +which serve as the inputs for algorithm LeBailFit. + +Format of Instrument parameter TableWorkspace +############################################# + +Instrument parameter TableWorkspace contains all the peak profile +parameters imported from Fullprof .irf file. + +Presently these are the peak profiles supported + +``* Thermal neutron back to back exponential convoluted with pseudo-voigt (profile No. 10 in Fullprof)`` + +Each row in TableWorkspace corresponds to one profile parameter. + +Columns include Name, Value, FitOrTie, Min, Max and StepSize. + +Format of reflection TableWorkspace +################################### + +Each row of this workspace corresponds to one diffraction peak. The +information contains the peak's Miller index and (local) peak profile +parameters of this peak. For instance of a back-to-back exponential +convoluted with Gaussian peak, the peak profile parameters include +Alpha, Beta, Sigma, centre and height. + +How to use algorithm with other algorithms +------------------------------------------ + +This algorithm is designed to work with other algorithms to do Le Bail +fit. The introduction can be found in the wiki page of +:ref:`algm-LeBailFit`. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadFullprofResolution-v1.rst b/Code/Mantid/docs/source/algorithms/LoadFullprofResolution-v1.rst new file mode 100644 index 000000000000..597fbaf168f8 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadFullprofResolution-v1.rst @@ -0,0 +1,31 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Load Fullprof resolution (.irf) file to TableWorkspace(s) and optionally +into the instruments of matrix workspaces with one workspace per bank of +the .irf file. Either or both of the Tableworkspace(s) and matrix +workspace must be set. + +Where a Workspace is specified the support for translating Fullprof +resolution parameters into the workspace for subsequent fitting is +limitted to Fullprof: + +- NPROF=13, Ikeda-Carpender pseudo-Voigt translated into + `IkedaCarpenterPV `__ according to + `CreateIkedaCarpenterParameters `__ +- NPROF=9, back-to-back-exponential pseudo-Voigt translated into + `BackToBackExponential `__ according to + `CreateBackToBackParameters `__ + +Note for NPROF=9 the translation is currently ignoring the Lorentzian +part of the pseudo-Voigt. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadGSASInstrumentFile-v1.rst b/Code/Mantid/docs/source/algorithms/LoadGSASInstrumentFile-v1.rst new file mode 100644 index 000000000000..ef735d1c318d --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadGSASInstrumentFile-v1.rst @@ -0,0 +1,20 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Load parameters from a GSAS instrument file into a table workspace + +Later developments of this algorithm will enable these parameters to be +put into the instrument of a wotrkspace for either Ikeda-Carpender +pseudo-Voigt translated into `IkedaCarpenterPV `__ or +back-to-back-exponential pseudo-Voigt translated into +`BackToBackExponential `__. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadGSS-v1.rst b/Code/Mantid/docs/source/algorithms/LoadGSS-v1.rst new file mode 100644 index 000000000000..0f857af315c4 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadGSS-v1.rst @@ -0,0 +1,19 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Loads a GSS file such as that saved by :ref:`algm-SaveGSS`. + +Two types of GSAS files are supported + +| ``* RALF`` +| ``* SLOG`` + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadHKL-v1.rst b/Code/Mantid/docs/source/algorithms/LoadHKL-v1.rst new file mode 100644 index 000000000000..e048a605f90d --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadHKL-v1.rst @@ -0,0 +1,47 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Loads an ASCII .hkl file to a PeaksWorkspace. + +File has same format that works successfully in GSAS and SHELX from +ISAW: + +hklFile.write('%4d%4d%4d%8.2f%8.2f%4d%8.4f%7.4f%7d%7d%7.4f%4d%9.5f%9.4f\\n'% +(H, K, L, FSQ, SIGFSQ, hstnum, WL, TBAR, CURHST, SEQNUM, TRANSMISSION, +DN, TWOTH, DSP)) + +HKL is flipped by -1 due to different q convention in ISAW vs Mantid. + +FSQ = integrated intensity of peak (scaled) + +SIGFSQ = sigma from integrating peak + +hstnum = number of sample orientation (starting at 1) + +WL = wavelength of peak + +TBAR = output of absorption correction (-log(transmission)/mu) + +CURHST = run number of sample + +SEQNUM = peak number (unique number for each peak in file) + +TRANSMISSION = output of absorption correction (exp(-mu\*tbar)) + +DN = detector bank number + +TWOTH = two-theta scattering angle + +DSP = d-Spacing of peak (Angstroms)/TR + +Last line must have all 0's + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadIDFFromNexus-v1.rst b/Code/Mantid/docs/source/algorithms/LoadIDFFromNexus-v1.rst new file mode 100644 index 000000000000..d8447543d5c1 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadIDFFromNexus-v1.rst @@ -0,0 +1,17 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Some Nexus files contain an instrument definition. This algorithm loads +the instrument from this definition. You may need to tell this algorithm +where in the Nexus file to find the Instrument folder, which contains +the instrument definition. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadILL-v1.rst b/Code/Mantid/docs/source/algorithms/LoadILL-v1.rst new file mode 100644 index 000000000000..5c354cafcd9a --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadILL-v1.rst @@ -0,0 +1,24 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Loads an ILL TOF NeXus file into a `Workspace2D `__ with +the given name. + +This loader calculates the elastic peak position (EPP) on the fly. In +cases where the dispersion peak might be higher than the EPP, it is good +practice to load a Vanadium file. + +The property FilenameVanadium is optional. If it is present the EPP will +be loaded from the Vanadium data. + +To date this algorithm only supports: IN4, IN5 and IN6 + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadILLIndirect-v1.rst b/Code/Mantid/docs/source/algorithms/LoadILLIndirect-v1.rst new file mode 100644 index 000000000000..ce683e022ceb --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadILLIndirect-v1.rst @@ -0,0 +1,16 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +TODO: Enter a full wiki-markup description of your algorithm here. You +can then use the Build/wiki\_maker.py script to generate your full wiki +page. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadILLSANS-v1.rst b/Code/Mantid/docs/source/algorithms/LoadILLSANS-v1.rst new file mode 100644 index 000000000000..0e4f7ffd17b9 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadILLSANS-v1.rst @@ -0,0 +1,15 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Loads an ILL D33 nexus file into a `Workspace2D `__ with +the given name. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadISISNexus-v2.rst b/Code/Mantid/docs/source/algorithms/LoadISISNexus-v2.rst new file mode 100644 index 000000000000..c0a2bb50ea14 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadISISNexus-v2.rst @@ -0,0 +1,76 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Loads a Nexus file created from an ISIS instrument. + +Usage +----- + +.. include:: ../usagedata-note.txt + +**Example - Load without any optional arguments:** + +.. testcode:: ExLoadISISnexus + + # Load LOQ histogram dataset + ws = LoadISISNexus('LOQ49886.nxs') + + print "The 1st x-value of the first spectrum is: " + str(ws.readX(0)[0]) + +.. testcleanup:: ExLoadISISnexus + + DeleteWorkspace(ws) + +Output: + +.. testoutput:: ExLoadISISnexus + + The 1st x-value of the first spectrum is: 5.0 + +**Example - Using SpectrumMin and SpectrumMax:** + +.. testcode:: ExLoadSpectrumMinMax + + # Load from LOQ data file spectrum 2 to 3. + ws = LoadISISNexus('LOQ49886.nxs',SpectrumMin=2,SpectrumMax=3) + + print "The number of histograms (spectra) is: " + str(ws.getNumberHistograms()) + +.. testcleanup:: ExLoadSpectrumMinMax + + DeleteWorkspace(ws) + +Output: + +.. testoutput:: ExLoadSpectrumMinMax + + The number of histograms (spectra) is: 2 + +**Example - Using EntryNumber:** + +.. testcode:: ExLoadEntryNumber + + # Load first period of multiperiod POLREF data file + ws = LoadISISNexus('POLREF00004699.nxs', EntryNumber=1) + + print "The number of histograms (spectra) is: " + str(ws.getNumberHistograms()) + +.. testcleanup:: ExLoadEntryNumber + + DeleteWorkspace(ws) + +Output: + +.. testoutput:: ExLoadEntryNumber + + The number of histograms (spectra) is: 246 + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadInstrument-v1.rst b/Code/Mantid/docs/source/algorithms/LoadInstrument-v1.rst new file mode 100644 index 000000000000..9ff225c18d65 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadInstrument-v1.rst @@ -0,0 +1,29 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Loads an instrument definition file (`IDF `__) +into a workspace, which contains information about detector positions, +their geometric shape, slit properties, links between values stored in +ISIS log-files and components of the instrument and so on. For more on +IDFs see: `InstrumentDefinitionFile `__. + +By default the algorithm will write a 1:1 map between the spectrum +number and detector ID. Any custom loading algorithm that calls this as +a Child Algorithm will therefore get this 1:1 map be default. If the +custom loader is to write its own map then it is advised to set +``RewriteSpectraMap`` to false to avoid extra work. + +The instrument to load can be specified by either the InstrumentXML, +Filename and InstrumentName properties (given here in order of +precedence if more than one is set). At present, if the InstrumentXML is +used the InstrumentName property should also be set. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadInstrumentFromNexus-v1.rst b/Code/Mantid/docs/source/algorithms/LoadInstrumentFromNexus-v1.rst new file mode 100644 index 000000000000..f57adee2ba3f --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadInstrumentFromNexus-v1.rst @@ -0,0 +1,22 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Attempts to load information about the instrument from a ISIS NeXus +file. In particular attempt to read L2 and 2-theta detector position +values and add detectors which are positioned relative to the sample in +spherical coordinates as (r,theta,phi)=(L2,2-theta,0.0). Also adds dummy +source and samplepos components to instrument. + +LoadInstrumentFromNexus is intended to be used as a child algorithm of +other Loadxxx algorithms, rather than being used directly. It is used by +LoadMuonNexus version 1. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadInstrumentFromRaw-v1.rst b/Code/Mantid/docs/source/algorithms/LoadInstrumentFromRaw-v1.rst new file mode 100644 index 000000000000..c4554e52ebb2 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadInstrumentFromRaw-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + + + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadIsawDetCal-v1.rst b/Code/Mantid/docs/source/algorithms/LoadIsawDetCal-v1.rst new file mode 100644 index 000000000000..1fe322da1457 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadIsawDetCal-v1.rst @@ -0,0 +1,15 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Moves the detectors in an instrument using the origin and 2 vectors of +the rotated plane from an ISAW DetCal file. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadIsawPeaks-v1.rst b/Code/Mantid/docs/source/algorithms/LoadIsawPeaks-v1.rst new file mode 100644 index 000000000000..181842fcfbb3 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadIsawPeaks-v1.rst @@ -0,0 +1,20 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Reads an ISAW-style .peaks or .integrate file into a PeaksWorkspace. Any +detector calibration information is ignored. + +NOTE: The instrument used is determined by reading the 'Instrument:' and +'Date:' tags at the start of the file.If the date is not present, the +latest `Instrument Definition File `__ is +used. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadIsawSpectrum-v1.rst b/Code/Mantid/docs/source/algorithms/LoadIsawSpectrum-v1.rst new file mode 100644 index 000000000000..57b5d2381620 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadIsawSpectrum-v1.rst @@ -0,0 +1,16 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Load incident spectrum and detector efficiency correction file +containing spectra for each detector. The spectra are created by +"TOPAZ\_spectrum.py" from files of vanadium or TiZr and background. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadIsawUB-v1.rst b/Code/Mantid/docs/source/algorithms/LoadIsawUB-v1.rst new file mode 100644 index 000000000000..a5ca9966fca3 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadIsawUB-v1.rst @@ -0,0 +1,27 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Loads the UB matrix into a workspace from an ISAW-style UB matrix ASCII +file. + +You can use the :ref:`algm-SaveIsawUB` algorithm to save to this +format. + +The matrix in the file is the transpose of the UB Matrix. The UB matrix +maps the column vector (h,k,l ) to the column vector (q'x,q'y,q'z). +\|Q'\|=1/dspacing and its coordinates are a right-hand coordinate system +where x is the beam direction and z is vertically upward. (IPNS +convention) + +Note: for an MDEventWorkspace, all experimentInfo objects will contain +teh oriented lattice loaded from the IsawUB file + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadLLB-v1.rst b/Code/Mantid/docs/source/algorithms/LoadLLB-v1.rst new file mode 100644 index 000000000000..b637d49353d5 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadLLB-v1.rst @@ -0,0 +1,19 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Loads an LLB MIBEMOL TOF NeXus file into a `Workspace2D `__ +with the given name. + +This loader calculates the elastic peak position (EPP) on the fly. + +To date this algorithm only supports the MIBEMOL instrument. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadLOQDistancesFromRaw-v1.rst b/Code/Mantid/docs/source/algorithms/LoadLOQDistancesFromRaw-v1.rst new file mode 100644 index 000000000000..2ad2744e3a98 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadLOQDistancesFromRaw-v1.rst @@ -0,0 +1,20 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The ISIS TS1 instrument +`LOQ `__ writes values for +the moderator-sample and sample-detector distances to the RAW data file. +These distances are required for correct data reduction. This algorithm +extracts the information from the ``i_l1`` and ``i_sddist`` variables of +the IVPB struct respectively and moves the appropriate components so +that the Mantid instrument satisfies these values. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadLiveData-v1.rst b/Code/Mantid/docs/source/algorithms/LoadLiveData-v1.rst new file mode 100644 index 000000000000..5efae6721b26 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadLiveData-v1.rst @@ -0,0 +1,96 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm is called on a regular interval by the +:ref:`algm-MonitorLiveData` algorithm. **It should not be +necessary to call LoadLiveData directly.** + +.. figure:: /images/LoadLiveData_flow.png + :alt: LoadLiveData_flow.png + + LoadLiveData\_flow.png +Data Processing +############### + +- Each time LoadLiveData is called, a chunk of data is loaded from the + `LiveListener `__. + + - This consists of all the data collected since the previous call. + - The data is saved in a temporary `workspace `__. + +- You have two options on how to process this workspace: + +Processing with an Algorithm +############################ + +- Specify the name of the algorithm in the *ProcessingAlgorithm* + property. + + - This could be, e.g. a `Python Algorithm `__ + written for this purpose. + - The algorithm *must* have at least 2 properties: *InputWorkspace* + and *OutputWorkspace*. + - Any other properties are set from the string in + *ProcessingProperties*. + - The algorithm is then run, and its OutputWorkspace is saved. + +Processing with a Python Script +############################### + +- Specify a python script in the *ProcessingScript* property. + + - This can have several lines. + - Two variables have special meaning: + + - *input* is the input workspace. + - *output* is the name of the processed, output workspace. + + - Otherwise, your script can contain any legal python code including + calls to other Mantid algorithms. + - If you create temporary workspaces, you should delete them in the + script. + +Data Accumulation +################# + +- The *AccumulationMethod* property specifies what to do with each + chunk. + + - If you select 'Add', the chunks of processed data will be added + using :ref:`algm-Plus` or :ref:`algm-PlusMD`. + - If you select 'Replace', then the output workspace will always be + equal to the latest processed chunk. + - If you select 'Append', then the spectra from each chunk will be + appended to the output workspace. + +A Warning About Events +###################### + +Beware! If you select *PreserveEvents* and your processing keeps the +data as `EventWorkspaces `__, you may end up creating +**very large** EventWorkspaces in long runs. Most plots require +re-sorting the events, which is an operation that gets much slower as +the list gets bigger (Order of N\*log(N)). This could cause Mantid to +run very slowly or to crash due to lack of memory. + +Post-Processing Step +#################### + +- Optionally, you can specify some processing to perform *after* + accumulation. + + - You then need to specify the *AccumulationWorkspace* property. + +- Using either the *PostProcessingAlgorithm* or the + *PostProcessingScript* (same way as above), the + *AccumulationWorkspace* is processed into the *OutputWorkspace* + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadLog-v1.rst b/Code/Mantid/docs/source/algorithms/LoadLog-v1.rst new file mode 100644 index 000000000000..f87485336648 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadLog-v1.rst @@ -0,0 +1,56 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +**Parameters Note:** Note that it is possible to use both of the +optional 'spectrum' properties (i.e. a range and a list) together if so +desired. + +Load ISIS log file(s) +##################### + +Assumes that a log file originates from a PC (not VMS) environment, i.e. +the log files to be loaded are assumed to have the extension .txt. Its +filename is assumed to starts with the raw data file identifier followed +by the character '\_', and a log file is assumed to have a format of two +columns, where the first column consists of data-time strings of the ISO +8601 form and the second column consists of either numbers or strings +that may contain spaces. + +Parent algorithm +################ + +LoadLog is also a child algorithm of :ref:`algm-LoadRaw`, i.e. it gets +called whenever LoadRaw is executed. + +Load SNS text log file +###################### + +If the file is determined to be a SNS text log file it should be of the +form + +| ``655747325.450625   0.000000    24.000000   26.000000   0.000000`` +| ``655747325.716250   0.296875    24.000000   26.000000   0.000000`` +| ``655747325.997500   0.593750    24.000000   26.000000   0.000000`` +| ``655747326.263125   0.906250    24.000000   26.000000   0.000000`` +| ``655747326.544375   1.093750    24.000000   26.000000   0.000000`` +| ``655747326.825625   1.406250    24.000000   26.000000   0.000000`` +| ``655747327.091250   1.703125    24.000000   26.000000   0.000000`` +| ``655747327.372500   2.000000    24.000000   26.000000   0.000000`` +| ``655747327.638125   2.203125    24.000000   26.000000   0.000000`` +| ``655747327.919375   2.500000    24.000000   26.000000   0.000000`` +| ``655747328.200625   2.796875    24.000000   26.000000   0.000000`` +| ``655747328.466250   3.093750    24.000000   26.000000   0.000000`` + +The first column is the number of seconds since January 1, 1990, then +the other columns (space delimited) are the log values. For this mode +the *name* and *units* parameters must be specified. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadLogPropertyTable-v1.rst b/Code/Mantid/docs/source/algorithms/LoadLogPropertyTable-v1.rst new file mode 100644 index 000000000000..af785f3bceb9 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadLogPropertyTable-v1.rst @@ -0,0 +1,36 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Creates a table workspace of the average values of log values against +the run number. + +There are special cases for: + +- beamlog\_(counts, frames, etc): last few points end up in next run's + log. Find Maximum. +- comment (separate function) +- time series, take average for t>0 (if available) + +It should: + +#. Load any file type that :ref:`algm-Load` can handle. +#. Not crash with multiperiod data - although values will be from period + 1 +#. Handle gaps in the file structure (although this can be slow over a + network if you choose a range of 100s) +#. Load only a single spectra of the data (if the file loader supports + this). +#. Print out the list of acceptable log names if one is entered + incorrectly. +#. Use a hidden workspace for the temporary loaded workspaces, and clean + up after itself. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadLogsForSNSPulsedMagnet-v1.rst b/Code/Mantid/docs/source/algorithms/LoadLogsForSNSPulsedMagnet-v1.rst new file mode 100644 index 000000000000..c4554e52ebb2 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadLogsForSNSPulsedMagnet-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + + + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadMD-v1.rst b/Code/Mantid/docs/source/algorithms/LoadMD-v1.rst new file mode 100644 index 000000000000..446bad4ea38f --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadMD-v1.rst @@ -0,0 +1,31 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm loads a `MDEventWorkspace `__ that was +previously saved using the :ref:`algm-SaveMD` algorithm to a .nxs file +format. + +If the workspace is too large to fit into memory, You can load the +workspace as a `file-backed +MDWorkspace `__ by checking the +FileBackEnd option. This will load the box structure (allowing for some +visualization with no speed penalty) but leave the events on disk until +requested. Processing file-backed MDWorkspaces is significantly slower +than in-memory workspaces due to frequency file access! + +For file-backed workspaces, the Memory option allows you to specify a +cache size, in MB, to keep events in memory before caching to disk. + +Finally, the BoxStructureOnly and MetadataOnly options are for special +situations and used by other algorithms, they should not be needed in +daily use. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadMappingTable-v1.rst b/Code/Mantid/docs/source/algorithms/LoadMappingTable-v1.rst new file mode 100644 index 000000000000..a7c0b68c7809 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadMappingTable-v1.rst @@ -0,0 +1,27 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Loads the mapping table between spectra and `IDetector `__ +from a RAW file. It fills the +`SpectraToDetectorMap `__ object contained in a +`workspace `__. This algorithm will fail if the +`workspace `__ does not already point to a full +`instrument `__ `geometry `__ (which usually means +it must be run after +:ref:`algm-LoadInstrument`/:ref:`algm-LoadInstrumentFromRaw`). + +The association is one to many, i.e. a spectrum can have one or many +detectors contributing to it. Alternatively the same spectrum can +contribute to different spectra (for example in DAE2 (Data Aquisition +Electronic) when a spectra containing electronically focussed data is +created simultaneously with individual spectra). + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadMask-v1.rst b/Code/Mantid/docs/source/algorithms/LoadMask-v1.rst new file mode 100644 index 000000000000..400859c639d5 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadMask-v1.rst @@ -0,0 +1,72 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm is used to load a masking file, which can be in XML +format (defined later in this page) or old-styled calibration file. + +Definition of Mask +------------------ + +| ``* If a pixel is masked, it means that the data from this pixel won't be used.  `` +| ``  In the masking workspace (i.e., ``\ ```SpecialWorkspace2D`` `__\ ``), the corresponding value is 1. `` +| ``* If a pixel is NOT masked, it means that the data from this pixel will be used.  `` +| ``  In the masking workspace (i.e., ``\ ```SpecialWorkspace2D`` `__\ ``), the corresponding value is 0.`` + +File Format +----------- + +XML File Format +############### + +Example 1: + +.. raw:: html + + + +| `` ``\ +| ``  ``\ +| ``   ``\ \ ``3,34-44,47``\ +| ``   ``\ \ ``bank123``\ +| ``   ``\ \ ``bank124``\ +| ``  ``\ +| `` ``\ + +ISIS File Format +################ + +Example 2: + +| `` 1-3 62-64`` +| `` 65-67 126-128`` +| `` 129-131 190-192`` +| `` 193-195 254-256`` +| `` 257-259 318-320`` +| `` 321-323 382-384`` +| `` 385 387 446 448`` +| `` ... ...`` + +All the integers in file of this format are spectrum IDs to mask. Two +spectrum IDs with "-" in between indicate a continuous range of spectra +to mask. It does not matter if there is any space between integer number +and "-". There is no restriction on how the line is structured. Be +noticed that any line starting with a non-digit character, except space, +will be treated as a comment line. + +This algorithm loads masking file to a SpecialWorkspace2D/MaskWorkspace. + +Supporting + +| ``* Component ID --> Detector IDs --> Workspace Indexes`` +| ``* Detector ID --> Workspace Indexes`` +| ``* Spectrum ID --> Workspace Indexes`` + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadMcStas-v1.rst b/Code/Mantid/docs/source/algorithms/LoadMcStas-v1.rst new file mode 100644 index 000000000000..072086c498fb --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadMcStas-v1.rst @@ -0,0 +1,50 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Reads a McStas Nexus file into a Mantid WorkspaceGroup with a +user-supplied name. Data generated by McStas monitor components are +stored in workspaces of type Workspace2D or Event. + +LoadMcStas replaces LoadMcStasEventNexus. LoadMcStas can be used for +reading McStas 2.1 histogram and event data. LoadMcStasNexus can be used +for reading McStas 2.0 histogram data. + +McStas 2.1 event data are generated as follows. The McStas component +monitor\_nD must be called with the argument: options ="mantid square x +limits=[-0.2 0.2] bins=128 y limits=[-0.2 0.2] bins=128, neutron pixel +t, list all neutrons". Number of bins and limits can be chosen freely. + +To generate McStas 2.1 event data and the corresponding IDF for Mantid +run the following commands from an xterm: + +- export MCSTAS\_CFLAGS="-g -lm -O2 -DUSE\_NEXUS -lNeXus" + +- mcrun -c templateSANS.instr --format=NeXus -n0 + +- mcdisplay templateSANS.instr -n0 --format=Mantid + +- cp templateSANS.out.xml IDF.xml + +- mcrun templateSANS --format=NeXus + +The new features added to McStas has been tested on the following +platforms: + +- Linux + +- Mac - use either the Intel or gcc 4.8 compiler. Simulations using + Nexus format and event data does not work using the Clang compiler. + +For more information about McStas and its general usage for simulating +neutron scattering instruments and experiments visit the McStas homepage +http://www.mcstas.org. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadMcStasNexus-v1.rst b/Code/Mantid/docs/source/algorithms/LoadMcStasNexus-v1.rst new file mode 100644 index 000000000000..45d70d7017a4 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadMcStasNexus-v1.rst @@ -0,0 +1,23 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Reads a McStas NeXus file into a Mantid WorkspaceGroup with a +user-supplied name. Data generated by McStas monitor components are +stored in workspaces of type `Workspace2D `__. All data +sets are numbered and nested within the WorkspaceGroup. This algorithm +is under development. To date it has been tested with the following +instrument files from the McStas 2.0 instrument suite: templateDIFF, +templateLaue, templateTAS, Reflectometer, Test\_Pol\_TripleAxis, +TestSANS and Tomography. For more information about McStas and its +general usage for simulating neutron scattering instruments and +experiments visit the McStas homepage http://www.mcstas.org. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadMultipleGSS-v1.rst b/Code/Mantid/docs/source/algorithms/LoadMultipleGSS-v1.rst new file mode 100644 index 000000000000..b8dd342c7b3e --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadMultipleGSS-v1.rst @@ -0,0 +1,15 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm loads multiple gsas files from a single directory into +mantid. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadMuonLog-v1.rst b/Code/Mantid/docs/source/algorithms/LoadMuonLog-v1.rst new file mode 100644 index 000000000000..16814ef310ac --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadMuonLog-v1.rst @@ -0,0 +1,22 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The Algorithm is very similar to :ref:`algm-LoadLog` except that the +source of the data is a Muon Nexus file. + +Parent algorithm +################ + +LoadMuonLog is also a child algorithm of +:ref:`algm-LoadMuonNexus`, i.e. it gets called whenever +LoadMuonNexus is executed. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadMuonNexus-v1.rst b/Code/Mantid/docs/source/algorithms/LoadMuonNexus-v1.rst new file mode 100644 index 000000000000..cf38f386f1fd --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadMuonNexus-v1.rst @@ -0,0 +1,81 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The algorithm LoadMuonNexus will read a Muon Nexus data file (original +format) and place the data into the named workspace. The file name can +be an absolute or relative path and should have the extension .nxs or +.NXS. If the file contains data for more than one period, a separate +workspace will be generated for each. After the first period the +workspace names will have "\_2", "\_3", and so on, appended to the given +workspace name. For single period data, the optional parameters can be +used to control which spectra are loaded into the workspace. If +spectrum\_min and spectrum\_max are given, then only that range to data +will be loaded. If a spectrum\_list is given than those values will be +loaded. + +- TODO get XML descriptions of Muon instruments. This data is not in + existing Muon Nexus files. +- TODO load the spectra detector mapping. This may be very simple for + Muon instruments. + +Time series data +################ + +The log data in the Nexus file (NX\_LOG sections) will be loaded as +TimeSeriesProperty data within the workspace. Time is stored as seconds +from the Unix epoch. + +Errors +###### + +The error for each histogram count is set as the square root of the +number of counts. + +Time bin data +############# + +The *corrected\_times* field of the Nexus file is used to provide time +bin data and the bin edge values are calculated from these bin centre +times. + +Multiperiod data +################ + +To determine if a file contains data from more than one period the field +*switching\_states* is read from the Nexus file. If this value is +greater than one it is taken to be the number of periods, :math:`N_p` of +the data. In this case the :math:`N_s` spectra in the *histogram\_data* +field are split with :math:`N_s/N_p` assigned to each period. + +Dead times and detector grouping +################################ + +Muon Nexus v1 files might contain dead time and detector grouping +informationl. These are loaded as TableWorkspaces of the format accepted +by ApplyDeadTimeCorr and MuonGroupDetectors accordingly. These are +returned if and only if names are specified for the properties. For +multi-period data workspace groups might be returned, if information in +the Nexus files contains this information for each period. + +ChildAlgorithms used +#################### + +The ChildAlgorithms used by LoadMuonNexus are: + +- LoadMuonLog - this reads log information from the Nexus file and uses + it to create TimeSeriesProperty entries in the workspace. +- LoadInstrument - this algorithm looks for an XML description of the + instrument and if found reads it. +- LoadIntstrumentFromNexus - this is called if the normal + LoadInstrument fails. As the Nexus file has limited instrument data, + this only populates a few fields. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadMuonNexus-v2.rst b/Code/Mantid/docs/source/algorithms/LoadMuonNexus-v2.rst new file mode 100644 index 000000000000..fdc90996e812 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadMuonNexus-v2.rst @@ -0,0 +1,83 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The algorithm LoadMuonNexus will read a Muon Nexus data file (original +format) and place the data into the named workspace. The file name can +be an absolute or relative path and should have the extension .nxs or +.NXS. If the file contains data for more than one period, a separate +workspace will be generated for each. After the first period the +workspace names will have "\_2", "\_3", and so on, appended to the given +workspace name. For single period data, the optional parameters can be +used to control which spectra are loaded into the workspace. If +spectrum\_min and spectrum\_max are given, then only that range to data +will be loaded. If a spectrum\_list is given than those values will be +loaded. + +- TODO get XML descriptions of Muon instruments. This data is not in + existing Muon Nexus files. +- TODO load the spectra detector mapping. This may be very simple for + Muon instruments. + +Time series data +################ + +The log data in the Nexus file (NX\_LOG sections) will be loaded as +TimeSeriesProperty data within the workspace. Time is stored as seconds +from the Unix epoch. + +Errors +###### + +The error for each histogram count is set as the square root of the +number of counts. + +Time bin data +############# + +The *corrected\_times* field of the Nexus file is used to provide time +bin data and the bin edge values are calculated from these bin centre +times. + +Multiperiod data +################ + +To determine if a file contains data from more than one period the field +*switching\_states* is read from the Nexus file. If this value is +greater than one it is taken to be the number of periods, :math:`N_p` of +the data. In this case the :math:`N_s` spectra in the *histogram\_data* +field are split with :math:`N_s/N_p` assigned to each period. + +ChildAlgorithms used +#################### + +The ChildAlgorithms used by LoadMuonNexus are: + +- LoadMuonLog - this reads log information from the Nexus file and uses + it to create TimeSeriesProperty entries in the workspace. +- LoadInstrument - this algorithm looks for an XML description of the + instrument and if found reads it. +- LoadIntstrumentFromNexus - this is called if the normal + LoadInstrument fails. As the Nexus file has limited instrument data, + this only populates a few fields. + +Previous Versions +----------------- + +Version 1 +######### + +Version 1 supports the loading version 1.0 of the muon nexus format. +This is still in active use, if the current version of LoadMuonNexus +detects that it has been asked to load a previous version muon nexus +file it will call the previous version of the algorithm to perform the +task. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadNXSPE-v1.rst b/Code/Mantid/docs/source/algorithms/LoadNXSPE-v1.rst new file mode 100644 index 000000000000..b6731fd3578d --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadNXSPE-v1.rst @@ -0,0 +1,19 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Algorithm to load an NXSPE file into a workspace2D. It will create a new +instrument, that can be overwritten later by the LoadInstrument +algorithm. + +**NOTE:** In the current implementation, the rendering of the NXSPE +instrument is VERY memory intensive. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadNexus-v1.rst b/Code/Mantid/docs/source/algorithms/LoadNexus-v1.rst new file mode 100644 index 000000000000..f5fd03f275f8 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadNexus-v1.rst @@ -0,0 +1,93 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The algorithm LoadNexus will read the given Nexus file and try to +identify its type so that it can be read into a workspace. The file name +can be an absolute or relative path and should have the extension .nxs +or .nx5. Currently only Nexus Muon Version 1 files are recognised, but +this will be extended as other types are supported such as +:ref:`algm-LoadNexusProcessed`. + +If the file contains data for more than one period, a separate workspace +will be generated for each. After the first period the workspace names +will have "\_2", "\_3", and so on, appended to the given workspace name. +For single period data, the optional parameters can be used to control +which spectra are loaded into the workspace. If spectrum\_min and +spectrum\_max are given, then only that range to data will be loaded. If +a spectrum\_list is given than those values will be loaded. + +Usage +----- + +.. include:: ../usagedata-note.txt + +**Example - Load ISIS histogram Nexus file:** +(see `LoadISISNexus `_ for more options) + +.. testcode:: ExLoadISISnexus + + # Load LOQ histogram dataset + ws = LoadNexus('LOQ49886.nxs') + + print "The 1st x-value of the first spectrum is: " + str(ws.readX(0)[0]) + +.. testcleanup:: ExLoadISISnexus + + DeleteWorkspace(ws) + +Output: + +.. testoutput:: ExLoadISISnexus + + The 1st x-value of the first spectrum is: 5.0 + +**Example - Load ISIS Muon file:** +(see `LoadMuonNexus `_ for more options) + +.. testcode:: ExLoadISISMuon + + # Load ISIS multiperiod muon MUSR dataset + ws = LoadNexus('MUSR00015189.nxs') + + print "The number of periods (entries) is: " + str(ws[0].getNumberOfEntries()) + +.. testcleanup:: ExLoadISISMuon + + DeleteWorkspace(ws[0]) + +Output: + +.. testoutput:: ExLoadISISMuon + + The number of periods (entries) is: 2 + +**Example - Load Mantid processed Nexus file ISIS:** +(see `LoadNexusProcessed `_ for more options: + +.. testcode:: ExLoadNexusProcessedWithLoadNexus + + # Load Mantid processed GEM data file + ws = LoadNexus('focussed.nxs') + + print "The number of histograms (spectra) is: " + str(ws.getNumberHistograms()) + +.. testcleanup:: ExLoadNexusProcessedWithLoadNexus + + DeleteWorkspace(ws) + +Output: + +.. testoutput:: ExLoadNexusProcessedWithLoadNexus + + The number of histograms (spectra) is: 6 + + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadNexusLogs-v1.rst b/Code/Mantid/docs/source/algorithms/LoadNexusLogs-v1.rst new file mode 100644 index 000000000000..15bfe49774a2 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadNexusLogs-v1.rst @@ -0,0 +1,20 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The LoadNexusLogs algorithm loads the sample logs from the given nexus +file. The logs are visible from MantidPlot if you right-click on a +workspace and select "Sample Logs...". + +If you use :ref:`algm-LoadEventNexus` or +:ref:`algm-LoadISISNexus`, calling this algorithm is not +necessary, since it called as a child algorithm. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadNexusMonitors-v1.rst b/Code/Mantid/docs/source/algorithms/LoadNexusMonitors-v1.rst new file mode 100644 index 000000000000..61aa52398b31 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadNexusMonitors-v1.rst @@ -0,0 +1,20 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm loads all monitors found in a NeXus file into a single +`Workspace2D `__. The algorithm assumes that all of the +monitors are histograms and have the same bin boundaries. **NOTE:** The +entry is assumed to be in SNS format, so the loader is currently not +generically applicable. It is also written for single entry files and +will need tweaking to handle period data where the monitors are +different. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadNexusProcessed-v1.rst b/Code/Mantid/docs/source/algorithms/LoadNexusProcessed-v1.rst new file mode 100644 index 000000000000..3f1f1c165231 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadNexusProcessed-v1.rst @@ -0,0 +1,44 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The algorithm LoadNexusProcessed will read a Nexus data file created by +:ref:`algm-SaveNexusProcessed` and place the data into the +named workspace. The file name can be an absolute or relative path and +should have the extension .nxs, .nx5 or .xml. Warning - using XML format +can be extremely slow for large data sets and generate very large files. +The optional parameters can be used to control which spectra are loaded +into the workspace (not yet implemented). If spectrum\_min and +spectrum\_max are given, then only that range to data will be loaded. + +A Mantid Nexus file may contain several workspace entries each labelled +with an integer starting at 1. By default the highest number workspace +is read, earlier ones can be accessed by setting the EntryNumber. + +If the saved data has a reference to an XML file defining instrument +geometry this will be read. + +Time series data +################ + +The log data in the Nexus file (NX\_LOG sections) is loaded as +TimeSeriesProperty data within the workspace. Time is stored as seconds +from the Unix epoch. Only floating point logs are stored and loaded at +present. + +Child algorithms used +##################### + +The Child Algorithms used by LoadMuonNexus are: + +- LoadInstrument - this algorithm looks for an XML description of the + instrument and if found reads it. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadPDFgetNFile-v1.rst b/Code/Mantid/docs/source/algorithms/LoadPDFgetNFile-v1.rst new file mode 100644 index 000000000000..72ecdcdb9cd4 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadPDFgetNFile-v1.rst @@ -0,0 +1,28 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Loads a PDFgetN file such as that saved by PDFgetN. + +PDFgetN generates many types of files for the final result and +communication among different executables at internal steps. This +algorithm is designed to recognize and load all the ASCII based files +created by PDFgetN. + +The file types include + +| `` * .ain`` +| `` * .braw`` +| `` * .bsmo`` +| `` * .sq`` +| `` * .sqa`` +| `` * .gr`` + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadParameterFile-v1.rst b/Code/Mantid/docs/source/algorithms/LoadParameterFile-v1.rst new file mode 100644 index 000000000000..4acfca00f2ba --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadParameterFile-v1.rst @@ -0,0 +1,30 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm allows instrument parameters to be specified in a +separate file from the `IDF `__. The required +format for this file is identical to that used for defining parameters +through s in an IDF. Below is an example of how to define a parameter +named 'test' to be associated with a component named 'bank\_90degnew' +defined in the IDF of the HRPD instrument: + +.. code-block:: xml + + + + + + + + + + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadPreNexus-v1.rst b/Code/Mantid/docs/source/algorithms/LoadPreNexus-v1.rst new file mode 100644 index 000000000000..5b1e575e2ff5 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadPreNexus-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Workflow algorithm to load all of the preNeXus files. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadPreNexusMonitors-v1.rst b/Code/Mantid/docs/source/algorithms/LoadPreNexusMonitors-v1.rst new file mode 100644 index 000000000000..3466711a0080 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadPreNexusMonitors-v1.rst @@ -0,0 +1,17 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +It reads that filenames of the monitors from the runinfo file. It will +only work with histogram monitors and assumes that all monitors are on +the same time axis. It also assumes that the beam monitor files are in +the same directory as the runinfo.xml file. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadQKK-v1.rst b/Code/Mantid/docs/source/algorithms/LoadQKK-v1.rst new file mode 100644 index 000000000000..c4554e52ebb2 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadQKK-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + + + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadRKH-v1.rst b/Code/Mantid/docs/source/algorithms/LoadRKH-v1.rst new file mode 100644 index 000000000000..e90a82b8f76d --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadRKH-v1.rst @@ -0,0 +1,19 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Loads the given file in the RKH text format, which can be a file with +three columns of numbers. If the FirstColumnValue is a recognised +`Mantid unit `__ the workspace is created with just one +spectrum. Alteratively if FirstColumnValue is set to 'SpectrumNumber' +then the workspace can have many spectra with the spectrum ID's equal to +the first column in the file. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadRaw-v3.rst b/Code/Mantid/docs/source/algorithms/LoadRaw-v3.rst new file mode 100644 index 000000000000..2c5dca8e16ad --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadRaw-v3.rst @@ -0,0 +1,70 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The LoadRaw algorithm stores data from the `RAW `__ file in a +`Workspace2D `__, which will naturally contain histogram +data with each spectrum going into a separate histogram. The time bin +boundaries (X values) will be common to all histograms and will have +their `units `__ set to time-of-flight. The Y values will contain +the counts and will be unit-less (i.e. no division by bin width or +normalisation of any kind). The errors, currently assumed Gaussian, will +be set to be the square root of the number of counts in the bin. + +Optional properties +################### + +If only a portion of the data in the `RAW `__ file is +required, then the optional 'spectrum' properties can be set before +execution of the algorithm. Prior to loading of the data the values +provided are checked and the algorithm will fail if they are found to be +outside the limits of the dataset. + +Multiperiod data +################ + +If the RAW file contains multiple periods of data this will be detected +and the different periods will be output as separate workspaces, which +after the first one will have the period number appended (e.g. +OutputWorkspace\_period). Each workspace will share the same +`Instrument `__, SpectraToDetectorMap and +`Sample `__ objects. If the optional 'spectrum' properties are +set for a multiperiod dataset, then they will ignored. + +Subalgorithms used +################## + +LoadRaw runs the following algorithms as child algorithms to populate +aspects of the output `Workspace `__: + +- :ref:`algm-LoadInstrument` - Looks for an instrument + definition file named XXX\_Definition.xml, where XXX is the 3 letter + instrument prefix on the RAW filename, in the directory specified by + the "instrumentDefinition.directory" property given in the config + file (or, if not provided, in the relative path ../Instrument/). If + the instrument definition file is not found then the + :ref:`algm-LoadInstrumentFromRaw` algorithm will be + run instead. +- :ref:`algm-LoadMappingTable` - To build up the mapping + between the spectrum numbers and the Detectors of the attached + `Instrument `__. +- :ref:`algm-LoadLog` - Will look for any log files in the same + directory as the RAW file and load their data into the workspace's + `Sample `__ object. + +Previous Versions +----------------- + +LoadRaw version 1 and 2 are no longer available in Mantid. Version 3 has +been validated and in active use for several years, if you really need a +previous version of this algorithm you will need to use an earlier +version of Mantid. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadRawBin0-v1.rst b/Code/Mantid/docs/source/algorithms/LoadRawBin0-v1.rst new file mode 100644 index 000000000000..e345c3ebb2ae --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadRawBin0-v1.rst @@ -0,0 +1,15 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The LoadRawBin0 algorithm stores bin 0 data from the selected +`RAW `__ file in a `Workspace2D `__. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadRawSpectrum0-v1.rst b/Code/Mantid/docs/source/algorithms/LoadRawSpectrum0-v1.rst new file mode 100644 index 000000000000..a11c7d645cff --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadRawSpectrum0-v1.rst @@ -0,0 +1,15 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The LoadRawSpectrum0 algorithm stores spectrum zero data from the +selected `RAW `__ file in a `Workspace2D `__. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadReflTBL-v1.rst b/Code/Mantid/docs/source/algorithms/LoadReflTBL-v1.rst new file mode 100644 index 000000000000..d26a5169ce35 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadReflTBL-v1.rst @@ -0,0 +1,24 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +LoadReflTBl is loads ascii files in Reflectometry TBL format into a +tableworkspace. Format accepted is strict to only allow 17 columns of +data. + +The 17 columns are split up into rows of 8, so a single row in the TBL +file would be split into 3 colums like so: (Where Z is the newly created +stitch group index) A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q + +becomes + +A, B, C, D, E, P, Q, Z F, G, H, I, J, P, Q, Z K, L, M, N, O, P, Q, Z + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadSINQ-v1.rst b/Code/Mantid/docs/source/algorithms/LoadSINQ-v1.rst new file mode 100644 index 000000000000..11f3d0d548bc --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadSINQ-v1.rst @@ -0,0 +1,24 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Description +----------- + +LoadSINQ loads SINQ NeXus files. The algorithm calculates the file name +from the instrument, year and numor and tries to locate the file. Both +at SINQ standard paths as well as the data directories configured for +Mantid. Then it calls LoadSINQFile for the located data file. + +The Mantid standard Load algorithm selects based on file extensions. The +file extensions used at SINQ, mainly .hdf and .h5, were already taken. +Thus the need for a separate loader. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadSINQFile-v1.rst b/Code/Mantid/docs/source/algorithms/LoadSINQFile-v1.rst new file mode 100644 index 000000000000..6f47500e16d3 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadSINQFile-v1.rst @@ -0,0 +1,18 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +LoadSINQFile is a wrapper algorithm around LoadFlexiNexus. It locates a +suitable dictionary file for the instrument in question and then goes +away to call LoadFlexiNexus with the right arguments. It also performs +any other magic which might be required to get the data in the right +shape for further processing in Mantid. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadSINQFocus-v1.rst b/Code/Mantid/docs/source/algorithms/LoadSINQFocus-v1.rst new file mode 100644 index 000000000000..27273535d56b --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadSINQFocus-v1.rst @@ -0,0 +1,17 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Loads a SINQ (PSI) nexus file into a `Workspace2D `__ with +the given name. + +To date this algorithm only supports: FOCUS + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadSNSspec-v1.rst b/Code/Mantid/docs/source/algorithms/LoadSNSspec-v1.rst new file mode 100644 index 000000000000..fa214d965026 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadSNSspec-v1.rst @@ -0,0 +1,76 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The LoadSNSspec algorithm reads in spectra data from a text file and +stores it in a Workspace2D as data points. The data in the file must be +organized by set of 3 columns (separated by any number of spaces). The +first column has to be the X values, the second column the Y values and +the third column the error values. + +Here are two examples of such text files that can be loaded with +LoadSNSspec: + +*Example 1:* + +:: + + #F norm: REF_M_2000.nxs + #F data: REF_M_2001.nxs + #E 1234567.80 + ... + #C SCL Version - 1.4.1 + + #S 1 Spectrum ID ('bank1',(0,127)) + #L Lambda_T(Angstroms) Intensity(Counts/A) Sigma(Counts/A) + 0.0 0.0 0.0 + 1.0 5.0 2.0 + 2.0 10.0 3.0 + 3.0 15.0 2.0 + 4.0 20.0 2.5 + 5.0 25.0 3.2 + 6.0 30.0 4.2 + +This will create a Workspace2D with 1 spectrum. + +*Example 2:* + +:: + + #F norm: REF_M_2000.nxs + #F data: REF_M_2001.nxs + #E 1234567.80 + ... + #C SCL Version - 1.4.1 + + #S 1 Spectrum ID ('bank1',(0,127)) + #L Lambda_T(Angstroms) Intensity(Counts/A) Sigma(Counts/A) + 0.0 0.0 0.0 + 1.0 5.0 2.0 + 2.0 10.0 3.0 + 3.0 15.0 4.0 + + #S 1 Spectrum ID ('bank1',(1,127)) + #L Lambda_T(Angstroms) Intensity(Counts/A) Sigma(Counts/A) + 0.0 10.0 0.0 + 1.0 15.0 2.0 + 2.0 110.0 3.0 + 3.0 115.0 4.0 + + #S 1 Spectrum ID ('bank1',(3,127)) + #L Lambda_T(Angstroms) Intensity(Counts/A) Sigma(Counts/A) + 0.0 20.0 0.0 + 1.0 25.0 2.0 + 2.0 210.0 3.0 + 3.0 215.0 4.0 + +This text file will create a Workspace2D with 3 spectra. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadSPE-v1.rst b/Code/Mantid/docs/source/algorithms/LoadSPE-v1.rst new file mode 100644 index 000000000000..273fc39baedd --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadSPE-v1.rst @@ -0,0 +1,20 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Loads the file given into a `Workspace2D `__ with the given +name. The file should be in the SPE format, which is described +`here `__. The workspace will have X units of +`Energy transfer `__. The other axis will be binned and +have units of either `Momentum transfer / Q `__ or +degrees, depending on the label in the input file. The workspace will be +flagged as a distribution. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadSQW-v1.rst b/Code/Mantid/docs/source/algorithms/LoadSQW-v1.rst new file mode 100644 index 000000000000..7e8ba572cf76 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadSQW-v1.rst @@ -0,0 +1,164 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The algorithm takes every pixel defined in the SQW horace file and +converts it into an event. + +Only top level binning information is currently taken from DND/Image +data. All DND image information is currently ignored and the resulting +MDEvent workspace is in the units of :math:`Q^{-1}` (SQW dimensions, +recalculated to the Crystal? frame, without HKL transformation). + +U matrix is set to unity but the B-matrix is read from the SQW and +attached to the workspace which may confuse the algorithms which work +with `MDEventWorkspace `__ produced by Mantid +algorithms. + +Notes on Horace SQW files +######################### + +Sqw objects comes in two flavours: + +- sqw-type + +- dnd-type + +The former has the four main fields fully filled. The fields description +is given below. The latter has: + +- **main\_header**, **header**, **detpar** as empty structures (0x0 +struct array with no fields) + +- data.urange and data.pix do not exist. + +The dnd-type is created from d0d, d1d,... objects for most algorithms so +as to use private methods of sqw objects. + +DND-type object can not be currently read or understood by Mantid. + +Structure of sqw class with remarks on what is currently used and what is ignored +################################################################################# + +String started by: + +| ``% -- ignored`` +| ``* -- used`` + +| `` ``\ **``Main_header``**\ ``:`` +| `` %   main_headerfilename   Name of sqw file that is being read, excluding path`` +| `` %   main_headerfilepath   Path to sqw file that is being read, including terminating file separator`` +| `` %   main_headertitle      Title of sqw data structure`` +| `` %   main_headernfiles     Number of spe files that contribute to the sqw object`` + +| `` ``\ **``Header``**\ ``: (scalar structure, or cellarray of scalar structures if more than one spe file)`` +| `` %   header{i}.filename   Name of sqw file excluding path`` +| `` %   header{i}.filepath   Path to sqw file including terminating file separator`` +| `` %   header{i}.efix       Fixed energy (ei or ef depending on emode)`` +| `` %   header{i}.emode      Emode=1 direct geometry, =2 indirect geometry, =0 if diffraction ''' Only emode 1 have ever been tried '''`` +| `` %   header{i}.alatt      Lattice parameters (Angstroms)`` +| `` %   header{i}.angdeg     Lattice angles (deg)`` +| `` %   header{i}.cu         First vector defining scattering plane (r.l.u.)`` +| `` %   header{i}.cv         Second vector defining scattering plane (r.l.u.)`` +| `` %   header{i}.psi        Orientation angle (rad)`` +| `` %   header{i}.omega      --|`` +| `` %   header{i}.dpsi         |  Crystal misorientation description (rad)`` +| `` %   header{i}.gl           |  (See notes elsewhere e.g. Tobyfit manual`` +| `` %   header{i}.gs         --|`` +| `` %   header{i}.en         Energy bin boundaries (meV) in the input spe file [column vector]`` +| `` %   header{i}.uoffset    Offset of origin of pixel projection axes in r.l.u. and energy i.e. [h; k; l; en] [column vector]`` +| `` %   header{i}.u_to_rlu   Matrix (4x4) of pixel projection axes in hkle representation`` +| `` %                      u(:,1) first vector - u(1:3,1) r.l.u., u(4,1) energy etc.`` +| `` %   header{i}.ulen       Length of pixel projection axes vectors in Ang^-1 or meV [row vector]`` +| `` %   header{i}.ulabel     Labels of the pixel projection axes [1x4 cell array of character strings]`` + +The pixel projection axes, u1, u2, u3 are the orthonormal vectors of the +crystal Cartesian coordinate frame i.e. u1 \|\| a\*, u2 in plane of a\*, +and b\*, and u3 \|\| a\* x b\*. They form the coordinate frame in which +the pixel coordinates are stored in data.pix. The pixel projection axes +must necessarily be identical for all contributing spe files. + +| `` ``\ **``Detpar``**\ ``:`` +| `` %   detpar.filename    Name of file excluding path`` +| `` %   detpar.filepath    Path to file including terminating file separator`` +| `` %   detpar.group       Row vector of detector group number`` +| `` %   detpar.x2          Row vector of secondary flightpaths (m)`` +| `` %   detpar.phi         Row vector of scattering angles (deg)`` +| `` %   detpar.azim        Row vector of azimuthal angles (deg)`` +| `` %                  (West bank=0 deg, North bank=90 deg etc.)`` +| `` %   detpar.width       Row vector of detector widths (m)`` +| `` %   detpar.height      Row vector of detector heights (m)`` + +| `` ``\ **``Data``**\ ``:`` +| `` %   data.filename   Name of sqw file that is being read, excluding path`` +| `` %   data.filepath   Path to sqw file that is being read, including terminating file separator`` +| `` %   data.title      Title of sqw data structure`` +| `` *   data.alatt      Lattice parameters for data field (Ang^-1)`` +| `` *   data.angdeg     Lattice angles for data field (degrees)`` +| `` %   data.uoffset    Offset of origin of projection axes in r.l.u. and energy ie. [h; k; l; en] [column vector]`` +| `` %   data.u_to_rlu   Matrix (4x4) of projection axes in hkle representation`` +| `` %                      u(:,1) first vector - u(1:3,1) r.l.u., u(4,1) energy etc.`` +| `` %   data.ulen       Length of projection axes vectors in Ang^-1 or meV [row vector]`` +| `` %   data.ulabel     Labels of the projection axes [1x4 cell array of character strings]`` +| `` %   data.iax        Index of integration axes into the projection axes  [row vector]`` +| `` %                  Always in increasing numerical order`` +| `` %                       e.g. if data is 2D, data.iax=[1,3] means summation has been performed along u1 and u3 axes`` +| `` %   data.iint       Integration range along each of the integration axes. [iint(2,length(iax))]`` +| `` %                       e.g. in 2D case above, is the matrix vector [u1_lo, u3_lo; u1_hi, u3_hi]`` +| `` %   data.pax        Index of plot axes into the projection axes  [row vector]`` +| `` %                  Always in increasing numerical order`` +| `` %                       e.g. if data is 3D, data.pax=[1,2,4] means u1, u2, u4 axes are x,y,z in any plotting`` +| `` %                                       2D, data.pax=[2,4]     "   u2, u4,    axes are x,y   in any plotting`` +| `` %   data.p          Call array containing bin boundaries along the plot axes [column vectors]`` +| `` %                       i.e. row cell array {data.p{1}, data.p{2} ...} (for as many axes as length of data.pax)`` +| `` %   data.dax        Index into data.pax of the axes for display purposes. For example we may have `` +| `` %                  data.pax=[1,3,4] and data.dax=[3,1,2] This means that the first display axis is data.pax(3)=4,`` +| `` %                  the second is data.pax(1)=1, the third is data.pax(2)=3. The reason for data.dax is to allow`` +| `` %                  the display axes to be permuted but without the contents of the fields p, s,..pix needing to`` +| `` %                  be reordered [row vector]`` +| `` -----> Large data fields, data for MD image`` +| `` %   data.s          Cumulative signal.  [size(data.s)=(length(data.p1)-1, length(data.p2)-1, ...)]`` +| `` %   data.e          Cumulative variance [size(data.e)=(length(data.p1)-1, length(data.p2)-1, ...)]`` +| `` %   data.npix       No. contributing pixels to each bin of the plot axes.`` +| `` %                  [size(data.pix)=(length(data.p1)-1, length(data.p2)-1, ...)]`` +| `` -----> `` +| `` *   data.urange     True range of the data along each axis [urange(2,4)] `` +| `` ----> Pixels or events data `` +| `` *   data.pix        Array containing data for each pixel:`` +| `` *                  If npixtot=sum(npix), then pix(9,npixtot) contains:`` +| `` *                   u1      -|`` +| `` *                   u2       |  Coordinates of pixel in the pixel projection axes`` +| `` *                   u3       |`` +| `` *                   u4      -|`` +| `` *                   irun        Run index in the header block from which pixel came`` +| `` *                   idet        Detector group number in the detector listing for the pixel`` +| `` *                   ien         Energy bin number for the pixel in the array in the (irun)th header`` +| `` *                   signal      Signal array`` +| `` *                   err         Error array (variance i.e. error bar squared)`` + +data.s is normalized by the number of pixels, as is the variance data.e. +For those elements where data.npix==0, data.s=0 and data.e=0 + +General notes about SQW file assumptions +######################################## + +Parts of the code were written with the idea of generalising +functionality at a later stage. However, we can now assume that: + +| `` - the lattice parameters are all the same for all contributing spe files`` +| `` - the energy offset is zero in cuts`` +| `` Requires that all sqw files that are to be combined have`` +| `` (1)   each been created from only one spe file`` +| `` (2)   the same lattice parameters and pixel projection axes as held in the header block`` +| `` (3)   the same projection axes and offsets, as held in the data block`` +| `` (4)   the same plot and integration axes, with same bins and integration ranges`` +| `` The display axes will be taken from the first sqw object in the list to be combined   ``` + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadSampleDetailsFromRaw-v1.rst b/Code/Mantid/docs/source/algorithms/LoadSampleDetailsFromRaw-v1.rst new file mode 100644 index 000000000000..4ffa408b901d --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadSampleDetailsFromRaw-v1.rst @@ -0,0 +1,45 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The SPB struct within an ISIS raw file defines 4 fields that describe +the basic geometry of the sample: + +- e\_geom; +- e\_thick; +- e\_height; +- e\_width. + +The meaning of the last three are dependent on the flag value *e\_geom*, +which defines the sample shape as one of 4 basic shapes: + +- 1 = cylinder: radius = e\_thick = e\_width, height = e\_height; +- 2 = flat plate: as named; +- 3 = disc: radius = e\_width, thickness = e\_thick; +- 4 = single crystal. + +The values are stored on the +`sample `__ +object. + +Access in Python +---------------- + +To access these values in Python: + +| ``sampleInfo = wksp.getSampleInfo()`` +| ``print sampleInfo.getGeometryFlag()`` +| ``print sampleInfo.getThickness()`` +| ``print sampleInfo.getHeight()`` +| ``print sampleInfo.getWidth()`` + +where wksp is a handle to a Mantid workspace. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadSassena-v1.rst b/Code/Mantid/docs/source/algorithms/LoadSassena-v1.rst new file mode 100644 index 000000000000..bdd66208a94e --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadSassena-v1.rst @@ -0,0 +1,50 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The Sassena application `1 `__ generates +intermediate scattering factors from molecular dynamics trajectories. +This algorithm reads Sassena output and stores all data in workspaces of +type `Workspace2D `__, grouped under a single +`WorkspaceGroup `__. + +Sassena ouput files are in HDF5 format +`2 `__, and can be made up of the +following datasets: *qvectors*, *fq*, *fq0*, *fq2*, and *fqt* + +Time units: Current Sassena version does not specify the time unit, thus +the user is required to enter the time in between consecutive data +points. Enter the number of picoseconds separating consecutive +datapoints. + +The workspace for **qvectors**: + +- X-values for the origin of the vector, default: (0,0,0) +- Y-values for the tip of the vector +- one spectra with three bins for each q-vector, one bin per vector + component. If orientational average was performed by Sassena, then + only the first component is non-zero. + +The workspaces for **fq**, **fq0**, and **fq2** contains two spectra: + +- First spectrum is the real part, second spectrum is the imaginary + part +- X-values contain the moduli of the q vector +- Y-values contain the structure factors + +Dataset **fqt** is split into two workspaces, one for the real part and +the other for the imaginary part. The structure of these two workspaces +is the same: + +- X-values contain the time variable +- Y-values contain the structure factors +- one spectra for each q-vector + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadSpec-v1.rst b/Code/Mantid/docs/source/algorithms/LoadSpec-v1.rst new file mode 100644 index 000000000000..69fc7c308deb --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadSpec-v1.rst @@ -0,0 +1,76 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The LoadSpec algorithm reads in spectra data from a text file and stores +it in a Workspace2D as data points. The data in the file must be +organized by set of 3 columns (separated by any number of spaces). The +first column has to be the X values, the second column the Y values and +the third column the error values. + +Here are two examples of such text files that can be loaded with +LoadSpec: + +*Example 1:* + +:: + + #F norm: REF_M_2000.nxs + #F data: REF_M_2001.nxs + #E 1234567.80 + ... + #C SCL Version - 1.4.1 + + #S 1 Spectrum ID ('bank1',(0,127)) + #L Lambda_T(Angstroms) Intensity(Counts/A) Sigma(Counts/A) + 0.0 0.0 0.0 + 1.0 5.0 2.0 + 2.0 10.0 3.0 + 3.0 15.0 2.0 + 4.0 20.0 2.5 + 5.0 25.0 3.2 + 6.0 30.0 4.2 + +This will create a Workspace2D with 1 spectrum. + +*Example 2:* + +:: + + #F norm: REF_M_2000.nxs + #F data: REF_M_2001.nxs + #E 1234567.80 + ... + #C SCL Version - 1.4.1 + + #S 1 Spectrum ID ('bank1',(0,127)) + #L Lambda_T(Angstroms) Intensity(Counts/A) Sigma(Counts/A) + 0.0 0.0 0.0 + 1.0 5.0 2.0 + 2.0 10.0 3.0 + 3.0 15.0 4.0 + + #S 1 Spectrum ID ('bank1',(1,127)) + #L Lambda_T(Angstroms) Intensity(Counts/A) Sigma(Counts/A) + 0.0 10.0 0.0 + 1.0 15.0 2.0 + 2.0 110.0 3.0 + 3.0 115.0 4.0 + + #S 1 Spectrum ID ('bank1',(3,127)) + #L Lambda_T(Angstroms) Intensity(Counts/A) Sigma(Counts/A) + 0.0 20.0 0.0 + 1.0 25.0 2.0 + 2.0 210.0 3.0 + 3.0 215.0 4.0 + +This text file will create a Workspace2D with 3 spectra. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadSpice2D-v1.rst b/Code/Mantid/docs/source/algorithms/LoadSpice2D-v1.rst new file mode 100644 index 000000000000..c4554e52ebb2 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadSpice2D-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + + + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadTOFRawNexus-v1.rst b/Code/Mantid/docs/source/algorithms/LoadTOFRawNexus-v1.rst new file mode 100644 index 000000000000..2dd2e346f612 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadTOFRawNexus-v1.rst @@ -0,0 +1,32 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm loads a NeXus file that conforms to the TOFRaw format and +stores it in a 2D workspace. The TOFRaw format is used at SNS and +consists of a histogram representation with common bin boundaries. + +Some NXS files have multiple data fields giving binning in other units +(e.g. d-spacing or momentum). You can choose which binning to use by +entering the **Signal** parameter. The default value is 1, which +normally will correspond to TOF. The "Y" units will still be in +*counts*. + +The typical meanings of Signal are as follows (note that these may +change!): + +- Signal 1: Time of flight. The data field containing the bin + boundaries is *time\_of\_flight* +- Signal 5: q. The data field containing the bin boundaries is + *momentum\_transfer* +- Signal 6: d-spacing. The data field containing the bin boundaries is + *dspacing* + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LoadVesuvio-v1.rst b/Code/Mantid/docs/source/algorithms/LoadVesuvio-v1.rst new file mode 100644 index 000000000000..b9464cc30c65 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LoadVesuvio-v1.rst @@ -0,0 +1,15 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +A Workflow algorithm to load the data from the VESUVIO instrument at +ISIS. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/Logarithm-v1.rst b/Code/Mantid/docs/source/algorithms/Logarithm-v1.rst new file mode 100644 index 000000000000..74c3f05e9612 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/Logarithm-v1.rst @@ -0,0 +1,29 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +*Logarithm* function calculates the logarithm of the data, held in a +workspace and tries to estimate the errors of this data, by calculating +logarithmic transformation of the errors. The errors are assumed to be +small and Gaussian so they are calculated on the basis of Tailor +decomposition e.g. if :math:`S` and :math:`Err` are the signal and +errors for the initial signal, the logarithm would provide +:math:`S_{ln}=ln(S)` and :math:`Err_{ln}=Err/S` accordingly. If the base +10 logarithm is used the errors are calculated as +:math:`Err_{log10}=0.434Err/S` + +Some values in a workspace can normally be equal to zero. Logarithm is +not calculated for values which are less or equal to 0, but the value of +*Filler* is used instead. The errors for such cells set to zeros + +When acting on an event workspace, the output will be a Workspace2D, +with the default binning from the original workspace. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/LogarithmMD-v1.rst b/Code/Mantid/docs/source/algorithms/LogarithmMD-v1.rst new file mode 100644 index 000000000000..12fe0a2ee96b --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/LogarithmMD-v1.rst @@ -0,0 +1,23 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This executes the natural logarithm operation on a MDHistoWorkspace. + +The signal :math:`a` becomes :math:`f = log(a)` + +The error :math:`da` becomes :math:`df^2 = a^2 / da^2` + +This algorithm cannot be run on a +`MDEventWorkspace `__. Its equivalent on a +`MatrixWorkspace `__ is called +:ref:`algm-Logarithm`. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/Lorentzian1D-v1.rst b/Code/Mantid/docs/source/algorithms/Lorentzian1D-v1.rst new file mode 100644 index 000000000000..3152104e01c0 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/Lorentzian1D-v1.rst @@ -0,0 +1,39 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Takes a histogram in a 2D workspace and fit it to a Lorentzian function, +i.e. to the function: + +.. math:: \mbox{BG0}+\mbox{BG1}*x+\mbox{Height}* \left( \frac{\mbox{HWHM}^2}{(x-\mbox{PeakCentre})^2+\mbox{HWHM}^2} \right) + +where + +- BG0 - constant background value +- BG1 - constant background value +- Height - height of peak (at maximum) +- PeakCentre - centre of peak +- HWHM - half-width at half-maximum + +Note that the FWHM (Full Width Half Maximum) equals two times HWHM, and +the integral over the Lorentzian equals +:math:`\mbox{Height} * \pi * \mbox{HWHM}` (ignoring the linear +background). In the literature you may also often see the notation +:math:`\gamma` = HWHM. + +The figure below illustrate this symmetric peakshape function fitted to +a TOF peak: + +.. figure:: /images/LorentzianWithConstBackground.png + :alt: LorentzianWithConstBackground.png + + LorentzianWithConstBackground.png + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/MDHistoToWorkspace2D-v1.rst b/Code/Mantid/docs/source/algorithms/MDHistoToWorkspace2D-v1.rst new file mode 100644 index 000000000000..121113f45560 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/MDHistoToWorkspace2D-v1.rst @@ -0,0 +1,22 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +MDHistoToWorkspace2D flattens a MDHistoWorkspace into a Workspace2D. It +can process MDHistoWorkspaces of any dimensionality. The last dimension +of the MDHistoWorkspace becomes the spectra length. Flattening happens +such that the first dimension of the MDHistoWorkspace is the slowest +varying, the second the second slowest varying and so on. + +This tool is useful as many algorithms in Mantid only apply to +Workspace2D. After conversion with MDHistoToWorkspace2D such algorithms +can also be applied to MD data. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/MaskAngle-v1.rst b/Code/Mantid/docs/source/algorithms/MaskAngle-v1.rst new file mode 100644 index 000000000000..b94304eadf8b --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/MaskAngle-v1.rst @@ -0,0 +1,17 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Algorithm to mask detectors with scattering angles in a given interval +(in degrees) By default MinAngle=0, MaxAngle=180, so if no keywords are +set, all detectors are going to be masked Returns a list of detectors +that were masked + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/MaskBTP-v1.rst b/Code/Mantid/docs/source/algorithms/MaskBTP-v1.rst new file mode 100644 index 000000000000..8c3a5a413b72 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/MaskBTP-v1.rst @@ -0,0 +1,34 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Algorithm to mask detectors in particular banks, tube, or pixels. It +applies to the following instruments only: ARCS, CNCS, HYSPEC, NOMAD, +POWGEN, SEQUOIA, SNAP, TOPAZ. For instruments with rectangular position +sensitive detectors (POWGEN, SNAP, TOPAZ), the tube is corresponding to +the x coordinate, and pixel to the y coordinate. For example, on SNAP +Bank="1", Tube="3" corresponds to 'SNAP/East/Column1/bank1/bank1(x=3)', +and Bank="1", Tube="3", Pixel="5" is +'SNAP/East/Column1/bank1/bank1(x=3)/bank1(3,5)'. + +If one of Bank, Tube, Pixel entries is left blank, it will apply to all +elements of that type. For example: + +MaskBTP(w,Bank = "1") will completely mask all tubes and pixels in bank +1. MaskBTP(w,Pixel = "1,2") will mask all pixels 1 and 2, in all tubes, +in all banks. + +The algorithm allows ranged inputs: Pixel = "1-8,121-128" is equivalent +to Pixel = "1,2,3,4,5,6,7,8,121,122,123,124,125,126,127,128" + +'''Note: '''Either the input workspace or the instrument must be set. If +the workspace is set, the instrument is ignored. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/MaskBins-v1.rst b/Code/Mantid/docs/source/algorithms/MaskBins-v1.rst new file mode 100644 index 000000000000..8699c79e06e3 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/MaskBins-v1.rst @@ -0,0 +1,47 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Masks bins in a workspace. Masked bins should properly be regarded as +having been completely removed from the workspace. Bins falling within +the range given (even partially) are masked, i.e. their data and error +values are set to zero and the bin is added to the list of masked bins. +This range is masked for all spectra in the workspace (though the +workspace does not have to have common X values in all spectra). + +At present, although the zeroing of data will obviously be 'seen' by all +downstream algorithms. Only +:ref:`algm-DiffractionFocussing` (version 2) and +:ref:`algm-Q1D` have been modified to take account of masking. Several +algorithms (e.g. :ref:`algm-Rebin`, :ref:`algm-CropWorkspace`) +have been modified to properly propagate the masking. + +Related Algorithms +------------------ + +RemoveBins +########## + +:ref:`algm-RemoveBins` can work in several ways, if the bins are at +the edges of the workspace they will be removed, and that will in many +ways act like Masking the bins. If the bins are in the middle of the +workspace then the effect depends on the type of interpolation, but +importantly these bins will continue to influence future algorithms as +opposed to masked bins. For example, with no interpolation +:ref:`algm-RemoveBins` sets the bin values to 0. This 0 values will +be included in the summing performed in DiffractionFocussing, pushing +down the values in that region. MaskBins is more clever. While if you +look at the data, it will appear that it has simply set the values to 0. +It has also set a series of flags inside that mark those bins to not be +included in further claculations. This means that when you Focus the +data these values are simply missed out of the summing that is +performed. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/MaskBinsFromTable-v1.rst b/Code/Mantid/docs/source/algorithms/MaskBinsFromTable-v1.rst new file mode 100644 index 000000000000..9dc00c0420cf --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/MaskBinsFromTable-v1.rst @@ -0,0 +1,31 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Masks bins in a workspace. The user specified masking parameters, +including spectra, xmin and xmax are given via a TableWorkspace. + +It calls algorithm MaskBins underneath. + +Related Algorithms +------------------ + +MaskBins +######## + +:ref:`algm-MaskBins` masks bins in a workspace. Masked bins should +properly be regarded as having been completely removed from the +workspace. Bins falling within the range given (even partially) are +masked, i.e. their data and error values are set to zero and the bin is +added to the list of masked bins. This range is masked for all spectra +in the workspace (though the workspace does not have to have common X +values in all spectra). + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/MaskDetectors-v1.rst b/Code/Mantid/docs/source/algorithms/MaskDetectors-v1.rst new file mode 100644 index 000000000000..8c266a4679d1 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/MaskDetectors-v1.rst @@ -0,0 +1,103 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm will flag the detectors listed as +masked(\ `IDetector `__ isMasked() method) and will zero the +data in the spectra related to those detectors. + +All but the first property are optional and at least one of the must be +set. If several are set, the first will be used. + +The set of detectors to be masked can be given as a list of either +spectrum numbers, detector IDs or workspace indices. The list should be +set against the appropriate property. + +Mask Detectors According To Instrument +###################################### + +If the input MaskedWorkspace is not a SpecialWorkspace2D object, this +algorithm will check every detectors in input MaskedWorkspace's +Instrument. If the detector is masked, then the corresponding detector +will be masked in Workspace. + +Mask Detectors According to Masking Workspace +############################################# + +If the input MaskedWorkspace is a `MaskWorkspace `__ +object, i.e., masking workspace, then the algorithm will mask +Workspace's detector according to the histogram data of the +SpecialWorkspace2D object + +Definition of Mask +################## + +- If a pixel is masked, it means that the data from this pixel won't be + used. In the masking workspace (i.e., + `SpecialWorkspace2D `__), the corresponding value + is 1. +- If a pixel is NOT masked, it means that the data from this pixel will + be used. In the masking workspace (i.e., + `SpecialWorkspace2D `__), the corresponding value + is 0. + +About Input Parameters +###################### + +:ref:`algm-MaskDetectors` supports various format of input to +mask detectors, including + +- Workspace indices +- Spectra +- Detectors +- `MaskWorkspace `__ +- General `MatrixWorkspace `__ other than + `MaskWorkspace `__ (In this case, the mask will be + extracted from this workspace) + +Rules +##### + +Here are the rules for input information for masking + +| ``1. At least one of the inputs must be specified.   `` +| ``2. Workspace indices and Spectra cannot be given at the same time. `` +| ``3. ``\ ```MaskWorkspace`` `__\ `` and general ``\ ```MatrixWorkspace`` `__\ `` cannot be given at the same time. `` +| ``4. When a general ``\ ```MatrixWorkspace`` `__\ `` is specified, then all detectors in a spectrum are treated as masked if the effective detector of that spectrum is masked. `` +| ``5. The masks specified from `` +| ``  a) workspace indices/spectra`` +| ``  b) detectors`` +| ``  c) ``\ ```MaskWorkspace`` `__\ ``/general ``\ ```MatrixWorkspace`` `__ +| ``  will be combined by the ``\ *``plus``*\ `` operation.`` + +Operations Involved in Masking +############################## + +There are 2 operations to mask a detector and thus spectrum related + +| ``1. Set the detector in workspace's instrument's ``\ *``parameter`` +``map``*\ `` to ``\ *``masked``*\ ``;`` +| ``2. Clear the data associated with the spectrum with detectors that are masked;`` + +Implementation +############## + +In the plan, the workflow to mask detectors should be + +| ``1. Convert input detectors, workspace indices or spectra, and general ``\ ```MatrixWorkspace`` `__\ `` to a ``\ ```MaskWorkspace`` `__\ ``;`` +| ``2. Mask detectors according to ``\ ```MaskWorkspace`` `__\ ``;`` +| ``3. Clear data on all spectra, which have at least one detector that is masked.`` + +Concern +####### + +- Speed! + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/MaskDetectorsIf-v1.rst b/Code/Mantid/docs/source/algorithms/MaskDetectorsIf-v1.rst new file mode 100644 index 000000000000..1ea448e0dae0 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/MaskDetectorsIf-v1.rst @@ -0,0 +1,17 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Iterates over the input workspace evaluating the test for each single +value spectrum. If the detectors should be masked it deselects all of +the contributing detectors in the output calfile. All other aspects of +the InputCalFile are copied over to the OutputCalFile. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/MaskDetectorsInShape-v1.rst b/Code/Mantid/docs/source/algorithms/MaskDetectorsInShape-v1.rst new file mode 100644 index 000000000000..a43f5961cab2 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/MaskDetectorsInShape-v1.rst @@ -0,0 +1,29 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Masks detectors that are contained within a user defined 3 dimensional +shape within the instrument. + +The algorithm places the user defined geometric shape within the virtual +instrument and masks any detector detectors that in contained within it. +A detector is considered to be contained it its central location point +is contained within the shape. + +ChildAlgorithms used +#################### + +MaskDetectorsInShape runs the following algorithms as child algorithms: + +- :ref:`algm-FindDetectorsInShape` - To determine the + detectors that are contained in the user defined shape. +- :ref:`algm-MaskDetectors` - To mask the detectors found. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/MaskMD-v1.rst b/Code/Mantid/docs/source/algorithms/MaskMD-v1.rst new file mode 100644 index 000000000000..b38159bc810a --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/MaskMD-v1.rst @@ -0,0 +1,43 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm masks a `MDWorkspace `__ in-situ. + +This algorithm will first clear-out any existing masking and then apply +the new masking. + +Simple Example +-------------- + +Mask as single box region in a 3D workspace with Dimension ids X, Y, Z. +Suppose that the dimensions exented from -2 to 2 in each dimension and +you want to mask the central region. + +``MaskMD("Workspace"=workspace,Dimensions="X,Y,Z",Exents="-1,1,-1,1,-1,1")`` + +Complex Example +--------------- + +Mask two box regions in a 3D workspace, where the input workspace is the +same as above. Here we attempt to mask two opposite corners of the 3D +workspace. + +``MaskMD("Workspace"=workspace,Dimensions="X,Y,Z,X,Y,Z",Extents="-2,-1,-2,-1,-2,-1,+1,+2,+1,+2,+1,+2")`` + +In this example, because the dimensionality is 3 and because 6 dimension +ids have been provided, the algorithm treats {X,Y,Z} as one masking +region and the following {X,Y,Z} as another. Likewise of the 12, Extents +inputs provided, the first 6 entries {-2,-1,-2,-1,-2,-1} are min, max +values for the first {X,Y,Z} and the latter 6 {+1,+2,+1,+2,+1,+2} relate +to the last {X,Y,Z}. Applying this maksing will result in two completely +separate areas masked in a single call to the algorithm. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/MaskPeaksWorkspace-v1.rst b/Code/Mantid/docs/source/algorithms/MaskPeaksWorkspace-v1.rst new file mode 100644 index 000000000000..5e97f56e7ad1 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/MaskPeaksWorkspace-v1.rst @@ -0,0 +1,17 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Mask pixels in an Workspace close to peak positions from a +PeaksWorkspace. Peaks could come from ISAW diamond stripping routine for +SNAP data. Only works on Workspaces and for instruments with +RectangularDetector's. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/MaskWorkspaceToCalFile-v1.rst b/Code/Mantid/docs/source/algorithms/MaskWorkspaceToCalFile-v1.rst new file mode 100644 index 000000000000..bf41aea1de92 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/MaskWorkspaceToCalFile-v1.rst @@ -0,0 +1,17 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithms writes a cal file with the selection column set to the +masking status of the workspaces provided. The offsets and grouping +details of the cal file are not completed, so you would normally use +MargeCalFiles afterwards to import these values from another file. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/Max-v1.rst b/Code/Mantid/docs/source/algorithms/Max-v1.rst new file mode 100644 index 000000000000..c4554e52ebb2 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/Max-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + + + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/MaxMin-v1.rst b/Code/Mantid/docs/source/algorithms/MaxMin-v1.rst new file mode 100644 index 000000000000..81fc22f97320 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/MaxMin-v1.rst @@ -0,0 +1,21 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The algorithm creates a new 2D workspace containing the first maxima +(minima) for each spectrum, as well as their X boundaries and error. +This is used in particular for single crystal as a quick way to find +strong peaks. By default, the algorithm returns the maxima. + +The :ref:`algm-Max` and :ref:`algm-Min` algorithms are just calls to the +:ref:`algm-MaxMin` algorithm, with the ShowMin flag set to true/false +respectively. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/Mean-v1.rst b/Code/Mantid/docs/source/algorithms/Mean-v1.rst new file mode 100644 index 000000000000..2630326a79f5 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/Mean-v1.rst @@ -0,0 +1,15 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Calculates the mean of the workspaces provided. Output workspace is +identical in shape to the input workspaces. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/MedianDetectorTest-v1.rst b/Code/Mantid/docs/source/algorithms/MedianDetectorTest-v1.rst new file mode 100644 index 000000000000..8774646f65c5 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/MedianDetectorTest-v1.rst @@ -0,0 +1,46 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +If instrument geometry information is available the +:ref:`algm-SolidAngle` algorithm is used to calculate the number of +counts per unit solid angle, otherwise numbers of counts are used +without correction. First the median number of counts in all the bins is +calculated. Then the ratio of the total number of counts and the median +number is calculated for each histogram. This ratio is compared against +the user defined upper and lower thresholds and if the ratio is outside +the limits the statistical significance test is done. + +In the statistical significance test the difference between the number +of counts in each spectrum and the median number is compared to the +spectrum's error value. Any spectra where the ratio of the its deviation +from the mean and the its error is less than the value of the property +SignificanceTest will not be labelled bad. This test is particularly +important when the number of counts is low, for example when examining +the low count "background" parts of spectra. + +Optionally, some might want to do median on a tube, or a bank. Fot that, +use the LevelsUp input. For example, in the CNCS instrument, the +detector is called a pixel. The parent of a pixel is a tube, while an +eightpack contains 8 tubes. To calculate the median of a tube, use +LevelsUp=1, for an eightpack use LevelsUp=2. LevelsUp=0 will calculate +the median over the whole instrument. + +The output workspace contains a MaskWorkspace where those spectra that +fail the tests are masked and those that pass them are assigned a single +positive value. + +ChildAlgorithms used +#################### + +Uses the :ref:`algm-SolidAngle`, :ref:`algm-Integration` and +:ref:`algm-ConvertToDistribution` algorithms. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/MergeCalFiles-v1.rst b/Code/Mantid/docs/source/algorithms/MergeCalFiles-v1.rst new file mode 100644 index 000000000000..cd9f8995b21c --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/MergeCalFiles-v1.rst @@ -0,0 +1,17 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Combines the data contained in two cal files, based on the selections +offsets, selections and groups can be merged. The matching rows are +determined by UDET. Any unmatched records are added at the end of the +file. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/MergeLogs-v1.rst b/Code/Mantid/docs/source/algorithms/MergeLogs-v1.rst new file mode 100644 index 000000000000..174ba1563bbc --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/MergeLogs-v1.rst @@ -0,0 +1,20 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Two `TimeSeriesProperty `__ logs are merged together +by the time stamps. + +Output +------ + +A MatrixWorkspace. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/MergeMD-v1.rst b/Code/Mantid/docs/source/algorithms/MergeMD-v1.rst new file mode 100644 index 000000000000..2e2deb70d9e0 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/MergeMD-v1.rst @@ -0,0 +1,27 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm merges several `MDWorkspaces `__ together +into one by adding their events together. + +The algorithm starts by going through the list of +`MDWorkspaces `__ to find the extents that fully encompass +all input workspaces in each dimension. The number and names of +dimensions must match for all input workspaces. + +The output workspace is created with these dimensions and the box +parameters specified above. Then the events from each input workspace +are appended to the output. + +See also: :ref:`algm-MergeMDFiles`, for merging when system +memory is too small to keep the entire workspace in memory. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/MergeMDFiles-v1.rst b/Code/Mantid/docs/source/algorithms/MergeMDFiles-v1.rst new file mode 100644 index 000000000000..7207f2dde4fd --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/MergeMDFiles-v1.rst @@ -0,0 +1,39 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm is meant to merge a large number of large +MDEventWorkspaces together into one file-backed MDEventWorkspace, +without exceeding available memory. + +First, you will need to generate a MDEventWorkspaces NXS file for each +run with a fixed box structure: + +- You can call :ref:`algm-CreateMDWorkspace` with + MinRecursionDepth = MaxRecursionDepth. + + - This will make the box structure identical. The number of boxes + will be equal to SplitInto ^ (NumDims \* MaxRecursionDepth). + - Aim for the boxes to be small enough for all events contained to + fit in memory; without there being so many boxes as to slow down + too much. + +- This can be done immediately after acquiring each run so that less + processing has to be done at once. + +Then, enter the path to all of the files created previously. The +algorithm avoids excessive memory use by only keeping the events from +ONE box from ALL the files in memory at once to further process and +refine it. This is why it requires a common box structure. + +See also: :ref:`algm-MergeMD`, for merging any MDWorkspaces in system +memory (faster, but needs more memory). + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/MergeRuns-v1.rst b/Code/Mantid/docs/source/algorithms/MergeRuns-v1.rst new file mode 100644 index 000000000000..c4f4f2ab7d7b --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/MergeRuns-v1.rst @@ -0,0 +1,66 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Combines the data contained in an arbitrary number of input workspaces. +If the input workspaces do not have common binning, the bins in the +output workspace will cover the entire range of all the input +workspaces, with the largest bin widths used in regions of overlap. + +Restrictions on the input workspace +################################### + +The input workspaces must contain histogram data with the same number of +spectra and matching units and instrument name in order for the +algorithm to succeed. + +**For `Workspace2Ds `__**: Each input workspace must have +common binning for all its spectra. + +**For `EventWorkspaces `__**: This algorithm is +Event-aware; it will append event lists from common spectra. Binning +parameters need not be compatible; the output workspace will use the +first workspaces' X bin boundaries. + +**For `WorkspaceGroups `__**: Each nested has to be one +of the above. + +Other than this it is currently left to the user to ensure that the +combination of the workspaces is a valid operation. + +Processing Group Workspaces +########################### + +Multi-period Group Workspaces +############################# + +Group workspaces will be merged respecting the periods within each +group. For example if you have two multiperiod group workspaces A and B +and an output workspace C. A contains matrix workspaces A\_1 and A\_2, +and B contains matrix workspaces B\_1 and B2. Since this is multiperiod +data, A\_1 and B\_1 share the same period, as do A\_2 and B\_2. So +merging must be with respect to workspaces of equivalent periods. +Therefore, merging is conducted such that A\_1 + B\_1 = C\_1 and A\_2 + +B\_2 = C\_2. + +Group Workspaces that are not multiperiod +######################################### + +If group workspaces are provided that are not multi-period, this +algorithm will merge across all nested workspaces, to give a singe +output matrix workspace. + +ChildAlgorithms used +#################### + +The :ref:`algm-Rebin` algorithm is used, if neccessary, to put all the +input workspaces onto a common binning. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/Min-v1.rst b/Code/Mantid/docs/source/algorithms/Min-v1.rst new file mode 100644 index 000000000000..c4554e52ebb2 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/Min-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + + + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/Minus-v1.rst b/Code/Mantid/docs/source/algorithms/Minus-v1.rst new file mode 100644 index 000000000000..45cd88165bac --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/Minus-v1.rst @@ -0,0 +1,20 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +.. raw:: mediawiki + + {{BinaryOperation|verb=subtracted|prep=from|symbol=-}} + +The Minus algorithm will subtract the data values and calculate the +corresponding `error values `__ for two compatible +workspaces. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/MinusMD-v1.rst b/Code/Mantid/docs/source/algorithms/MinusMD-v1.rst new file mode 100644 index 000000000000..df7ffb08a342 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/MinusMD-v1.rst @@ -0,0 +1,41 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Subtract two `MDHistoWorkspace `__'s or a +MDHistoWorkspace and a scalar. + +- **MDHistoWorkspace - MDHistoWorkspace** + + - The operation is performed element-by-element. + +- '''MDHistoWorkspace - Scalar ''' + + - The scalar is subtracted from every element of the + MDHistoWorkspace. The squares of errors are summed. + +- **Scalar - MDHistoWorkspace** + + - This is not allowed. + +- **`MDEventWorkspace `__ - + `MDEventWorkspace `__** + + - The signal of each event on the right-hand-side is multiplied by + -1 before the events are summed. + - The number of events in the output MDEventWorkspace is that of the + LHS and RHS workspaces put together. + +- **`MDEventWorkspace `__ - Scalar or + MDHistoWorkspace** + + - This is not possible. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ModeratorTzero-v1.rst b/Code/Mantid/docs/source/algorithms/ModeratorTzero-v1.rst new file mode 100644 index 000000000000..9872313175d4 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ModeratorTzero-v1.rst @@ -0,0 +1,75 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +| Corrects the time of flight (TOF) by a time offset that is dependent +on the energy of the neutron after passing through the moderator. A +heuristic formula for the correction is stored in the instrument +definition file. Below is shown the entry in the instrument file for the +VISION beamline: +| + +| `` `` +| ``  `` +| ```` + +| The recorded :math:`TOF = t_0 + t_i + t_f` with +| :math:`t_0`: emission time from the moderator +| :math:`t_1`: time from moderator to sample or monitor +| :math:`t_2`: time from sample to detector +| This algorithm will replace :math:`TOF` with +:math:`TOF^* = TOF-t_0 = t_i+t_f` + +| For a direct geometry instrument, the incident energy :math:`E_1` is +the same for all neutrons. Hence, the moderator emission time is the +same for all neutrons. For an indirect geometry instrument, :math:`E_1` +is different for each neutron and is not known. However, the final +energy :math:`E_2` selected by the analyzers is known. +| :math:`t_0 = func(E_1)` , a function of the incident energy +| :math:`t_1 = L_1/v_1` with :math:`L_1` the distance from moderator to +sample, and :math:`v_1` the initial unknown velocity ( +:math:`E_1=1/2*m*v_1^2`) +| :math:`t_2 = L_2/v_2` with :math:`L_2` the distance from sample to +detector, and :math:`v_2` is the final fixed velocity ( +:math:`E_2=1/2*m*v_2^2`) + +| **Note:** We obtain :math:`TOF^*` as an iterative process, taking into +account the fact that the correction :math:`t_0` is much smaller than +:math:`t_i+t_f`. Thus +| :math:`TOF-t_0^{(n)} = L_1/v_1^{(n)} + L_2/v_2` , n=0, 1, 2,.. +| Set :math:`t_0^{(0)}=0` and obtain :math:`v_1^{(0)}` from the previous +formula. From :math:`v_1^{(0)}` we obtain :math:`E_1^{(0)}` +| Set :math:`t_0^{(1)}=func( E_1^{(0)} )` and repeat the steps until +:math:`|t_0^{(n+1)} - t_0^{(n+1)}| < tolTOF`. With +tolTOF=0.1microsecond, only one iteration is needed for convergence. + +Here's the result of applying ModeratorTzero to both the event list and +the histogrammed data of a run in the VISION beamline. The +transformation of either events or histograms shifts the curve to +smaller TOF's. The transformed curves are not supposed to be identical, +but similar and differenciated from the original curve. + ++---------------------------------------------------------------------------------------+----------------+---------------------------------------------------------------------------------------+--------------+---------------------------------------------------------------------------------------+--------------+ +| Sumed Histogram | Elastic Line | Inelastic Peaks | ++=======================================================================================+================+=======================================================================================+==============+=======================================================================================+==============+ +| [[`File:ModeratorTzero\_Fig.1.jpeg\|200px `__ | center\|]] | [[`File:ModeratorTzero\_Fig.2.jpeg\|200px `__ | center\|]] | [[`File:ModeratorTzero\_Fig.3.jpeg\|200px `__ | center\|]] | ++---------------------------------------------------------------------------------------+----------------+---------------------------------------------------------------------------------------+--------------+---------------------------------------------------------------------------------------+--------------+ + +For indirect instruments featuring an incoming neutron flux having a +sufficiently narrow distribution of energies, a linear relationship +between t\_0 and the wavelength of the incoming neutron can be +established. This relation allows for coding of an algorithm with faster +execution times. For indirect instruments that comply with these +conditions, use of :ref:`algm-ModeratorTzeroLinear` is +preferred. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ModeratorTzeroLinear-v1.rst b/Code/Mantid/docs/source/algorithms/ModeratorTzeroLinear-v1.rst new file mode 100644 index 000000000000..fb9c8acc2164 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ModeratorTzeroLinear-v1.rst @@ -0,0 +1,64 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm Corrects the time of flight (TOF) of an indirect geometry +instrument by substracting a time offset :math:`t_0` linearly dependent +on the wavelenght of the neutron when emitted through the moderator. +This algorithm is suitable to data reduction of indirect instruments +featuring a neutron flux with a narrow distribution of wavelenghts. A +heuristic formula for the correction, stored in the instrument +definition file, is taken as linear on the initial neutron wavelength +:math:`\lambda_i`: :math:`t_0 = a * \lambda_i + b`, +[a]=microsec/Angstrom and [b]=microsec. Below is the example XML code +included in BASIS beamline parameters file. + +:: + + + + + + + + + +The recorded TOF: :math:`TOF = t_0 + t_i + t_f`, with + +- :math:`t_0`: emission time from the moderator +- :math:`t_i`: time from moderator to sample +- :math:`t_f`: time from sample to detector + +This algorithm will replace TOF with :math:`TOF' = TOF-t_0 = t_i + t_f` + +For an indirect geometry instrument, :math:`\lambda_i` is not known but +the final energy, :math:`E_f`, selected by the analyzers is known. For +this geometry: + +- :math:`t_f = L_f/v_f`, with :math:`L_f`: distance from sample to + detector, :math:`v_f`: final velocity derived from :math:`E_f` +- :math:`t_i = L_i/v_i`, with :math:`L_i`: distance from moderator to + sample, :math:`v_i`: initial velocity unknown +- :math:`t_0 = a'/v_i+b'`, with a' and b' constants derived from the + aforementioned heuristic formula + :math:`a' = a \cdot 3.956 \cdot 10^{-3}` with [a']=meter, + +and :math:`b' = b` with [b']=microsec + +Putting all together: +:math:`TOF' = \frac{L_i}{L_i+a'} \cdot (TOF-t_f-b') + t_f`, with +[TOF']=microsec + +If the detector is a monitor, then we can treat it as both sample and +detector. Thus, we use the previous formula inserting the time from +sample to detector :math:`t_f = 0` and with the initial fligh path +:math:`L_i` as the distance from source to monitor. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ModifyDetectorDotDatFile-v1.rst b/Code/Mantid/docs/source/algorithms/ModifyDetectorDotDatFile-v1.rst new file mode 100644 index 000000000000..4335f4a3a5a3 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ModifyDetectorDotDatFile-v1.rst @@ -0,0 +1,37 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Modifies an ISIS detector dot data file, so that the detector positions +are as in the given workspace. This algorithm can be used to transfer a +calibration done via the :ref:`algm-ApplyCalibration` +algorithm to an ISIS detector dot dat file by selecting a workspace that +has been modified by ApplyCalibration. + +A typical ISIS dot data file has a format like this: + +| ``DETECTOR.DAT generated by CREATE_DETECTOR_FILE`` +| `` 286729      14`` +| `` det no.  offset    l2     code     theta        phi         w_x         w_y         w_z         f_x       ...       `` +| ``     11   0.000  -3.25800     1   180.00000     0.00000     0.00000     0.00000     0.00000     0.00000    ... `` +| ``     21   0.000  -1.50400     1   180.00000     0.00000     0.00000     0.00000     0.00000     0.00000    ...`` +| ``   ....`` +| ``1110001   5.300   2.88936     3    52.28653  -140.67224     0.02540     0.02540     0.00283     0.02750   ... `` +| ``1110002   5.300   2.88794     3    52.26477  -140.72720     0.02540     0.02540     0.00283     0.02750   ...`` +| ``   ....`` + +Each row corresponds to a detector whose type is indicated in the +``code`` column. The algorithm will only modify values in colums ``l2``, +``theta`` and ``phi`` and only if the value in the ``code`` column is 3, +which indicates a PSD gas tube. For more details about the detector dot +data file see +`LoadDetectorInfo#File\_format `__. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/MonitorLiveData-v1.rst b/Code/Mantid/docs/source/algorithms/MonitorLiveData-v1.rst new file mode 100644 index 000000000000..befcd46f9fe6 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/MonitorLiveData-v1.rst @@ -0,0 +1,24 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The MonitorLiveData algorithm is started in the background by +:ref:`algm-StartLiveData` and repeatedly calls +:ref:`algm-LoadLiveData`. **It should not be necessary to call +MonitorLiveData directly.** + +This algorithm simply calls :ref:`algm-LoadLiveData` at the given +*UpdateFrequency*. For more details, see +:ref:`algm-StartLiveData`. + +For details on the way to specify the data processing steps, see: +`LoadLiveData `__. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/MonteCarloAbsorption-v1.rst b/Code/Mantid/docs/source/algorithms/MonteCarloAbsorption-v1.rst new file mode 100644 index 000000000000..f70785bfe414 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/MonteCarloAbsorption-v1.rst @@ -0,0 +1,44 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm performs a Monte Carlo simulation to calculate the +attenuation factor of a given sample for an arbitrary arrangement of +sample + container shapes. The algorithm proceeds as follows for each +spectra in turn: + +- A random point within the sample+container set up is selected and + chosen as a scattering point; +- This point then defines an incoming vector from the source position + and an outgoing vector to the final detector; +- The total attenuation factor for this path is then calculated as the + product of the factor for each defined material of the + sample/container that the track passes through. + +Known limitations +----------------- + +- Only elastic scattering is implemented at the moment. + +- The object's bounding box is used as a starting point for selecting a + random point. If the shape of the object is peculiar enough not to + occupy much of the bounding box then the generation of the initial + scatter point will fail. + +Restrictions on the input workspace +################################### + +The input workspace must have units of wavelength. The +`instrument `__ associated with the workspace must be fully +defined because detector, source & sample position are needed. + +At a minimum, the input workspace must have a sample shape defined. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/MoveInstrumentComponent-v1.rst b/Code/Mantid/docs/source/algorithms/MoveInstrumentComponent-v1.rst new file mode 100644 index 000000000000..b98a61f07ece --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/MoveInstrumentComponent-v1.rst @@ -0,0 +1,23 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This moves an instrument component, e.g. a bank or a pixel. + +You can specify a pathname as the name of a non-unique component (e.g. +"WISH/panel03/WISHpanel03/tube005") and one can skip parts not needed +for uniqueness (e.g. "panel03/tube005"). For a unique component, you can +just specify the name (e.g. "panel03"). + +You can either specify an absolute position or a relative position. The +relative position will be applied to the current position, so applying +this twice will move the detector twice. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/MultipleScatteringCylinderAbsorption-v1.rst b/Code/Mantid/docs/source/algorithms/MultipleScatteringCylinderAbsorption-v1.rst new file mode 100644 index 000000000000..dfe49e98345b --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/MultipleScatteringCylinderAbsorption-v1.rst @@ -0,0 +1,19 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm is a port to C++ of a multiple scattering absorption +correction, used to correct the vanadium spectrum for the GPPD +instrument at the IPNS. The correction calculation was originally worked +out by Jack Carpenter and Asfia Huq and implmented in Java by Alok +Chatterjee. The java code was translated to C++ in Mantid by Dennis +Mikkelson. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/Multiply-v1.rst b/Code/Mantid/docs/source/algorithms/Multiply-v1.rst new file mode 100644 index 000000000000..68e7310999dc --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/Multiply-v1.rst @@ -0,0 +1,16 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +.. raw:: mediawiki + + {{BinaryOperation|verb=multiplied|prep=by|symbol=\times}} + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/MultiplyMD-v1.rst b/Code/Mantid/docs/source/algorithms/MultiplyMD-v1.rst new file mode 100644 index 000000000000..87ca39b550c4 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/MultiplyMD-v1.rst @@ -0,0 +1,31 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Multiply two `MDHistoWorkspace `__'s or a +MDHistoWorkspace and a scalar. + +The error of :math:`f = a * b` is propagated with +:math:`df^2 = f^2 * (da^2 / a^2 + db^2 / b^2)` + +- **MDHistoWorkspace \* MDHistoWorkspace** + + - The operation is performed element-by-element. + +- **MDHistoWorkspace \* Scalar** or **Scalar \* MDHistoWorkspace** + + - Every element of the MDHistoWorkspace is multiplied by the scalar. + +- **`MDEventWorkspace `__'s** + + - This operation is not supported, as it is not clear what its + meaning would be. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/MultiplyRange-v1.rst b/Code/Mantid/docs/source/algorithms/MultiplyRange-v1.rst new file mode 100644 index 000000000000..c4554e52ebb2 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/MultiplyRange-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + + + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/MuonCalculateAsymmetry-v1.rst b/Code/Mantid/docs/source/algorithms/MuonCalculateAsymmetry-v1.rst new file mode 100644 index 000000000000..a0b012ed9934 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/MuonCalculateAsymmetry-v1.rst @@ -0,0 +1,27 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Converts loaded/prepared Muon data to a data suitable for analysis. + +Supports three modes: + +- PairAsymmetry - asymmetry is calculated for a given pair of groups, + using the alpha value provided. +- GroupAsymmetry - asymmetry between given group and Muon exponential + decay is calculated. +- GroupCount - **no asymmetry is calculated**, pure counts of the + specified group are used. + +For every mode, either one or two data acquisition period workspaces can +be provided. PeriodOperation determines in which way period data will be +merged at the end. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/MuonGroupDetectors-v1.rst b/Code/Mantid/docs/source/algorithms/MuonGroupDetectors-v1.rst new file mode 100644 index 000000000000..31d970669074 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/MuonGroupDetectors-v1.rst @@ -0,0 +1,25 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Applies detector grouping to a workspace. (Muon version). + +Expect the DetectorGroupingTable to contain one column only. It should +be of type vector\_int (std::vector). Every row corresponds to a group, +and the values in the only column are IDs (not indices!) of the +detectors which spectra should be contained in the group. Name of the +column is not used. + +One detector might be in more than one group. Empty groups are ignored. +std::invalid\_argument exceptions are thrown if table format is not +correct, there are no non-empty groups or one of the detector IDs does +not exist in the workspace. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/MuonLoad-v1.rst b/Code/Mantid/docs/source/algorithms/MuonLoad-v1.rst new file mode 100644 index 000000000000..3fa577e5b3d1 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/MuonLoad-v1.rst @@ -0,0 +1,34 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The algorithm replicates the sequence of actions undertaken by +MuonAnalysis in order to produce a Muon workspace ready for fitting. + +Specifically: + +#. Load the specified filename +#. Apply dead time correction +#. Group the workspace +#. Offset, crop and rebin the workspace +#. If the loaded data is multi-period - apply the specified operation to + specified periods to get a single data set. +#. Use :ref:`algm-MuonCalculateAsymmetry` to get the + resulting workspace. + +Workflow +######## + +.. figure:: /images/MuonWorkflow.png + :alt: MuonWorkflow.png + + MuonWorkflow.png + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/MuscatData-v1.rst b/Code/Mantid/docs/source/algorithms/MuscatData-v1.rst new file mode 100644 index 000000000000..b1743f788246 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/MuscatData-v1.rst @@ -0,0 +1,23 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Calculates Multiple Scattering based on the Monte Carlo program MINUS. +It takes a sample :math:`S(Q,w)` from an input sqw workspace and +supports both Flat and Cylindrical geometries. More information on the +multiple scattering can be procedure can be found in the `modes +manual `__. + +References +########## + +#. M W Johnson, AERE Report R7682 (1974) + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/MuscatFunc-v1.rst b/Code/Mantid/docs/source/algorithms/MuscatFunc-v1.rst new file mode 100644 index 000000000000..fd0c33089825 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/MuscatFunc-v1.rst @@ -0,0 +1,24 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Calculates Multiple Scattering based on the Monte Carlo program MINUS. +It calculates :math:`S(Q,w)` from specified functions (such as those +used in JumpFit) and supports both Flat and Cylindrical geometries. More +information on the multiple scattering can be procedure can be found in +the `modes +manual `__. + +References +########## + +#. M W Johnson, AERE Report R7682 (1974) + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/NexusTester-v1.rst b/Code/Mantid/docs/source/algorithms/NexusTester-v1.rst new file mode 100644 index 000000000000..42651f7428c5 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/NexusTester-v1.rst @@ -0,0 +1,26 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +**This algorithm is meant for developers only!** + +This algorithm is used for performance testing and debugging of nexus +saving and loading. + +If you specify SaveFilename (optional), then the algorithm will save a +file with the given number of chunks of the given size. + +If you specify LoadFilename (optional), then the algorithm will load +back a file created with this algorithm. + +The *SaveSpeed* and *LoadSpeed* output properties are set to the saving +and loading rates, in MB per second. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/NormaliseByCurrent-v1.rst b/Code/Mantid/docs/source/algorithms/NormaliseByCurrent-v1.rst new file mode 100644 index 000000000000..85f1e9e07aa5 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/NormaliseByCurrent-v1.rst @@ -0,0 +1,37 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Normalises a workspace according to the good proton charge figure taken +from the Input Workspace log data, which is stored in the workspace's +`Sample `__ object). Every data point (and its error) is divided +by that number. + +ISIS Calculation Details +------------------------ + +The good proton charge **gd\_ptrn\_chrg** is an summed value that +applies across all periods. It is therefore suitable to run +NormaliseByProtonCharge for single-period workspaces, but gives +incorrect normalisation for multi-period workspaces. If the algorithm +detects the presences of a multi-period workspace, it calculates the +normalisation slightly differently. It uses the **current\_period** log +property to index into the **proton\_charge\_by\_period** log data array +property. + +EventWorkspaces +############### + +If the input workspace is an `EventWorkspace `__, then +the output will be as well. Weighted events are used to scale by the +current (see the :ref:`algm-Divide` algorithm, which is a child +algorithm being used). + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/NormaliseByDetector-v1.rst b/Code/Mantid/docs/source/algorithms/NormaliseByDetector-v1.rst new file mode 100644 index 000000000000..06624e91ed79 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/NormaliseByDetector-v1.rst @@ -0,0 +1,158 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm is designed to normalise a workspace via detector +efficiency functions. **For this algorithm to work, the Instrument +Defintion File `IDF `__ must have fitting functions on the +component tree**. The setup information for this, as well as some +examples, are provided below. + +At a high-level, the algorithm does this: + +#. Extract a detector efficiency function :math:`e = f(\lambda)` +#. Using the bin boundaries on the input workspace, calculate efficiency + Y and E values and generate a new workspace from the results +#. Divide the input workspace by the efficiency workspace + +Prerequisites +------------- + +The Input Workspace +################### + +#. The input workspace must be a MatrixWorkspace +#. The input workspace must have X-units of Wavelength, run + :ref:`algm-ConvertUnits` on your input workspace if it is not + already in Wavelength. +#. The input workspace must be a histogram workspace run + :ref:`algm-ConvertToHistogram` on your input workspace + if it is not already histogrammed. + +The Instrument Definition File +############################## + +Background +########## + +In brief, the components in the IDF file form a tree structure. +Detectors and Instruments are both types of component. Detectors are +ultimately children of Instruments in the tree structure. For a more +complete description see `IDF `__. The tree structure of the +components, mean that fitting functions do not necessarily have to be +assigned on a detector-by-detector basis. Applying a fit function to the +instrument, will ensure that all subcomponents (including detectors), +pick-up that function. However, functions assigned to lower-level +components (such as detectors) take precidence over and exising +functions that might exist on parent components (such as the +instrument). You can even, have some parameters for a function provided +against the detector, and pick up defaults from the bank, or instrument +if they have been specified there. + +Recommended Working +################### + +The IDF is intended to be a definitive description of the components in +the instrument at any time. This should be the most generic form of the +instrument setup possible. To complement this, you may provide +additional Instrument Parameter files, which can be used to overload +settings in the IDF for purposes of configuration and calibration. **We +strongly recommend that fitting functions are provided via Instrument +Parameter Files rather than directly in the IDF**. This will give you +more flexibility to change your fitting functions without the problems +of synchronising the IDF across Mantid, and possible corruption +resulting from ad-hoc changes. + +Instrument Parameter Files that take the form +{InstrumentName}\_Parameters.xml and live in the Instrument directory of +Mantid are automatically loaded along with the IDF when a workspace is +loaded into Mantid. However, you can apply any number of additional +parameter files over the top of an existing workspace using +:ref:`algm-LoadParameterFile`. + +Examples +######## + +Applying a LinearFunction to the whole instrument, hard-coded with A1=2 +and A0=1. Fictional instrument is called basic\_rect. + +.. code-block:: xml + + + + + + + + + + + + + + +Applying the same LinearFunction to two different detectors, with +different coefficients is shown below: + +.. code-block:: xml + + + + + + + + + + + + + + + + + + + + + + + + +In the following the LinearFunction A0 coefficient is set globally for +all detectors at the instrument level, while the A1 coefficient is +provided for each detector. In this way the Algorithm sees a complete +definition for the Linear function (both A1 and A0) from two incomplete +definitions on different components in the tree. + +.. code-block:: xml + + + + + + + + + + + + + + + + + + + + + + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/NormaliseByPeakArea-v1.rst b/Code/Mantid/docs/source/algorithms/NormaliseByPeakArea-v1.rst new file mode 100644 index 000000000000..05ac37f6fd3f --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/NormaliseByPeakArea-v1.rst @@ -0,0 +1,29 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Takes an input TOF spectrum and converts it to Y-space using the +:ref:`algm-ConvertToYSpace` algorithm. The result is then +fitted using the ComptonPeakProfile function using the given mass to +produce an estimate of the peak area. The input data is normalised by +this value. + +The algorithm has 4 outputs: + +- the input data normalised by the fitted peak area; +- the input data (without normalisation) converted Y-space; +- the fitted peak in Y-space; +- the input data converted to Y and then symmetrised about Y=0. + +If the sum option is requested then all input spectra are rebinned, in +steps of 0.5 :math:`A^-1`, to a common Y grid and then summed to give a +single spectrum. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/NormaliseByThickness-v1.rst b/Code/Mantid/docs/source/algorithms/NormaliseByThickness-v1.rst new file mode 100644 index 000000000000..85d5b85681e5 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/NormaliseByThickness-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Normalise detector counts by the sample thickness + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/NormaliseToMonitor-v1.rst b/Code/Mantid/docs/source/algorithms/NormaliseToMonitor-v1.rst new file mode 100644 index 000000000000..35559ffa94dc --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/NormaliseToMonitor-v1.rst @@ -0,0 +1,65 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Bin-by-bin mode +############### + +In this, the default scenario, each spectrum in the workspace is +normalised on a bin-by-bin basis by the monitor spectrum given. The +error on the monitor spectrum is taken into account. The normalisation +scheme used is: + +:math:`(s_i)_{Norm}=(\frac{s_i}{m_i})*\Delta w_i*\frac{\sum_i{m_i}}{\sum_i(\Delta w_i)}` + +where :math:`s_i` is the signal in a bin, :math:`m_i` the count in the +corresponding monitor bin, :math:`\Delta w_i` the bin width, +:math:`\sum_i{m_i}` the integrated monitor count and +:math:`\sum_i{\Delta w_i}` the sum of the monitor bin widths. In words, +this means that after normalisation each bin is multiplied by the bin +width and the total monitor count integrated over the entire frame, and +then divided by the total frame width. This leads to a normalised +histogram which has unit of counts, as before. + +If the workspace does not have common binning, then the monitor spectrum +is rebinned internally to match each data spectrum prior to doing the +normalisation. + +Normalisation by integrated count mode +###################################### + +This mode is used if one or both of the relevant 'IntegrationRange' +optional parameters are set. If either is set to a value outside the +workspace range, then it will be reset to the frame minimum or maximum, +as appropriate. + +The error on the integrated monitor spectrum is taken into account in +the normalisation. No adjustment of the overall normalisation takes +place, meaning that the output values in the output workspace are +technically dimensionless. + +Restrictions on the input workspace +################################### + +The data must be histogram, non-distribution data. + +Child Algorithms used +##################### + +The :ref:`algm-ExtractSingleSpectrum` algorithm is used +to pull out the monitor spectrum if it's part of the InputWorkspace or +MonitorWorkspace. For the 'integrated range' option, the +:ref:`algm-Integration` algorithm is used to integrate the monitor +spectrum. + +In both cases, the :ref:`algm-Divide` algorithm is used to perform the +normalisation. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/NormaliseToUnity-v1.rst b/Code/Mantid/docs/source/algorithms/NormaliseToUnity-v1.rst new file mode 100644 index 000000000000..caefd5e9b8a0 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/NormaliseToUnity-v1.rst @@ -0,0 +1,20 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +NormaliseToUnity uses :ref:`algm-Integration` to sum up all the X +bins, then sums up the resulting spectra using +:ref:`algm-SumSpectra`. Each bin of the input workspace is then +divided by the total sum, regardless of whether a bin was included in +the sum or not. It is thus possible to normalize a workspace so that a +range of X bins and spectra sums to 1. In that case the sum of the whole +workspace will likely not be equal to 1. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/NormaliseVanadium-v1.rst b/Code/Mantid/docs/source/algorithms/NormaliseVanadium-v1.rst new file mode 100644 index 000000000000..53accad8c9ba --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/NormaliseVanadium-v1.rst @@ -0,0 +1,15 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Normalises all spectra of workspace to a specified wavelength. Following +A.J.Schultz's anvred, scales the vanadium spectra. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/NotMD-v1.rst b/Code/Mantid/docs/source/algorithms/NotMD-v1.rst new file mode 100644 index 000000000000..0fdb33fced7d --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/NotMD-v1.rst @@ -0,0 +1,17 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Perform the Not (negation) boolean operation on a +`MDHistoWorkspace `__. The not operation is performed +element-by-element. Any 0.0 signal is changed to 1.0 (meaning true). Any +non-zero signal is changed to 0.0 (meaning false). + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/OSIRISDiffractionReduction-v1.rst b/Code/Mantid/docs/source/algorithms/OSIRISDiffractionReduction-v1.rst new file mode 100644 index 000000000000..f78fde538714 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/OSIRISDiffractionReduction-v1.rst @@ -0,0 +1,21 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Source Code +----------- + +The source code for the Python Algorithm may be viewed at: +`OSIRISDiffractionReduction.py `__ + +The source code for the reducer class which is used may be viewed at: +`osiris\_diffraction\_reducer.py `__ + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/OneMinusExponentialCor-v1.rst b/Code/Mantid/docs/source/algorithms/OneMinusExponentialCor-v1.rst new file mode 100644 index 000000000000..90b9d52be27f --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/OneMinusExponentialCor-v1.rst @@ -0,0 +1,26 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm corrects the data and error values on a workspace by the +value of one minus an exponential function of the form +:math:`\rm C1(1 - e^{-{\rm C} x})`. This formula is calculated for each +data point, with the value of *x* being the mid-point of the bin in the +case of histogram data. The data and error values are either divided or +multiplied by the value of this function, according to the setting of +the Operation property. + +This algorithm is now event aware. + +This correction is applied to a copy of the input workpace and put into +output workspace. If the input and output workspaces have the same name, +the operation is applied to the workspace of that name. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/OneStepMDEW-v1.rst b/Code/Mantid/docs/source/algorithms/OneStepMDEW-v1.rst new file mode 100644 index 000000000000..eafaa01b0ce5 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/OneStepMDEW-v1.rst @@ -0,0 +1,25 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm is used in the Paraview event nexus loader to both load +an event nexus file and convert it into a +`MDEventWorkspace `__ for use in visualization. + +The :ref:`algm-LoadEventNexus` algorithm is called with default +parameters to load into an `EventWorkspace `__. + +After, the +`MakeDiffractionMDEventWorkspace `__ +algorithm is called with the new EventWorkspace as input. The parameters +are set to convert to Q in the lab frame, with Lorentz correction, and +default size/splitting behavior parameters. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/OptimizeCrystalPlacement-v1.rst b/Code/Mantid/docs/source/algorithms/OptimizeCrystalPlacement-v1.rst new file mode 100644 index 000000000000..ed60a816ee40 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/OptimizeCrystalPlacement-v1.rst @@ -0,0 +1,47 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm basically optimizes h,k, and l offsets from an integer by +varying the parameters sample positions, sample orientations ( chi,phi, +and omega), and/or the tilt of the goniometer for an experiment. + +-If the crystal orientation matrix, UB, was created from one run, that +run may not need to have its goniometer settings optimized. There is a +property to list the run numbers to NOT have their goniometer settings +changed. This entry is IGNORED if the tilt or sample positions are +included in the optimization. In this case NONE of the goniometer +angles, relative to any tilt, will be changed. + +-The goniometer angles displayed are relative to the tilt,i,e, phi is +the rotation around the axis perpendicular to the tilted plane. The +resultant PeaksWorkspace has the goniometer angles relative to the Y and +Z axes at that time. + +-The crystal orientation matrix, UB, from the PeaksWorkspace should +index all the runs "very well". Otherwise iterations that slowly build a +UB with corrected sample orientations may be needed. + +-The parameters for the tilt are GonRotx, GonRoty, and GonRotz in +degrees. The usage for this information is as follows: + +``    rotate('x',GonRotx)*rotate('y',GonRoty)*rotate('z',GonRotz)* SampleOrientation( i.e. omegaRot*chiRot*phiRot)).`` + +-Note: To optimize by the tilt in the goniometer and then by the angles +or by the sample position, it is possible to run with one optimization, +then using the resultant PeaksWorkspace for input, run another +optimization. + +Rerunning the same optimization with the result is also a good idea. If +the first guess is very close, the optimize algorithm does try cases far +away and may not get back to the best value. Check the chisquared +values. If they increase, that optimization should probably not be used. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/OptimizeLatticeForCellType-v1.rst b/Code/Mantid/docs/source/algorithms/OptimizeLatticeForCellType-v1.rst new file mode 100644 index 000000000000..a55ed9f92d48 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/OptimizeLatticeForCellType-v1.rst @@ -0,0 +1,23 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This does a least squares fit between indexed peaks and Q values for a +set of runs producing an overall leastSquare orientation matrix. + +Get estimates of the standard deviations of the parameters, by +approximating chisq by a quadratic polynomial through three points and +finding the change in the parameter that would cause a change of 1 in +chisq. (See Bevington, 2nd ed., pg 147, eqn: 8.13 ) In this version, we +calculate a sequence of approximations for each parameter, with delta +ranging over 10 orders of magnitude and keep the value in the sequence +with the smallest relative change. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/OrMD-v1.rst b/Code/Mantid/docs/source/algorithms/OrMD-v1.rst new file mode 100644 index 000000000000..fc9d2e3488cd --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/OrMD-v1.rst @@ -0,0 +1,16 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Perform the Or boolean operation on two MDHistoWorkspaces. The \|\| +operation is performed element-by-element. A signal of 0.0 means "false" +and any non-zero signal is "true". + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/PDDetermineCharacterizations-v1.rst b/Code/Mantid/docs/source/algorithms/PDDetermineCharacterizations-v1.rst new file mode 100644 index 000000000000..c4554e52ebb2 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/PDDetermineCharacterizations-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + + + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/PDFFourierTransform-v1.rst b/Code/Mantid/docs/source/algorithms/PDFFourierTransform-v1.rst new file mode 100644 index 000000000000..1c48a83e7d43 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/PDFFourierTransform-v1.rst @@ -0,0 +1,61 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The algorithm PDFFourierTransform transforms :math:`S(Q)`, +:math:`S(Q)-1`, or :math:`Q[S(Q)-1]` (as a fuction of MomentumTransfer +or dSpacing) to a PDF (pair distribution function) as described below. + +The input Workspace can have the unit in d-space of Q-space. The +algorithm itself is able to identify the unit. The allowed unit are +MomentumTransfer and d-spacing. + +**Note:** All other forms are calculated by transforming :math:`G(r)`. + +Output Options +############## + +G(r) +'''' + +:math:`G(r) = 4\pi r[\rho(r)-\rho_0] = \frac{2}{\pi} \int_{0}^{\infty} Q[S(Q)-1]\sin(Qr)dQ` + +and in this algorithm, it is implemented as + +:math:`G(r) = \frac{2}{\pi} \sum_{Q_{min}}^{Q_{max}} Q[S(Q)-1]\sin(Qr) M(Q,Q_{max}) \Delta Q` + +where :math:`M(Q,Q_{max})` is an optional filter function. If Filter +property is set (true) then + +:math:`M(Q,Q_{max}) = \frac{\sin(\pi Q/Q_{max})}{\pi Q/Q_{max}}` + +otherwise + +:math:`M(Q,Q_{max}) = 1\,` + +g(r) +'''' + +:math:`G(r) = 4 \pi \rho_0 r [g(r)-1]` + +transforms to + +:math:`g(r) = \frac{G(r)}{4 \pi \rho_0 r} + 1` + +RDF(r) +'''''' + +:math:`RDF(r) = 4 \pi \rho_0 r^2 g(r)` + +transforms to + +:math:`RDF(r) = r G(r) + 4 \pi \rho_0 r^2` + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/PDLoadCharacterizations-v1.rst b/Code/Mantid/docs/source/algorithms/PDLoadCharacterizations-v1.rst new file mode 100644 index 000000000000..3b8850d903c6 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/PDLoadCharacterizations-v1.rst @@ -0,0 +1,19 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm loads information into a +`TableWorkspace `__ for the characterization information +and a collection of output parameters for the focus positions to be used +in :ref:`algm-EditInstrumentGeometry`. If a section is +missing then those parameters will be empty. This includes an empty +table (zero rows) if that information is missing. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/Pause-v1.rst b/Code/Mantid/docs/source/algorithms/Pause-v1.rst new file mode 100644 index 000000000000..14cbc7cde9f0 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/Pause-v1.rst @@ -0,0 +1,18 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This is a very simple algorithm that does nothing for a given number of +seconds. + +This can be used during debugging, for example, to slow down the +execution of a fast script. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/PeakIntegration-v1.rst b/Code/Mantid/docs/source/algorithms/PeakIntegration-v1.rst new file mode 100644 index 000000000000..c3d7e1cdd3a1 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/PeakIntegration-v1.rst @@ -0,0 +1,16 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Integrate and calculate error of integration of each peak from single +crystal data and place results into peak workspace. Uses IkedaCarpenter +function to fit TOF. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/PeakIntensityVsRadius-v1.rst b/Code/Mantid/docs/source/algorithms/PeakIntensityVsRadius-v1.rst new file mode 100644 index 000000000000..eee0658b77b1 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/PeakIntensityVsRadius-v1.rst @@ -0,0 +1,73 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Integrates SCD peaks with a range of radii, in order to plot graphs of +the integrated intensity vs radius. This can be useful to determine the +correct integration radius for each peak. + +.. figure:: /images/PeakIntensityVsRadius_fig.png + :alt: {Integrated peak intensity vs integration radius for 3 SCD peaks} + + {Integrated peak intensity vs integration radius for 3 SCD peaks} +The algorithm requires a `MDWorkspace `__ of SCD data in +reciprocal space; generated by e.g. +:ref:`algm-ConvertToDiffractionMDWorkspace`. +Also, you will need a `PeaksWorkspace `__ as the list of +peaks to integrate. This can be generated using +:ref:`algm-FindPeaksMD`, for example. + +The output will be a `Workspace2D `__ with one spectrum per +peak, where: + +- X = peak radius +- Y/E = integrated intensity and error for the corresponding radius. +- Each peak is labeled with a string with "H K L". Use + :ref:`algm-IndexPeaks` to automatically find HKL values for + peaks. + +This algorithm calls :ref:`algm-IntegratePeaksMD` repeatedly, +with the following parameters filled in: + +- **PeakRadius** = the radius, ranging from RadiusStart to RadiusEnd in + NumSteps steps. +- **BackgroundInnerRadius** = radius \* BackgroundInnerFactor *OR* + BackgroundInnerRadius +- **BackgroundOuterRadius** = radius \* BackgroundOuterFactor *OR* + BackgroundOuterRadius + +Sample Usage +############ + +.. code-block:: python + + # Load a SCD data set and find the peaks + LoadEventNexus(Filename=r'TOPAZ_3131_event.nxs',OutputWorkspace='TOPAZ_3131_nxs') + ConvertToDiffractionMDWorkspace(InputWorkspace='TOPAZ_3131_nxs',OutputWorkspace='TOPAZ_3131_md',LorentzCorrection='1') + FindPeaksMD(InputWorkspace='TOPAZ_3131_md',PeakDistanceThreshold='0.15',MaxPeaks='100',OutputWorkspace='peaks') + FindUBUsingFFT(PeaksWorkspace='peaks',MinD='2',MaxD='16') + IndexPeaks(PeaksWorkspace='peaks') + + # Run the PeakIntensityVsRadius algorithm, where the background shell scales with the PeakRadius + PeakIntensityVsRadius(InputWorkspace='TOPAZ_3131_md',PeaksWorkspace='peaks', + RadiusStart=0.00, RadiusEnd=0.15, NumSteps=51, + BackgroundInnerFactor=1.5,BackgroundOuterFactor=2, + OutputWorkspace='peak_vs_rad') + + # Run the PeakIntensityVsRadius algorithm, with fixed background shell radius + PeakIntensityVsRadius(InputWorkspace='TOPAZ_3131_md',PeaksWorkspace='peaks', + RadiusStart=0.00, RadiusEnd=0.15, NumSteps=51, + BackgroundInnerRadius=0.15,BackgroundOuterRadius=0.2, + OutputWorkspace='peak_vs_rad_fixed') + + # Plot a few of the peaks + plotSpectrum('peak_vs_rad', [0,2,3], error_bars=True) + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/PeaksInRegion-v1.rst b/Code/Mantid/docs/source/algorithms/PeaksInRegion-v1.rst new file mode 100644 index 000000000000..546592bb1c19 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/PeaksInRegion-v1.rst @@ -0,0 +1,15 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Determines which peaks intersect a defined box region in either QLab, +QSample or HKL space. Similar to :ref:`algm-PeaksOnSurface`. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/PeaksOnSurface-v1.rst b/Code/Mantid/docs/source/algorithms/PeaksOnSurface-v1.rst new file mode 100644 index 000000000000..cf3c05d1fb4c --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/PeaksOnSurface-v1.rst @@ -0,0 +1,17 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Determine whether a peak intersects a surface. Similar to +:ref:`algm-PeaksInRegion`. The vertexes of the surface must be +provided. The vertexes must be provided in clockwise ordering starting +at the lower left. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/PearlMCAbsorption-v1.rst b/Code/Mantid/docs/source/algorithms/PearlMCAbsorption-v1.rst new file mode 100644 index 000000000000..c97dcd6695a8 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/PearlMCAbsorption-v1.rst @@ -0,0 +1,25 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Loads an existing file of pre-calculated or measured absorption +coefficients for the PEARL instrument. + +If the file contains "t=" on the first line then the number following +this is assumed to be the thickness in mm. The values in the second +column are assumed to be :math:`\alpha(t)`. Upon reading the file the +:math:`\alpha` values for transformed into attenuation coefficients via +:math:`\frac{I}{I_0} = exp(-\alpha * t)`. + +If the file does not contain "t=" on the top line then the values are +assumed to be calculated :math:`\frac{I}{I_0}` values and are simply +read in verbatim. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/PerformIndexOperations-v1.rst b/Code/Mantid/docs/source/algorithms/PerformIndexOperations-v1.rst new file mode 100644 index 000000000000..c4554e52ebb2 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/PerformIndexOperations-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + + + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/PlotAsymmetryByLogValue-v1.rst b/Code/Mantid/docs/source/algorithms/PlotAsymmetryByLogValue-v1.rst new file mode 100644 index 000000000000..b83c50c07f50 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/PlotAsymmetryByLogValue-v1.rst @@ -0,0 +1,40 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm calculates asymmetry for a series of muon workspaces. The +input workspaces must be in Muon Nexus files which names follow the +rule: the filename must begin with at least 1 letter and followed by a +number. The input property FirstRun must be set to the file name with +the smalest number and the LastRun to the one with the highest number. +If the "Green" property is not set the output workspace will contain a +single spectrum with asymmetry values. If the "Green" is set the output +workspace will contain four spectra with asymmetries: + ++-------------------+------------+------------------------------------+ +| Workspace Index | Spectrum | Asymmetry | ++===================+============+====================================+ +| 0 | 1 | Difference of Red and Green | ++-------------------+------------+------------------------------------+ +| 1 | 2 | Red only | ++-------------------+------------+------------------------------------+ +| 2 | 3 | Green only | ++-------------------+------------+------------------------------------+ +| 3 | 4 | Sum of red and green asymmetries | ++-------------------+------------+------------------------------------+ + +If ForwardSpectra and BackwardSpectra are set the muon workspaces will +be grouped according to the user input, otherwise the Autogroup option +of LoadMuonNexus will be used for grouping. + +There is a python script PlotAsymmetryByLogValue.py which if called in +MantidPlot runs the algorithm and plots the results. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/PlotPeakByLogValue-v1.rst b/Code/Mantid/docs/source/algorithms/PlotPeakByLogValue-v1.rst new file mode 100644 index 000000000000..8eb609d6617b --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/PlotPeakByLogValue-v1.rst @@ -0,0 +1,66 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm fits a series of spectra with the same function. Each +spectrum is fit independently and the result is a table of fitting +parameters unique for each spectrum. The sources for the spectra are +defined in the Input property. The Input property expects a list of +spectra identifiers separated by semicolons (;). An identifier is itself +a comma-separated list of values. The first value is the name of the +source. It can be either a workspace name or a name of a file (RAW or +Nexus). If it is a name of a `WorkspaceGroup `__ all its +members will be included in the fit. The second value selects a spectrum +within the workspace or file. It is an integer number with a prefix +defining the meaning of the number: "sp" for a spectrum number, "i" for +a workspace index, or "v" for a range of values on the numeric axis +associated with the workspace index. For example, sp12, i125, v0.5:2.3. +If the data source is a file only the spectrum number option is +accepted. The third value of the spectrum identifier is optional period +number. It is used if the input file contains multiperiod data. In case +of workspaces this third parameter is ignored. This are examples of +Input property + +| `` "test1,i2; MUSR00015189.nxs,sp3; MUSR00015190.nxs,sp3; MUSR00015191.nxs,sp3"`` +| `` "test2,v1.1:3.2"`` +| `` "test3,v" - fit all spectra in workspace test3`` + +Internally PlotPeakByLogValue uses :ref:`algm-Fit` algorithm to perform +fitting and the following properties have the same meaning as in +:ref:`algm-Fit`: Function, StartX, EndX, Minimizer, CostFunction. Property +FitType defines the way of setting initial values. If it is set to +"Sequential" every next fit starts with parameters returned by the +previous fit. If set to "Individual" each fit starts with the same +initial values defined in the Function property. + +LogValue property specifies a log value to be included into the output. +If this property is empty the values of axis 1 will be used instead. +Setting this property to "SourceName" makes the first column of the +output table contain the names of the data sources (files or +workspaces). + +Output workspace format +####################### + +The output workspace is a table in which rows correspond to the spectra +in the order they (spectra) appear in the Input property. The first +column of the table has the log values. It is followed by pairs of +columns with parameter values and fitting errors. If a parameter was +fixed or tied the error will be zero. Here is an example of the output +workspace: + +.. figure:: /images/PlotPeakByLogValue_Output.png + :alt: PlotPeakByLogValue_Output.png + + PlotPeakByLogValue\_Output.png +In this example a group of three Matrix workspaces were fitted with a +`Gaussian `__ on a linear background. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/Plus-v1.rst b/Code/Mantid/docs/source/algorithms/Plus-v1.rst new file mode 100644 index 000000000000..67c4915d52cd --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/Plus-v1.rst @@ -0,0 +1,32 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +.. raw:: mediawiki + + {{BinaryOperation|verb=added|prep=to|symbol=+}} + +EventWorkspace note +################### + +For `EventWorkspaces `__, the event lists at each +workspace index are concatenated to create the output event list at the +same workspace index. Note that in some (rare:sup:`\*`) cases, these +event lists might be from different detectors; this is not checked +against and the event lists will be concatenated anyway. This may or may +not be your desired behavior. If you wish to merge different +EventWorkspaces while matching their detectors together, use the +:ref:`algm-MergeRuns` algorithm. + +:sup:`\*` This could happen, for example, if the workspace operands have +not both been processed in an identical fashion and the detectors have +somehow been grouped differently. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/PlusMD-v1.rst b/Code/Mantid/docs/source/algorithms/PlusMD-v1.rst new file mode 100644 index 000000000000..1a507830dc28 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/PlusMD-v1.rst @@ -0,0 +1,54 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm sums two `MDHistoWorkspaces `__ or +merges two `MDEventWorkspaces `__ together. + +MDHistoWorkspaces +################# + +- **MDHistoWorkspace + MDHistoWorkspace** + + - The operation is performed element-by-element. + +- **MDHistoWorkspace + Scalar** or **Scalar + MDHistoWorkspace** + + - The scalar is subtracted from every element of the + MDHistoWorkspace. The squares of errors are summed. + +MDEventWorkspaces +################# + +This algorithm operates similary to calling Plus on two +`EventWorkspaces `__: it combines the events from the +two workspaces together to form one large workspace. + +Note for file-backed workspaces +############################### + +The algorithm uses :ref:`algm-CloneMDWorkspace` to create the +output workspace, except when adding in place (e.g. :math:`A = A + B` ). +See :ref:`algm-CloneMDWorkspace` for details, but note that a +file-backed `MDEventWorkspace `__ will have its file +copied. + +- If A is in memory and B is file-backed, the operation + :math:`C = A + B` will clone the B file-backed workspace and add A to + it. +- However, the operation :math:`A = A + B` will clone the A workspace + and add B into memory (which might be too big!) + +Also, be aware that events added to a MDEventWorkspace are currently +added **in memory** and are not cached to file until :ref:`algm-SaveMD` +or another algorithm requiring it is called. The workspace is marked as +'requiring file update'. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/PointByPointVCorrection-v1.rst b/Code/Mantid/docs/source/algorithms/PointByPointVCorrection-v1.rst new file mode 100644 index 000000000000..f806dfa7a2d8 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/PointByPointVCorrection-v1.rst @@ -0,0 +1,43 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Divides the data spectra by the matching vanadium spectra according to +the following formula: + +:math:`(y_i)_{Norm}=(\frac{y_i}{v_i})*\Delta w_i*\frac{\sum_i{y_i}}{\sum_i((\frac{y_i}{v_i})\Delta w_i)}` + +where :math:`y_i` is the signal in the sample workspace, :math:`v_i` the +count in the corresponding vanadium bin, :math:`\Delta w_i` the bin +width, :math:`\sum_i{y_i}` the integrated data count and +:math:`\sum_i((\frac{y_i}{v_i})\Delta w_i)` the sum of the sample counts +divided by the vanadium counts multiplied by the bin width. + +This leads to a normalised histogram which has unit of counts, as +before. + +In order to minimise sudden jumps in the data caused by 0 counts in the +corresponding vanadium spectrum it is worth considering smoothing the +Vanadium spectrum using :ref:`algm-SmoothData` prior to using it in +this algorithm. + +Valid input workspaces +###################### + +The input workspaces have to have the following in order to be valid +inputs for this algorithm. + +- The same number of spectra +- Matching spectra numbers + +This is normally not a problem unless the setup of the instrument has +been changed between recording the Vanadium and the sample datasets. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/PoissonErrors-v1.rst b/Code/Mantid/docs/source/algorithms/PoissonErrors-v1.rst new file mode 100644 index 000000000000..d7fb43fe6e15 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/PoissonErrors-v1.rst @@ -0,0 +1,17 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Takes a Data workspace and an original counts workspace input and +updates the error values in the data workspace to be the same +fractionally as the counts workspace. The number of histograms, the +binning and units of the two workspaces must match. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/PoldiAutoCorrelation-v5.rst b/Code/Mantid/docs/source/algorithms/PoldiAutoCorrelation-v5.rst new file mode 100644 index 000000000000..40e9e719123c --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/PoldiAutoCorrelation-v5.rst @@ -0,0 +1,28 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +PoldiAutoCorrelation belongs to the family of algorithms used to analyze +POLDI data. It performs the auto-correlation method described in the +POLDI concept paper. + +It's possible to apply it to a workspace containing raw data from a +single run or a workspace with merged data from several measurements. +The only requirement is that a correctly configured POLDI instrument is +present in the workspace and that its parameters (detector definition, +chopper parameters, etc.) are in accordance with data dimensions. + +How to use algorithm with other algorithms +------------------------------------------ + +This algorithm is designed to work with other algorithms to proceed +POLDI data. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/PoldiFitPeaks1D-v1.rst b/Code/Mantid/docs/source/algorithms/PoldiFitPeaks1D-v1.rst new file mode 100644 index 000000000000..fd6a2ddf1790 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/PoldiFitPeaks1D-v1.rst @@ -0,0 +1,25 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +PoldiFitPeaks1D takes a TableWorkspace with peaks (for example from +:ref:`algm-PoldiPeakSearch`) and a spectrum from +:ref:`algm-PoldiAutoCorrelation` and tries to fit a +Gaussian peak profile to the spectrum for each peak. Usually, the peaks +are accompanied by a quadratic background, so this is fitted as well. + +The implementation is very close to the original POLDI analysis software +(using the same profile function). One point where this routine differs +is error calculation. In the original program the parameter errors were +adjusted by averaging :math:`\chi^2`-values, but this does not work +properly if there is an outlier caused by a bad fit for one of the +peaks. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/PoldiLoadChopperSlits-v1.rst b/Code/Mantid/docs/source/algorithms/PoldiLoadChopperSlits-v1.rst new file mode 100644 index 000000000000..e6794421cb8e --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/PoldiLoadChopperSlits-v1.rst @@ -0,0 +1,19 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +How to use algorithm with other algorithms +------------------------------------------ + +This algorithm is designed to work with other algorithms to proceed +POLDI data. The introductions can be found in the wiki page of +:ref:`algm-PoldiProjectRun`. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/PoldiLoadIPP-v1.rst b/Code/Mantid/docs/source/algorithms/PoldiLoadIPP-v1.rst new file mode 100644 index 000000000000..e6794421cb8e --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/PoldiLoadIPP-v1.rst @@ -0,0 +1,19 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +How to use algorithm with other algorithms +------------------------------------------ + +This algorithm is designed to work with other algorithms to proceed +POLDI data. The introductions can be found in the wiki page of +:ref:`algm-PoldiProjectRun`. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/PoldiLoadLog-v1.rst b/Code/Mantid/docs/source/algorithms/PoldiLoadLog-v1.rst new file mode 100644 index 000000000000..e6794421cb8e --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/PoldiLoadLog-v1.rst @@ -0,0 +1,19 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +How to use algorithm with other algorithms +------------------------------------------ + +This algorithm is designed to work with other algorithms to proceed +POLDI data. The introductions can be found in the wiki page of +:ref:`algm-PoldiProjectRun`. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/PoldiLoadSpectra-v1.rst b/Code/Mantid/docs/source/algorithms/PoldiLoadSpectra-v1.rst new file mode 100644 index 000000000000..e6794421cb8e --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/PoldiLoadSpectra-v1.rst @@ -0,0 +1,19 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +How to use algorithm with other algorithms +------------------------------------------ + +This algorithm is designed to work with other algorithms to proceed +POLDI data. The introductions can be found in the wiki page of +:ref:`algm-PoldiProjectRun`. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/PoldiMerge-v1.rst b/Code/Mantid/docs/source/algorithms/PoldiMerge-v1.rst new file mode 100644 index 000000000000..95fadd7adea6 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/PoldiMerge-v1.rst @@ -0,0 +1,28 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +PoldiMerge takes a list of workspace names and adds the counts, +resulting in a new workspace. The difference to Plus is that it performs +some POLDI-specific tests that determine whether merging those files is +sensible or not. The following requirements have to be fulfilled: + +- The time-binning (x-data) of all workspaces must match (offset as + well as width of time bins) +- These quantities from the sample log: + + - Position of the sample table (x, y and z) + - Rotation speed of the chopper + +The algorithm does not perform partial summation - if any of the +workspaces does not fulfill the criteria, the intermediate result is +discarded. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/PoldiPeakDetection-v2.rst b/Code/Mantid/docs/source/algorithms/PoldiPeakDetection-v2.rst new file mode 100644 index 000000000000..e6794421cb8e --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/PoldiPeakDetection-v2.rst @@ -0,0 +1,19 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +How to use algorithm with other algorithms +------------------------------------------ + +This algorithm is designed to work with other algorithms to proceed +POLDI data. The introductions can be found in the wiki page of +:ref:`algm-PoldiProjectRun`. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/PoldiPeakSearch-v1.rst b/Code/Mantid/docs/source/algorithms/PoldiPeakSearch-v1.rst new file mode 100644 index 000000000000..929792eaecd2 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/PoldiPeakSearch-v1.rst @@ -0,0 +1,61 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +PoldiPeakSearch is a peak-finding routine for POLDI auto-correlation +data. The algorithm is implemented according to the original data +analysis software and their results match closely. + +The algorithm performs the following steps: + +#. Map each point of the spectrum :math:`y`, except the first and the + last to the sum of its value and its neighbor's values: + +| ``   ``\ :math:`y'_i = y_{i-1} + y_{i} + y_{i+1}` +| `` The new spectrum ``\ :math:`y'`\ `` contains ``\ :math:`n-2`\ `` points when ``\ :math:`y`\ `` contains ``\ :math:`n`\ ``.`` + +#. Identify peak positions in :math:`y'`, which is done with a recursive + algorithm, consisting of these steps: + + #. Find the position of the maximum, :math:`i_{max}` in the list, + store in peak-list. + #. Split the list in two parts, + :math:`[i_{0} + \Delta, i_{max} - \Delta)` and + :math:`(i_{max} + \Delta, i_{n} - \Delta]`, + +where :math:`\Delta` is the mininum number of data points between two +peaks. + +#. + + #. If ranges are valid, perform algorithm on each of the sublists, + append returned lists to peak-list. + #. Return peak-list. + +#. Sort list by value in descending order, keep the first + :math:`N_{max}` items of the list. +#. Map peak positions from :math:`y'` back to :math:`y` +#. Perform background and fluctuation estimation: + + #. Extract all points from :math:`y` (except the first and the last) + that are further than :math:`\Delta` elements away from any peak + position + #. Calculate median of these points as location estimate + (:math:`\bar{b}`) + #. Calculate Sn as scale estimator (:math:`\bar(s)`) + +#. Estimate peak intensity as :math:`y_{i}` +#. If a minimum peak height is set, discard all peaks that are smaller + than this, if not, discard all peaks that are lower than + :math:`3\cdot\bar{s} + \bar{b}` + +The peaks are stored in a new table workspace. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/PoldiProjectAddDir-v1.rst b/Code/Mantid/docs/source/algorithms/PoldiProjectAddDir-v1.rst new file mode 100644 index 000000000000..e6794421cb8e --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/PoldiProjectAddDir-v1.rst @@ -0,0 +1,19 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +How to use algorithm with other algorithms +------------------------------------------ + +This algorithm is designed to work with other algorithms to proceed +POLDI data. The introductions can be found in the wiki page of +:ref:`algm-PoldiProjectRun`. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/PoldiProjectAddFile-v1.rst b/Code/Mantid/docs/source/algorithms/PoldiProjectAddFile-v1.rst new file mode 100644 index 000000000000..e6794421cb8e --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/PoldiProjectAddFile-v1.rst @@ -0,0 +1,19 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +How to use algorithm with other algorithms +------------------------------------------ + +This algorithm is designed to work with other algorithms to proceed +POLDI data. The introductions can be found in the wiki page of +:ref:`algm-PoldiProjectRun`. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/PoldiProjectRun-v1.rst b/Code/Mantid/docs/source/algorithms/PoldiProjectRun-v1.rst new file mode 100644 index 000000000000..8b3650b86933 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/PoldiProjectRun-v1.rst @@ -0,0 +1,227 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +PoldiProjectRun algorithm is used to analyze a bunch of POLDI raw data +files, following a standard POLDI analysis process. This algorithm take +as parameter a tableMatrix with a list of the sample to analyze, and for +each sample a bunch of setup information for the different algorithms +(such as the data file path, etc...). + +This tableWorkspace can be built easily using the two algorithms +:ref:`algm-PoldiProjectAddFile` and +:ref:`algm-PoldiProjectAddDir`, which will create and/or +fill properly a targeted tableWorkspace. The needed columns and there +content are describe in the following `Data +Manager `__ paragraph. + +- WIKI\_USAGE\* + +The algorithm is used the classical way. Only one parameter is +compulsory. + +``OutputWorkspace = PoldiProjectRun(InputWorkspace=sample_manager_ws)`` + +- WIKI\_USAGE\* + +Data are processed alone, or grouped together. For each acquisition +file, setup information have to be loaded. During the data treatment +process, transitional workspace are created. + +In a close future, it will possible to share different workspace between +data-file: for example when one knows that some acquisitions should be +strictly the same, auto-correlation and peak detection could be done +only one for all the data. + +Data manager +############ + +A MatrixWorkspace is created to store all the information about +data-files and the future workspace needed during the analysis. The +stored information are: + +- spl Name - name of the sample, extract from the sample + ``file name, without the extension `` + +- year - year of the acquisition +- number - id number of the acquisition +- data file - full path of the data file +- spl log - name of the MatrixWorkspace where the data log are loaded +- spl corr - name of the MatrixWorkspace where the + ``correlated spectra is loaded`` + +- spl dead wires - name of the MatrixWorkspace where the + ``dead wires are loaded `` + +- spl peak - name of the MatrixWorkspace where the + ``detected peak information are stored `` + +POLDI setup manager +################### + +For each acquisition file, the IDF are loaded: + +- Instrument Definition files - The POLDI instrument geometry. +- Instrument Parameters files - The setup parameters + ``for the data, at t he time of the acquisition. `` + +The POLDI setup informations can be shared between acquisition obtained +during the same beam-time. While loading each instrument files, the +different POLDI configurations used are stored in a MatrixWorkspace +(most often, there is only one per year), with an example of data. The +needed POLDI setup informations will then be extracted from the IDF of +each of these example sample. + +Therefore each POLDI setup are loaded only once and shared between the +different data files. + +Analysis steps +############## + +Loading the data +################ + +Each data-file is loaded on a 2DWorkspace. The associated log and setup +information are loaded in dedicated workspace as specified in the +sample-manager TableWorkspace. + + :ref:`algm-LoadSINQFile` + +The raw data are loaded in a 2DWorkspace, using the generic file-loader +for SINQ data, given the instrument name *POLDI* as parameter. + +| ``LoadSINQFile(Instrument      = "POLDI", `` +| ``             Filename        = sample_file_path, `` +| ``             OutputWorkspace = sample_name)`` + + :ref:`algm-PoldiLoadLog` + +The associated *logs* informations are extracted from the *hdf* raw data +file, an store in a dedicated MatrixWorkspace. A dictionary file +contains the set of key/path to extract and store all the needed +information. More specifically, the acquisition starting time is +extracted and store in the sample WS to initialize the *run\_start* +variable. + +| ``PoldiLoadLog(InputWorkspace = sample_output_ws, `` +| ``             Filename       = sample_file_path, `` +| ``             Dictionary     = poldi_dictionnary_file_path, `` +| ``             PoldiLog       = sample_log_ws)`` + + :ref:`algm-LoadInstrument` + +For each raw data WS, the corresponding IDF is loaded, based on the +acquisition starting time. + +| ``LoadInstrument(Workspace         = sample_output_ws, `` +| ``               InstrumentName    = "Poldi", `` +| ``               RewriteSpectraMap = True)`` + + :ref:`algm-PoldiRemoveDeadWires` + +Some wires are permanently dead and should not be taken into account. +They are listed in the IDF of a given setup (IPP). Some others wires +should not be used, because they seem untrustable (dead wires, hot +wires, random behavior,...). These wires are detected by successive +comparison with there neighbors: intensity from two successive wires +should not differ more than *BadWiresThreshold*\ (\*100)%. One by one, +the most deviant wires are checks and removed until they all fit the +condition. + +| ``PoldiRemoveDeadWires(InputWorkspace      = sample_output_ws, `` +| ``                     RemoveExcludedWires = True, `` +| ``                     AutoRemoveBadWires  = True, `` +| ``                     BadWiresThreshold   = BadWiresThreshold, `` +| ``                     PoldiDeadWires      = sample_dead_wires_ws)`` + +Loading POLDI parameters +######################## + +While loading the data, the different needed setup have been store in a +dedicated workspace. + +they are now all extracted, using an example sample for each of them. + + :ref:`algm-PoldiLoadChopperSlits` + +The chopper configuration is loaded in a dedicated Workspace, one per +*Poldi IPP* setup detected. + +| ``PoldiLoadChopperSlits(InputWorkspace    = ex_of_sample_ws, `` +| ``                      PoldiChopperSlits = ipp_chopper_slits)`` + + :ref:`algm-PoldiLoadSpectra` + +The characteristic Poldi spectra (*Intensity=f(wavelength)*) is +extracted from each IDF. + +| ``PoldiLoadSpectra(InputWorkspace = ex_of_sample_ws, `` +| ``                 PoldiSpectra   = ipp_Poldi_spectra)`` + + :ref:`algm-PoldiLoadIPP` + +Local setup information (such as the detector position, chopper offset, +etc...) are extracted and stores in a dedicated workspace. + +| ``PoldiLoadIPP(InputWorkspace = ex_of_sample_ws, `` +| ``             PoldiIPP       = ipp_ipp_data)`` + +Pre-analyzing data +################## + +In order to setup the 2D fit to analyze the data, some information need +to be extracted from the file, such as an idea of the peaks position. +This is done using an autocorrelation function, following by a peak +detection algorithm. + +The process has been cut in different algorithm in order to give the +possibility to change/improve/modify each steps. For example, the peak +detection process can be based on some previous results to not start +from scratch, or given the sample crystal structure/symetries/space +group... + + :ref:`algm-PoldiAutoCorrelation` + +Almost all the previous loaded workspace are used by this algorithm. +From the sample manager workspace, and the Poldi setup workspace, all +the targeted workspace can be found and given as parameters to the +algorithm. The auto-correlated graph is store in a dedicated workspace, +on row (0). + +| ``PoldiAutoCorrelation(InputWorkspace    = sample_output_ws, `` +| ``                     PoldiSampleLogs   = sample_log_ws, `` +| ``                     PoldiDeadWires    = sample_dead_wires_ws, `` +| ``                     PoldiChopperSlits = ipp_chopper_slits, `` +| ``                     PoldiSpectra      = ipp_Poldi_spectra, `` +| ``                     PoldiIPP          = ipp_ipp_data, `` +| ``                     wlenmin           = wlen_min,`` +| ``                     wlenmax           = wlen_max, `` +| ``                     OutputWorkspace   = sample_correlated_ws)`` +| ``                 `` + + :ref:`algm-PoldiPeakDetection` + +The previous autocorrelation function is analyzed to detected possible +peaks. The found peak are stored in a dedicated workspace, and added to +the previously created *sample\_correlated\_ws*: on row (1) the detected +peak, on row (2) the fitted peak. + +| ``PoldiPeakDetection(InputWorkspace         = sample_correlated_ws,`` +| ``                   PeakDetectionThreshold = PeakDetectionThreshold,`` +| ``                   OutputWorkspace        = sample_peak_ws)`` + +How to use algorithm with other algorithms +------------------------------------------ + +This algorithm is designed to work with other algorithms to proceed +POLDI data. The introductions can be found in the wiki page of +:ref:`algm-PoldiProjectRun`. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/PoldiRemoveDeadWires-v1.rst b/Code/Mantid/docs/source/algorithms/PoldiRemoveDeadWires-v1.rst new file mode 100644 index 000000000000..e6794421cb8e --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/PoldiRemoveDeadWires-v1.rst @@ -0,0 +1,19 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +How to use algorithm with other algorithms +------------------------------------------ + +This algorithm is designed to work with other algorithms to proceed +POLDI data. The introductions can be found in the wiki page of +:ref:`algm-PoldiProjectRun`. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/PolynomialCorrection-v1.rst b/Code/Mantid/docs/source/algorithms/PolynomialCorrection-v1.rst new file mode 100644 index 000000000000..aac10373bfe8 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/PolynomialCorrection-v1.rst @@ -0,0 +1,23 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Corrects the data and error values on a workspace by the value of a +polynomial function: + +.. math:: {\rm C0} + {\rm C1} x + {\rm C2} x^2 + ... + +which is evaluated at the *x* value of each data point (using the +mid-point of the bin as the *x* value for histogram data. The data and +error values are multiplied or divided by the value of this function. +The order of the polynomial is determined by the length of the +Coefficients property, which can be of any length. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/Power-v1.rst b/Code/Mantid/docs/source/algorithms/Power-v1.rst new file mode 100644 index 000000000000..aae191874f7f --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/Power-v1.rst @@ -0,0 +1,24 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The algorithm will raise the InputWorkspace to the power of the +Exponent. When acting on an event workspace, the output will be a +Workspace2D, with the default binning from the original workspace. + +Errors +------ + +Defining the power algorithm as: :math:`y = \left ( a^b \right )`, we +can describe the error as: :math:`s_{y} = by\left ( s_{a}/a \right )`, +where :math:`s_{y}` is the error in the result *y* and :math:`s_{a}` is +the error in the input *a*. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/PowerLawCorrection-v1.rst b/Code/Mantid/docs/source/algorithms/PowerLawCorrection-v1.rst new file mode 100644 index 000000000000..e3feaf67b8eb --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/PowerLawCorrection-v1.rst @@ -0,0 +1,18 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm corrects the data and error values on a workspace by the +value of an function of the form :math:`C0 \times x^{C1}`. This formula +is calculated for each data point, with the value of *x* being the +mid-point of the bin in the case of histogram data. The data and error +values are multiplied by the value of this function. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/PowerMD-v1.rst b/Code/Mantid/docs/source/algorithms/PowerMD-v1.rst new file mode 100644 index 000000000000..d9ce647bd6b5 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/PowerMD-v1.rst @@ -0,0 +1,22 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This executes the power function on a MDHistoWorkspace. + +The signal :math:`a` becomes :math:`f = a^b` + +The error :math:`da` becomes :math:`df^2 = f^2 * b^2 * (da^2 / a^2)` + +This algorithm cannot be run on a +`MDEventWorkspace `__. Its equivalent on a +`MatrixWorkspace `__ is called :ref:`algm-Power`. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/PredictFractionalPeaks-v1.rst b/Code/Mantid/docs/source/algorithms/PredictFractionalPeaks-v1.rst new file mode 100644 index 000000000000..218668b39b0f --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/PredictFractionalPeaks-v1.rst @@ -0,0 +1,37 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This Algorithm creates a PeaksWorkspace with peaks occurring at specific +fractional offsets from h,k,or l values. + +There are options to create Peaks offset from peaks from the input +PeaksWorkspace, or to create peaks offset from h,k, and l values in a +range. Zero offsets are allowed if some or all integer h,k, or l values +are desired + +The input PeaksWorkspace must contain an orientation matrix and have +been INDEXED by THIS MATRIX when the new peaks are not created from a +range of h ,k, and l values + +Example usage +############# + +from mantidsimple import \* PeaksWrkSpace=mtd["PeaksQa"] + +#. Can be created via PredictPeaks( then do NOT use next line) + +FindUBUsingFFT(PeaksWrkSpace,3,15,.12) IndexPeaks(PeaksWrkSpace,.12,1) +PredictFractionalPeaks(PeaksWrkSpace,"FracPeaks","-.5,0,.5","-.5,.5","0") + +#. NOTE: There are editing options on PeaksWorkspaces, like combining 2 + PeaksWorkspaces. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/PredictPeaks-v1.rst b/Code/Mantid/docs/source/algorithms/PredictPeaks-v1.rst new file mode 100644 index 000000000000..2c9ea69422bb --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/PredictPeaks-v1.rst @@ -0,0 +1,49 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm will predict the position of single-crystal diffraction +peaks (both in detector position/TOF and Q-space) and create an output +`PeaksWorkspace `__ containing the result. + +This algorithm uses the InputWorkspace to determine the instrument in +use, as well as the UB Matrix and Unit Cell of the sample used. You can +use the :ref:`algm-CopySample` algorithm (with CopyLattice=1) to +copy a UB matrix from a PeaksWorkspace to another workspace. + +The algorithm operates by calculating the scattering direction (given +the UB matrix) for a particular HKL, and determining whether that hits a +detector. The Max/MinDSpacing parameters are used to determine what +HKL's to try. + +The parameters of WavelengthMin/WavelengthMax also limit the peaks +attempted to those that can be detected/produced by your instrument. + +Using HKLPeaksWorkspace +####################### + +If you specify the HKLPeaksWorkspace parameter, then the algorithm will +use the list of HKL in that workspace as the starting point of HKLs, +instead of doing all HKLs within range of Max/MinDSpacing and +WavelengthMin/WavelengthMax. + +A typical use case for this method is to use +:ref:`algm-FindPeaksMD` followed by :ref:`algm-IndexPeaks` to +find the HKL of each peak. The HKLs found will be floats, so specify +RoundHKL=True in PredictPeaks to predict the position at the exact +integer HKL. This may help locate the center of peaks. + +Another way to use this algorithm is to use +:ref:`algm-CreatePeaksWorkspace` to create a workspace +with the desired number of peaks. Use python or the GUI to enter the +desired HKLs. If these are fraction (e.g. magnetic peaks) then make sure +RoundHKL=False. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/PreprocessDetectorsToMD-v1.rst b/Code/Mantid/docs/source/algorithms/PreprocessDetectorsToMD-v1.rst new file mode 100644 index 000000000000..c4554e52ebb2 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/PreprocessDetectorsToMD-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + + + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ProcessBackground-v1.rst b/Code/Mantid/docs/source/algorithms/ProcessBackground-v1.rst new file mode 100644 index 000000000000..50e82ce4710e --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ProcessBackground-v1.rst @@ -0,0 +1,55 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The algorithm ProcessBackground() provides several functions for user to +process background to prepare Le Bail Fit. + +Simple Remove Peaks +################### + +This algorithm is designed for refining the background based on the +assumption that the all peaks have been fitted reasonably well. Then by +removing the peaks by function 'X0 +/- n\*FWHM', the rest data points +are background in a very high probability. + +An arbitrary background function can be fitted against this background +by standard optimizer. + +Automatic Background Points Selection +##################################### + +This feature is designed to select many background points with user's +simple input. User is required to select only a few background points in +the middle of two adjacent peaks. Algorithm will fit these few points +(*BackgroundPoints*) to a background function of specified type. + +Examples +-------- + +Selecting background +#################### + +Here is a good example to select background points from a powder +diffraction pattern by calling ProcessBackground() in a self-consistent +manner. + +| ``1. Select a set of background points (X values only), which can roughly describes the background, manually;`` +| ``2. Call ProcessBackground with Option='SelectBackgroundPoints' and SelectionMode='UserSpecifyBackground'.`` +| ``   A good choice for background function to enter is 6-th order polynomial;`` +| ``3. Plot spectra 2 to 4 in UserBackgroundWorkspace to check whether 'Tolerance' is proper or not.`` +| ``   If not then reset the tolerance and run ProcessBackground again with previous setup;`` +| ``4. Fit OutputWorkspace (the selected background) with a background function;`` +| ``5. Call ProcessBackground with Option='SelectBackgroundPoints' and SelectionMode='UserFunction'.`` +| ``   Set the background parameter workspace as the output parameter table workspace obtained in the last step;`` +| ``6. Repeat step 4 and 5 for a few times until the background plot by fitted background function`` +| ``   from selected background points is close enough to real background.`` + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ProcessDasNexusLog-v1.rst b/Code/Mantid/docs/source/algorithms/ProcessDasNexusLog-v1.rst new file mode 100644 index 000000000000..fc6f245fafb9 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ProcessDasNexusLog-v1.rst @@ -0,0 +1,19 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Some sample logs from DAS are written in the format such that the time +stamps are the pulse times and the values are time-of-flight. They are +usually used to record some mono-value sample log such as turning on or +off of a sample environment device. This algorithm will convert sample +logs of this time such that the new log will have the time stamp as the +absolute time, i.e., sum of pulse time and time-of-flight. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ProjectMD-v1.rst b/Code/Mantid/docs/source/algorithms/ProjectMD-v1.rst new file mode 100644 index 000000000000..736f3df53fee --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ProjectMD-v1.rst @@ -0,0 +1,35 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Description +----------- + +ProjectMD reduces the dimensionality of a MHDistoWorkspace by summing it +along a specified dimension. Example: you have a 3D MDHistoWorkspace +with X,Y,TOF. You sum along Z (TOF) and the result is a 2D workspace X,Y +which gives you a detector image. + +Besides the obvious input and output workspaces you have to specify the +dimension along which you wish to sum. The following code is used: + +X + Dimension 0 +Y + Dimension 1 +Z + Dimension 2 +K + Dimension 3 + +The summation range also has to be specified. This is in indices into +the appropriate axis. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/Q1D-v2.rst b/Code/Mantid/docs/source/algorithms/Q1D-v2.rst new file mode 100644 index 000000000000..ec1f06d85709 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/Q1D-v2.rst @@ -0,0 +1,208 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Q Unit Conversion +################# + +The equation for :math:`Q` as function of wavelength, :math:`\lambda`, +and neglecting gravity, is + +.. math:: Q = \frac{4\pi}{\lambda} sin(\theta) + +where :math:`2 \theta` is the particle's angle of deflection. If a +particle's measured deflection over the sample to the detector (pixel) +distance, :math:`L_2`, is :math:`x` along the x-axis and :math:`y` along +the y-axis then :math:`\theta` is + +.. math:: \theta = \frac{1}{2} arcsin\left (\frac{\sqrt{x^2+y^2}}{L_2} \right ) + +Including gravity adds another term to this equation which becomes: + +.. math:: \theta = \frac{1}{2} arcsin\left (\frac{ \sqrt{x^2+\left (y+\frac{gm^2}{2h^2} \lambda^2 L_2^2 \right)^2}}{L_2} \right ) + +where :math:`m` is the particle's mass, :math:`g` is the acceleration +due to gravity and :math:`h` is `plank's +constant `__ (this assumes +neutrons are all travelling in horizontal at sample, and that +:math:`x=y=0` would be beam centre at :math:`\lambda = 0`). + +Normalized Intensity +#################### + +This `algorithm `__ takes a workspace of number of neutron +counts against `wavelength `__ and creates a workspace of cross +section against Q. The output Q bins boundaries are defined by setting +the property OutputBinning. + +Below is the formula used to calculate the cross section, +:math:`P_I(Q)`, for one bin in the output workspace whose bin number is +denoted by I, when the input workspace has just one detector. Each bin +is calculated from the sum of all input wavelength bins, n, that +evaluate to the same Q using the formula for Q at the top of this page. +In equations this relationship between the input bins and the output +bins is represented by :math:`n \supset I` and an example of a set of +two bins is shown diagrammatically below. |Each Q bin contains the sum +of many, one, or no wavelength bins\|centre| + +In the equation the number of counts in the input spectrum number is +denoted by :math:`S(n)`, :math:`N(n)` is the wavelength dependent +correction and :math:`\Omega` is the `solid angle `__ of the +detector + +.. math:: P_I(Q) = \frac{ \sum_{n \supset I} S(n)}{\Omega\sum_{n \supset I}N(n)} + +The wavelength dependent correction is supplied to the algorithm through +the WavelengthAdj property and this workspace must have the same +wavelength binning as the input workspace and should be equal to the +following: + +.. math:: N(n) = M(n)\eta(n)T(n) + +where :math:`M`, :math:`\eta` and :math:`T` are the monitor counts, +detector efficiency and transmission fraction respectively. + +Normally there will be many spectra each from a different pixel with a +row number :math:`i` and column number :math:`j`. Because the value of +:math:`\theta` varies between pixels corresponding input bins (n) from +different input spectra can contribute to different output bins (I) i.e. +:math:`n \supset I` will be different for different pixels. For multiple +spectra the sum for each output bin will be over the set of input bins +in each pixel that have the correct Q, that is +:math:`\{i, j, n\} \supset \{I\}` while :math:`\Omega_{i j}` is detector +dependent: + +.. math:: P_I(Q) = \frac{\sum_{\{i, j, n\} \supset \{I\}} S(i,j,n)}{\sum_{\{i, j, n\} \supset \{I\}}M(n)\eta(n)T(n)\Omega_{i j}F_{i j}} + +where :math:`F` is the detector dependent (e.g. flood) scaling specified +by the PixelAdj property, and where a :math:`\lambda` bin :math:`n` +spans more than one :math:`Q` bin :math:`I`, it is split assuming a +uniform distribution of the counts in :math:`\lambda`. The normalization +takes any `bin masking `__ into account. + +Although the units on the y-axis of the output workspace space are +quoted in 1/cm note that conversion to a cross section requires scaling +by an `instrument `__ dependent absolute units constant. + +Resolution and Cutoffs +###################### + +There are two sources of uncertainty in the intensity: the statistical +(counting) error and the finite size of the bins, i.e. both time bins +and the spatial extent of the detectors (pixels). The first error is +reducible by increasing the length of the experiment or bin sizes while +the second reduces with smaller bin sizes. The first is represented by +the errors on the output workspace but the second is not included in the +error calculation although it increases uncertainties and degrades the +effective resolution of the data none the less. This algorithm allows +the resolution to be improved by removing the bins with the worst +resolution. + +Normally the bins that give the worst resolution are those near the beam +center and with short wavelengths. When the optional properties +:math:`RadiusCut` and :math:`WaveCut` are set bins from this region of +the input workspace are removed from the intensity calculation (both +from the numerator and denominator). For a pixel at distance R from the +beam center the wavelength cutoff, :math:`W_{low}`, is defined by the +input properties :math:`RadiusCut` and :math:`WaveCut` as: + +.. math:: W_{low} = \frac{WaveCut (RadiusCut-R)}{RadiusCut} + +The bin that contains the wavelength :math:`W_{low}` and all lower +indices are excluded from the summations for that detector pixel. + +From the equation it is possible to see that for pixels in +:math:`R > RadiusCut` all (positive) wavelengths are included. Also +substituting :math:`WaveCut = W_{low}` we have that :math:`R = 0` and +hence all detectors contribute at wavelengths above :math:`WaveCut`. + +*Practically, it is more likely to be necessary to implement +:math:`RadiusCut` and :math:`WaveCut` in situations where the scattering +near to the beamstop is weak and 'contaminated' by short wavelength +scatter. This might arise, for example, when running at long +sample-detector distances, or at short sample-detector distances with +large diameter beams, or where the sample generates Bragg peaks at +low-Q. The best recourse is to check the wavelength overlap. If it is +not too bad it may be possible to improve the data presentation simply +by altering :math:`Q{min}` and the binning scheme.* + +**References** + +`R.P. Hjelm Jr. *J. Appl. Cryst.* (1988), 21, +618-628 `__. + +`P.A. Seeger & R.P. Hjelm Jr. *J. Appl. Cryst.* (1991), 24, +467-478 `__. + +Variations on applying the normalization +######################################## + +It is possible to divide the input workspace by the WavelenghAdj and +PixelAdj workspaces prior to calling this algorithm. The results will be +same as if these workspaces were passed to Q1D instead when there are +high numbers of particle counts. However, in this scheme the +probabilities tend to converge on the true high count probabablities +more slowly with increasing number of counts and so the result is less +accuate. + +Depending on the input and output bins there could be a significant +difference in CPU time required by these two methods. + +References +########## + +Calculation of Q is from Seeger, P. A. and Hjelm, R. P. Jr, "Small-Angle +Neutron Scattering at Pulsed Spallation Sources" (1991) J. Appl **24** +467-478 + +Previous Versions +----------------- + +Version 1 +######### + +Before July 2011 the intensity was calculated with an equation like the +following: + +.. math:: P_I(Q) = \frac{ \sum_{\{i, j, n\} \supset \{I\}}G(i,j,n) }{ \sum_{\{i, j, n\} \supset \{I\}} \Omega_{i j} } + +where G is the input workspace normally related to the raw counts +workspace as: + +.. math:: G(i,j,n) = S(i,j,n)/(M(n)\eta(n)T(n)F_{i j}) + +That is the normalization was performed before the Q calculation which +gives the same probilities at high numbers of particles counts but +weighted noisy, low count data too highly, giving more noise in +:math:`P_I(Q)`. + +The error was calculation did not include the errors due the +normalization or any corrections. + +Properties +########## + ++---------+---------------------+-------------+-------------------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ +| Order | Name | Direction | Type | Default | Description | ++=========+=====================+=============+===================+=============+===========================================================================================================================================================+ +| 1 | InputWorkspace | Input | MatrixWorkspace | Mandatory | The (partly) corrected data in units of wavelength. | ++---------+---------------------+-------------+-------------------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ +| 2 | InputForErrors | Input | MatrixWorkspace | Mandatory | The workspace containing the counts to use for the error calculation. Must also be in units of wavelength and have matching bins to the InputWorkspace. | ++---------+---------------------+-------------+-------------------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ +| 3 | OutputWorkspace | Output | MatrixWorkspace | Mandatory | The workspace name under which to store the result histogram. | ++---------+---------------------+-------------+-------------------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ +| 4 | OutputBinning | Input | String | Mandatory | The bin parameters to use for the final result (in the format used by the :ref:`algm-Rebin` algorithm). | ++---------+---------------------+-------------+-------------------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ +| 5 | AccountForGravity | Input | Boolean | False | Whether to correct for the effects of gravity. | ++---------+---------------------+-------------+-------------------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ + +.. |Each Q bin contains the sum of many, one, or no wavelength bins\|centre| image:: /images/Wav_Q_bins.png + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/Q1DWeighted-v1.rst b/Code/Mantid/docs/source/algorithms/Q1DWeighted-v1.rst new file mode 100644 index 000000000000..2f830564ebe9 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/Q1DWeighted-v1.rst @@ -0,0 +1,27 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Performs azimuthal averaging for a 2D SANS data set by going through +each detector pixel, determining its Q-value, and adding its amplitude +:math:`I` to the appropriate Q bin. For greater precision, each detector +pixel can be sub-divided in sub-pixels by setting the *NPixelDivision* +parameters. Each pixel has a weight of 1 by default, but the weight of +each pixel can be set to :math:`1/\Delta I^2` by setting the +*ErrorWeighting* parameter to True. + +See the `Rebin `__ documentation for +details about choosing the *OutputBinning* parameter. + +See `SANS +Reduction `__ +documentation for calculation details. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/QLines-v1.rst b/Code/Mantid/docs/source/algorithms/QLines-v1.rst new file mode 100644 index 000000000000..c1227e68f415 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/QLines-v1.rst @@ -0,0 +1,41 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The model that is being fitted is that of a δ-function (elastic +component) of amplitude :math:`A(0)` and Lorentzians of amplitude +:math:`A(j)` and HWHM :math:`W(j)` where :math:`j=1,2,3`. The whole +function is then convolved with the resolution function. The -function +and Lorentzians are intrinsically normalised to unity so that the +amplitudes represent their integrated areas. + +For a Lorentzian, the Fourier transform does the conversion: +:math:`1/(x^{2}+\delta^{2}) \Leftrightarrow exp[-2\pi(\delta k)]`. If +:math:`x` is identified with energy :math:`E` and :math:`2\pi k` with +:math:`t/\hbar` where t is time then: +:math:`1/[E^{2}+(\hbar / \tau )^{2}] \Leftrightarrow exp[-t /\tau]` and +:math:`\sigma` is identified with :math:`\hbar / \tau`. The program +estimates the quasielastic components of each of the groups of spectra +and requires the resolution file and optionally the normalisation file +created by ResNorm. + +For a Stretched Exponential, the choice of several Lorentzians is +replaced with a single function with the shape : +:math:`\psi\beta(x) \Leftrightarrow exp[-2\pi(\sigma k)\beta]`. This, in +the energy to time FT transformation, is +:math:`\psi\beta(E) \Leftrightarrow exp[-(t/\tau)\beta]`. So \\sigma is +identified with :math:`(2\pi)\beta\hbar/\tau`. The model that is fitted +is that of an elastic component and the stretched exponential and the +program gives the best estimate for the :math:`\beta` parameter and the +width for each group of spectra. + +This routine was originally part of the MODES package. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/QueryAllRemoteJobs-v1.rst b/Code/Mantid/docs/source/algorithms/QueryAllRemoteJobs-v1.rst new file mode 100644 index 000000000000..36aac90dc056 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/QueryAllRemoteJobs-v1.rst @@ -0,0 +1,19 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Query a remote compute resource for all jobs the user has submitted. +Note that the output properties are all arrays. There will be one +element for each job that was found. + +For more details, see the `remote job submission API +docs `__. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/QueryMDWorkspace-v1.rst b/Code/Mantid/docs/source/algorithms/QueryMDWorkspace-v1.rst new file mode 100644 index 000000000000..7e35bd496f38 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/QueryMDWorkspace-v1.rst @@ -0,0 +1,24 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm outputs a table workspace containing summary data about +each box within an IMDWorkspace. The table workspace can be used as a +basis for plotting within MantidPlot. + +Format +------ + +- Column 1: Signal (double) +- Column 2: Error (double) +- Column 3: Number of Events (integer) +- Column 4: Coords of box center (string) + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/QueryRemoteFile-v1.rst b/Code/Mantid/docs/source/algorithms/QueryRemoteFile-v1.rst new file mode 100644 index 000000000000..dd59d0696e7d --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/QueryRemoteFile-v1.rst @@ -0,0 +1,18 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Retrieve a list of the files associated with the specified transaction +from a remote compute resource. + +For more details, see the `remote job submission API +docs `__. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/QueryRemoteJob-v1.rst b/Code/Mantid/docs/source/algorithms/QueryRemoteJob-v1.rst new file mode 100644 index 000000000000..1b6af39b801a --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/QueryRemoteJob-v1.rst @@ -0,0 +1,18 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Query a remote compute resource for a specific job the user has +submitted. + +For more details, see the `remote job submission API +docs `__. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/Quest-v1.rst b/Code/Mantid/docs/source/algorithms/Quest-v1.rst new file mode 100644 index 000000000000..c509268a3b48 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/Quest-v1.rst @@ -0,0 +1,19 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This is a variation of the stretched exponential option of +`Quasi `__. For each spectrum a fit is performed +for a grid of β and σ values. The distribution of goodness of fit values +is plotted. + +This routine was originally part of the MODES package. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/Qxy-v1.rst b/Code/Mantid/docs/source/algorithms/Qxy-v1.rst new file mode 100644 index 000000000000..345887424fd0 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/Qxy-v1.rst @@ -0,0 +1,18 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm rebins a 2D workspace in units of wavelength into 2D Q. +The reduction it performs is the same as that executed by the +:ref:`algm-Q1D` algorithm, expect performed in 2D instead of 1D. Hence, +for further documentation on how this algorithm works please see +:ref:`algm-Q1D`. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/REFLReprocess-v1.rst b/Code/Mantid/docs/source/algorithms/REFLReprocess-v1.rst new file mode 100644 index 000000000000..c493271a23fa --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/REFLReprocess-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Re-reduce REFL data for an entire experiment using saved parameters + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/RadiusSum-v1.rst b/Code/Mantid/docs/source/algorithms/RadiusSum-v1.rst new file mode 100644 index 000000000000..50cd71ab9f46 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/RadiusSum-v1.rst @@ -0,0 +1,53 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +RadiusSum sums the counts in rings against radius. + +Below, there is an example of the execution of the RadiusSum to a +Workspace2D where the position of the pixels are not associated to +detector positions, but it is derived from the Axes. + +.. figure:: /images/ExecuteRadiusSum.png + :alt: 800px + + 800px +The image below shows a visual interpretation for the inputs of the +algorithm + +.. figure:: /images/RadiusSumInputs.png + :alt: 300px + + 300px +The Algorithm create **NumBins** rings around the **Centre** point each +one with :math:`width = BinSize` for +:math:`BinSize=\frac{MaxRadius-MinRadius}{NumBins}`. + +The algorithm applies a rudimentary calculation to define the bin for +each that each pixel or detector in the `Workspace2D `__, +but taking its center point. If the center point belongs to one bin, it +is considered that the whole pixel belongs to the bin. The picture +below, shows what does this means. An ideal solution for RadiusSum is +the left image, while the right image is what is current implemented. + +.. figure:: /images/RadiusSumSolutions.png + :alt: 300px + + 300px +Although the images were applied to an image +`Workspace2D `__, the image below shows that it is possible +to apply this algorithm to Workspaces attached to instruments. + +.. figure:: /images/RadiusSumInstrument.png + :alt: 800 px + + 800 px + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/RawFileInfo-v1.rst b/Code/Mantid/docs/source/algorithms/RawFileInfo-v1.rst new file mode 100644 index 000000000000..0f6b172689ea --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/RawFileInfo-v1.rst @@ -0,0 +1,18 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Extracts run parameters from the `RAW `__ file given as an +input property. If the *GetRunParameters* argument is *True* then a +TableWorkspace is created that contains a column for each value of the +RPB\_STRUCT, i.e. column names such as r\_dur, r\_goodfrm etc. This is +Mantid's version of the **Get** routine in Open Genie. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/RayTracerTester-v1.rst b/Code/Mantid/docs/source/algorithms/RayTracerTester-v1.rst new file mode 100644 index 000000000000..8fbc106a6f83 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/RayTracerTester-v1.rst @@ -0,0 +1,15 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Algorithm to test ray tracer by spraying evenly spaced rays around. Only +for debugging / testing. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ReactorSANSResolution-v1.rst b/Code/Mantid/docs/source/algorithms/ReactorSANSResolution-v1.rst new file mode 100644 index 000000000000..39aa1e3bfaf5 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ReactorSANSResolution-v1.rst @@ -0,0 +1,18 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Compute the resolution in Q according to Mildner-Carpenter. + +See `SANS +Reduction `__ +documentation for details. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ReadGroupsFromFile-v1.rst b/Code/Mantid/docs/source/algorithms/ReadGroupsFromFile-v1.rst new file mode 100644 index 000000000000..61156ff91109 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ReadGroupsFromFile-v1.rst @@ -0,0 +1,22 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +|Instrument view of grouping using ReadFromFile with +ShowUnselected=True| All of the detectors in each group are given the a +value equal to that of the group number. Unselected detectors are given +a value of 0 if ShowUnselected is true. + +The instrumentView is the best way to visualize the grouping using the +"show Instrument" context menu option on the output workspace. + +.. |Instrument view of grouping using ReadFromFile with ShowUnselected=True| image:: /images/ReadFromFile-Grouping.png + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/RealFFT-v1.rst b/Code/Mantid/docs/source/algorithms/RealFFT-v1.rst new file mode 100644 index 000000000000..62a532dbd6e1 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/RealFFT-v1.rst @@ -0,0 +1,25 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This is an algorithm for Fourier transfom of real data. It uses the GSL +routines gsl\_fft\_real\_transform and gsl\_fft\_halfcomplex\_inverse. +The result of a forward transform is a two-spectra workspace with the +real and imaginary parts of the transform in position 0 and 1 +correspondingly. Only positive frequencies are given and as a result the +output spectra are twice as short as the input one. + +An input workspace for backward transform must have the form of the +output workspace of the forward algorithm, i.e. have two spectra with +the real part in the first spectrum and the imaginary part in the second +one. The output workspace contains a single spectrum with the real +inverse transform. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/Rebin-v1.rst b/Code/Mantid/docs/source/algorithms/Rebin-v1.rst new file mode 100644 index 000000000000..48369b7dafce --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/Rebin-v1.rst @@ -0,0 +1,215 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The algorithm rebins data with new bin boundaries. The 'params' property +defines new boundaries in intervals :math:`x_i-x_{i+1}\,`. Positive +:math:`\Delta x_i\,` make constant width bins, whilst negative ones +create logarithmic binning using the formula +:math:`x(j+1)=x(j)(1+|\Delta x_i|)\,` + +This algorithms is useful both in data reduction, but also in remapping +`ragged workspaces `__ to a regular set of bin +boundaries. + +Unless the FullBinsOnly option is enabled, the bin immediately before +the specified boundaries :math:`x_2`, :math:`x_3`, ... :math:`x_i` is +likely to have a different width from its neighbours because there can +be no gaps between bins. Rebin ensures that any of these space filling +bins cannot be less than 25% or more than 125% of the width that was +specified. + +Example Rebin param strings +########################### + +-0.0001 + From min(TOF) to max(TOF) among all events in Logarithmic bins of + 0.0001 +0,100,20000 + From 0 rebin in constant size bins of 100 up to 20,000 +2,-0.035,10 + From 10 rebin in Logarithmic bins of 0.035 up to 10 +0,100,10000,200,20000 + From 0 rebin in steps of 100 to 10,000 then steps of 200 to 20,000 + +For EventWorkspaces +################### + +If the input is an `EventWorkspace `__ and the "Preserve +Events" property is True, the rebinning is performed in place, and only +the X axes of the workspace are set. The actual Y histogram data will +only be requested as needed, for example, when plotting or displaying +the data. + +If "Preserve Events" is false., then the output workspace will be +created as a `Workspace2D `__, with fixed histogram bins, +and all Y data will be computed immediately. All event-specific data is +lost at that point. + +For Data-Point Workspaces +######################### + +If the input workspace contains data points, rather than histograms, +then Rebin will automatically use the +:ref:`algm-ConvertToHistogram` and +:ref:`algm-ConvertToPointData` algorithms before and after +the rebinning has taken place. + +FullBinsOnly option +################### + +If FullBinsOnly option is enabled, each range will only contain bins of +the size equal to the step specified. In other words, the will be no +space filling bins which are bigger or smaller than the other ones. + +This, however, means that specified bin boundaries might get amended in +the process of binning. For example, if rebin *Param* string is +specified as "0, 2, 4.5, 3, 11" and FullBinsOnly is enabled, the +following will happen: + +- From 0 rebin in bins of size 2 **up to 4**. 4.5 is ignored, because + otherwise we would need to create a filling bin of size 0.5. +- **From 4** rebin in bins of size 3 **up to 10**. + +Hence the actual *Param* string used is "0, 2, 4, 3, 10". + +Usage +----- + +**Example - simple rebin of a histogram workspace:** + +.. testcode:: ExHistSimple + + # create histogram workspace + dataX = [0,1,2,3,4,5,6,7,8,9] # or use dataX=range(0,10) + dataY = [1,1,1,1,1,1,1,1,1] # or use dataY=[1]*9 + ws = CreateWorkspace(dataX, dataY) + + # rebin from min to max with size bin = 2 + ws = Rebin(ws, 2) + + print "The rebinned X values are: " + str(ws.readX(0)) + print "The rebinned Y values are: " + str(ws.readY(0)) + +.. testcleanup:: ExHistSimple + + DeleteWorkspace(ws) + +Output: + +.. testoutput:: ExHistSimple + + The rebinned X values are: [ 0. 2. 4. 6. 8. 9.] + The rebinned Y values are: [ 2. 2. 2. 2. 1.] + +**Example - logarithmic rebinning:** + +.. testcode:: ExHistLog + + # create histogram workspace + dataX = [1,2,3,4,5,6,7,8,9,10] # or use dataX=range(1,11) + dataY = [1,2,3,4,5,6,7,8,9] # or use dataY=range(1,10) + ws = CreateWorkspace(dataX, dataY) + + # rebin from min to max with logarithmic bins of 0.5 + ws = Rebin(ws, -0.5) + + print "The 2nd and 3rd rebinned X values are: " + str(ws.readX(0)[1:3]) + +.. testcleanup:: ExHistLog + + DeleteWorkspace(ws) + +Output: + +.. testoutput:: ExHistLog + + The 2nd and 3rd rebinned X values are: [ 1.5 2.25] + +**Example - custom two regions rebinning:** + +.. testcode:: ExHistCustom + + # create histogram workspace + dataX = [0,1,2,3,4,5,6,7,8,9] # or use dataX=range(0,10) + dataY = [0,1,2,3,4,5,6,7,8] # or use dataY=range(0,9) + ws = CreateWorkspace(dataX, dataY) + + # rebin from 0 to 3 in steps of 2 and from 3 to 9 in steps of 3 + ws = Rebin(ws, "1,2,3,3,9") + + print "The rebinned X values are: " + str(ws.readX(0)) + +.. testcleanup:: ExHistCustom + + DeleteWorkspace(ws) + +Output: + +.. testoutput:: ExHistCustom + + The rebinned X values are: [ 1. 3. 6. 9.] + +**Example - use option FullBinsOnly:** + +.. testcode:: ExHistFullBinsOnly + + # create histogram workspace + dataX = [0,1,2,3,4,5,6,7,8,9] # or use dataX=range(0,10) + dataY = [1,1,1,1,1,1,1,1,1] # or use dataY=[1]*9 + ws = CreateWorkspace(dataX, dataY) + + # rebin from min to max with size bin = 2 + ws = Rebin(ws, 2, FullBinsOnly=True) + + print "The rebinned X values are: " + str(ws.readX(0)) + print "The rebinned Y values are: " + str(ws.readY(0)) + +.. testcleanup:: ExHistFullBinsOnly + + DeleteWorkspace(ws) + +Output: + +.. testoutput:: ExHistFullBinsOnly + + The rebinned X values are: [ 0. 2. 4. 6. 8.] + The rebinned Y values are: [ 2. 2. 2. 2.] + +**Example - use option PreserveEvents:** + +.. testcode:: ExEventRebin + + # create some event workspace + ws = CreateSampleWorkspace(WorkspaceType="Event") + + print "What type is the workspace before 1st rebin: " + str(type(ws)) + # rebin from min to max with size bin = 2 preserving event workspace (default behaviour) + ws = Rebin(ws, 2) + print "What type is the workspace after 1st rebin: " + str(type(ws)) + ws = Rebin(ws, 2, PreserveEvents=False) + print "What type is the workspace after 2nd rebin: " + str(type(ws)) + # note you can also check the type of a workspace using: print isinstance(ws, IEventWorkspace) + +.. testcleanup:: ExEventRebin + + DeleteWorkspace(ws) + +Output: + +.. testoutput:: ExEventRebin + + What type is the workspace before 1st rebin: + What type is the workspace after 1st rebin: + What type is the workspace after 2nd rebin: + + + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/Rebin2D-v1.rst b/Code/Mantid/docs/source/algorithms/Rebin2D-v1.rst new file mode 100644 index 000000000000..93e57098d3b9 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/Rebin2D-v1.rst @@ -0,0 +1,27 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The bin parameters are used to form an output grid. A positive +:math:`\Delta x_i\,` makes constant width bins, whilst negative ones +create logarithmic binning using the formula +:math:`x(j+1)=x(j)(1+|\Delta x_i|)\,`. The overlap of the polygons +formed from the old and new grids is tested to compute the required +signal weight for the each of the new bins on the workspace. The errors +are summed in quadrature. + +Requirements +------------ + +The algorithms currently requires the second axis on the workspace to be +a numerical axis so :ref:`algm-ConvertSpectrumAxis` may +need to run first. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/RebinByPulseTimes-v1.rst b/Code/Mantid/docs/source/algorithms/RebinByPulseTimes-v1.rst new file mode 100644 index 000000000000..94ca371866f8 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/RebinByPulseTimes-v1.rst @@ -0,0 +1,47 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Rebins an EventWorkspace according to the pulse times of each event +rather than the time of flight :ref:`algm-Rebin`. The Params inputs may +be expressed in an identical manner to the :ref:`algm-Rebin` algorithm. +Users may either provide a single value, which is interpreted as the +*step* (in seconds), or three comma separated values *start*, *step*, +*end*, where all units are in seconds, and start and end are relative to +the start of the run. + +The x-axis is expressed in relative time to the start of the run in +seconds. + +This algorithm may be used to diagnose problems with the electronics or +data collection. Typically, detectors should see a uniform distribution +of the events generated between the start and end of the run. This +algorithm allows anomalies to be detected. + +Example of Use +-------------- + +This diagnostic algorithm is particularly useful when coupled with the +Instrument View. In the example below is a real-world usage example +where we were able to highlight issues with data collection on the ISIS +WISH instrument. Some blocks of tubes, where tubes are arranged +vertically, are missing neutrons within large block of pulse time as a +result of data-buffering. After running RebinByPulseTime, we were able +to find both, which banks were affected, as well as the missing pulse +times for each bank. The horizontal slider in the instrument view allows +us to easily integrate over a section of pulse time and see the results +as a colour map. + +.. figure:: /images/RebinByPulseTime.png + :alt: RebinByPulseTime.png + + RebinByPulseTime.png + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/RebinToWorkspace-v1.rst b/Code/Mantid/docs/source/algorithms/RebinToWorkspace-v1.rst new file mode 100644 index 000000000000..88b0dd6a33e7 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/RebinToWorkspace-v1.rst @@ -0,0 +1,17 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Takes an input workspace and alters the binning so that all it's spectra +match that of the **first spectrum** of the second workspace. This +algorithm simply builds a parameter list that is passed to the +:ref:`algm-Rebin` algorithm, which actually does the work. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/Rebunch-v1.rst b/Code/Mantid/docs/source/algorithms/Rebunch-v1.rst new file mode 100644 index 000000000000..4d972c3b79e1 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/Rebunch-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The algorithm rebins data by adding together *n\_bunch* successive bins. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/RecordPythonScript-v1.rst b/Code/Mantid/docs/source/algorithms/RecordPythonScript-v1.rst new file mode 100644 index 000000000000..c4554e52ebb2 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/RecordPythonScript-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + + + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/RefLReduction-v1.rst b/Code/Mantid/docs/source/algorithms/RefLReduction-v1.rst new file mode 100644 index 000000000000..c9b6fb88e1da --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/RefLReduction-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Liquids Reflectometer (REFL) reduction + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/RefReduction-v1.rst b/Code/Mantid/docs/source/algorithms/RefReduction-v1.rst new file mode 100644 index 000000000000..f336fc3d7eb3 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/RefReduction-v1.rst @@ -0,0 +1,16 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Reflectivity reduction workflow. This workflow algorithm computes the +specular and off-specular reflectivity for both REFM and REFL +instruments. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/RefRoi-v1.rst b/Code/Mantid/docs/source/algorithms/RefRoi-v1.rst new file mode 100644 index 000000000000..c4554e52ebb2 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/RefRoi-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + + + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/RefinePowderDiffProfileSeq-v1.rst b/Code/Mantid/docs/source/algorithms/RefinePowderDiffProfileSeq-v1.rst new file mode 100644 index 000000000000..c9f8ef402565 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/RefinePowderDiffProfileSeq-v1.rst @@ -0,0 +1,76 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The purpose of this algorithm is to provide users a tool to control the +workflow to refine powder diffractometer's peak profile. For +Time-Of-Flight powder diffractometers in SNS, back-to-back exponential +convoluted with pseudo-voigt profile functions are used. The function is +complicated with strong correlated parameters. Thus, the refinement on +these parameters contains multiple steps, within each of which only a +subset of profile parameters are refined. + +In order to control the workflow, there are four major functions +supported by this algorithm + +| ``* ``\ *``Setup``*\ `` : set up a few workspaces that will be used to refine profile parameters in multiple steps;`` +| ``* ``\ *``Refine``*\ `` : select a subset of peak parameters and do Le Bail fit on them;`` +| ``* ``\ *``Save``*\ `` : save the current refinement status and refinement history to a project file;`` +| ``* ``\ *``Load``*\ `` : set up a few workspaces used for refining by loading them from a previously created project file. `` + +Input and output workspaces +########################### + +| ``* InputWorkspace : data workspace containing the diffraction pattern to refine profile parameters with;`` +| ``* SeqControlInfoWorkspace : table workspace used to track refinement; Below is the introduction on the fields/columns of this workspace. `` +| ``    *  "Step" : refinement step.  User can start a refinement from the result of any previous ``\ **``Step``**\ ``; `` +| ``    *  "OutProfile" : name of the table workspace containing refined profile parameters;`` +| ``    *  "OutReflection": name of the table workspace containing Bragg peaks' peak parameters calculated from refined parameters' value; `` +| ``    *  "OutBackgroud": name of the table workspace containing the output background parameters' value; `` +| ``    *  "OutBckgroundParam": name of the output background parameters;`` +| ``    *  "Refine": profile parameters that are refined in this step;`` +| ``    *  "RwpOut": output Rwp from refinement; `` +| ``    *  "LastStep": last step where this step is based on; `` +| ``    *  "RwpIn": input Rwp`` +| ``    *  "InProfile": input profile parameter workspace's name;`` +| ``    *  "InReflection": input Bragg peak parameters workspace' name;`` +| ``    *  "InBackgroud": input background workspace; `` +| ``    *  "InBckgroundParam": input background parameters. `` +| ``* InputProfileWorkspace : table workspace contraining starting values of profile parameters;`` +| ``* InputBraggPeaksWorkspace : table workspace containing the Bragg peaks' information for Le Bail fit;`` +| ``* InputBackgroundParameterWorkspace : table workspace containing the background parameters' value`` + +Supported peak profiles +####################### + +| ``* Neutron Back-to-back exponential convoluted with pseudo-voigt : Fullprof profile 9 and GSAS TOF profile 3;`` +| ``* Thermal neutron Back-to-back exponential convoluted with pseudo-voigt: Fullprof profile 10 (a.k.a. Jason Hodges function). `` + +Supported background types +########################## + +| ``* Polynomial`` +| ``* Chebyshev`` +| ``* FullprofPolynomial`` + +Hint for using +-------------- + +This is just a brief description for how to use this algorithm. + +| ``1. ``\ *``Setup``*\ ``;`` +| ``2. ``\ *``Refine``*\ ``: refine ``\ *``Dtt1``*\ `` and ``\ *``Zero``*\ `` from step 0;`` +| ``3. ``\ *``Refine``*\ ``: reifne ``\ *``Alph0``*\ `` and ``\ *``Beta0``*\ `` from step 1;`` +| ``4. ``\ *``Refine``*\ ``: refine ``\ *``Alph1``*\ `` from step 1 with failure;`` +| ``5. ``\ *``Refine``*\ ``: refine ``\ *``Beta1``*\ `` from step 1 because step 2 fails; `` +| ``6. ``\ *``Refine``*\ ``: refine ``\ *``Sig-1``*\ `` from last step;`` +| ``7. ``\ *``Save``*\ ``: save current work and history to a Nexus file.`` + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/RefinePowderInstrumentParameters-v3.rst b/Code/Mantid/docs/source/algorithms/RefinePowderInstrumentParameters-v3.rst new file mode 100644 index 000000000000..93a31a923e1a --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/RefinePowderInstrumentParameters-v3.rst @@ -0,0 +1,64 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm refines the instrumental geometry parameters for powder +diffractomers. The parameters that can be refined are Dtt1, Zero, Dtt1t, +Dtt2t, Zerot, Width and Tcross. + +It serves as the second step to fit/refine instrumental parameters that +will be introduced in Le Bail Fit. It uses the outcome from algorithm +FitPowderDiffPeaks(). + +Mathematics +----------- + +The function to fit is + +TOF\_h = n(Zero + Dtt1\*d) + (1-n)(Zerot + Dtt1t\*d + Dtt2t/d) n = 1/2 +erfc(W\*(1-Tcross/d)) + +The coefficients in this function are strongly correlated to each other. + +Refinement Algorithm +-------------------- + +Two refinement algorithms, DirectFit and MonteCarlo, are provided. + +DirectFit +######### + +This is a simple one step fitting. If there is one parameter to fit, +Levenberg Marquart minimizer is chosen. As its coefficients are strongly +correlated to each other, Simplex minimizer is used if there are more +than 1 parameter to fit. + +MonteCarlo +########## + +This adopts the concept of Monte Carlo random walk in the parameter +space. In each MC step, one parameter will be chosen, and a new value is +proposed for it. A constraint fitting by Simplex minimizer is used to +fit the coefficients in new configuration. + +Simulated annealing will be tried as soon as it is implemented in +Mantid. + +Constraint +########## + +How to use algorithm with other algorithms +------------------------------------------ + +This algorithm is designed to work with other algorithms to do Le Bail +fit. The introduction can be found in the wiki page of +:ref:`algm-LeBailFit`. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ReflectometryReductionOne-v1.rst b/Code/Mantid/docs/source/algorithms/ReflectometryReductionOne-v1.rst new file mode 100644 index 000000000000..0603477571ed --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ReflectometryReductionOne-v1.rst @@ -0,0 +1,49 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Reduces a single TOF reflectometry run into a mod Q vs I/I0 workspace. +Performs transmission corrections. Handles both point detector and +multidetector cases. The algorithm can correct detector locations based +on an input theta value. + +Historically the work performed by this algorithm was known as the Quick +script. + +Analysis Modes +############## + +The default analysis mode is *PointDetectorAnalysis*. Only this mode +supports Transmission corrections (see below). For PointAnalysisMode the +analysis can be roughly reduced to IvsLam = DetectorWS / sum(I0) / +TransmissionWS / sum(I0). The normalization by tranmission run(s) is +optional. Input workspaces are converted to *Wavelength* first via +:ref:`algm-ConvertUnits`. + +IvsQ is calculated via :ref:`algm-ConvertUnits` into units of +*MomentumTransfer*. Corrections may be applied prior to the +transformation to ensure that the detectors are in the correct location +according to the input Theta value. Corrections are only enabled when a +Theta input value has been provided. + +Transmission Runs +################# + +Transmission correction is a normalization step, which may be applied to +*PointDetectorAnalysis* reduction. + +Transmission runs are expected to be in TOF. The spectra numbers in the +Transmission run workspaces must be the same as those in the Input Run +workspace. If two Transmission runs are provided then the Stitching +parameters associated with the transmission runs will also be required. +If a single Transmission run is provided, then no stitching parameters +will be needed. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ReflectometryReductionOneAuto-v1.rst b/Code/Mantid/docs/source/algorithms/ReflectometryReductionOneAuto-v1.rst new file mode 100644 index 000000000000..31fffe58c41f --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ReflectometryReductionOneAuto-v1.rst @@ -0,0 +1,20 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Facade over :ref:`algm-ReflectometryReductionOne`. +Pulls numeric parameters out of the instrument parameters where +possible. You can override any of these automatically applied defaults +by providing your own value for the input. + +See :ref:`algm-ReflectometryReductionOne` for more +information on the wrapped algorithm. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/Regroup-v1.rst b/Code/Mantid/docs/source/algorithms/Regroup-v1.rst new file mode 100644 index 000000000000..6ba8035d9db6 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/Regroup-v1.rst @@ -0,0 +1,27 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Regroups data with new bin boundaries to ensure that bins have minimum +width determined by the parameter :math:`\Delta x_i\,`, but ensuring the +bin boundaries are always coincident with original bin boundaries. The +'params' property defines new boundaries in intervals +:math:`x_i-x_{i+1}\,`. Positive :math:`\Delta x_i\,` define constant +minimum bin width, whilst negative ones create logarithmic binning +:math:`x(j+1)=x(j)(1+|\Delta x_i|)\,` + +The difference between Rebin and Regroup is that in the former the data +in the original bins may be divided by the new bin boundaries. In the +latter case, new bins are created only by combining whole bins. This is +true also for the ends of the regrouped array: if the bin boundaries are +990,1010,1030,1050,...,1210, then "params" = "1000,25,1200" yields a +workspace with bin boundaries 1010,1050,1090,1130,1170. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/RemoveBins-v1.rst b/Code/Mantid/docs/source/algorithms/RemoveBins-v1.rst new file mode 100644 index 000000000000..c26cc372625b --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/RemoveBins-v1.rst @@ -0,0 +1,59 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm removes bins from a workspace. A minimum and maximum X +value to be removed needs to be provided. This can be in a different +unit to the workspace, in which case it is transformed internally. + +The treatment of the removed bins is slightly different, depending on +where in the spectrum the bins to be removed lie: + +Bins at either end of spectrum +############################## + +If the workspaces has common X binning for all spectra, then the +:ref:`algm-CropWorkspace` algorithm will be called as a child +algorithm. This will result in the affected bins (which includes the bin +in which the boundary - XMin or XMax - lies) being removed completely, +leading to the output workspace having fewer bins than the input one. In +the case where the X binning varies from spectrum to spectrum, the bin +values will be set to zero regardless of the setting of the +Interpolation property. + +Bins in the middle of a spectrum +################################ + +The Interpolation property is applicable to this situation. If it is set +to "Linear" then the bins are set to values calculated from the values +of the bins on either side of the range. If set to "None" then bins +entirely within the range given are set to zero whilst the bins in which +the boundary fall have their values scaled in proportion to the +percentage of the bin's width which falls outside XMin or XMax as +appropriate. + +Restrictions on the input workspace +################################### + +- The input workspace must have a unit set +- The input workspace must contain histogram data + +Related Algorithms +------------------ + +MaskBins +######## + +:ref:`algm-MaskBins` will set the data in the desired bins to 0 and +importantly also marks those bins as masked, so that further algorithms +should not include this data in their grouping calculations. This is +particularly used for Diffraction Focussing. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/RemoveExpDecay-v1.rst b/Code/Mantid/docs/source/algorithms/RemoveExpDecay-v1.rst new file mode 100644 index 000000000000..749c0255c773 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/RemoveExpDecay-v1.rst @@ -0,0 +1,22 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm removes the exponential time decay from a specified muon +spectra. By default, all the spectra in a workspace will be corrected. + +The formula for removing the exponential decay is given by: + +.. math:: NewData = (OldData\times{e^\frac{t}{\tau}})/N_0 - 1.0 + +where τ is the muon lifetime (2.197019e-6 seconds). :math:`N_0` is a +fitted normalisation constant. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/RemoveLogs-v1.rst b/Code/Mantid/docs/source/algorithms/RemoveLogs-v1.rst new file mode 100644 index 000000000000..55221d731234 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/RemoveLogs-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Removes all logs from workspace, except those that are specified + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/RemoveLowResTOF-v1.rst b/Code/Mantid/docs/source/algorithms/RemoveLowResTOF-v1.rst new file mode 100644 index 000000000000..c4554e52ebb2 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/RemoveLowResTOF-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + + + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/RemovePromptPulse-v1.rst b/Code/Mantid/docs/source/algorithms/RemovePromptPulse-v1.rst new file mode 100644 index 000000000000..c4554e52ebb2 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/RemovePromptPulse-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + + + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/RenameLog-v1.rst b/Code/Mantid/docs/source/algorithms/RenameLog-v1.rst new file mode 100644 index 000000000000..1acd5234c47e --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/RenameLog-v1.rst @@ -0,0 +1,15 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Rename a specified sample log of type TimeSeriesProperty in a given +Workspace. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/RenameWorkspace-v1.rst b/Code/Mantid/docs/source/algorithms/RenameWorkspace-v1.rst new file mode 100644 index 000000000000..318009e79acb --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/RenameWorkspace-v1.rst @@ -0,0 +1,23 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Renames a workspace to a different name in the data service. If the same +name is provided for input and output then the algorithm will fail with +an error. The Renaming is implemented as a removal of the original +workspace from the data service and re-addition under the new name. + +If run on a group workspace, the members of the group will be renamed if +their names follow the pattern groupName\_1, groupName\_2, etc. (they +will be renamed to newName\_1, newname\_2, etc.). Otherwise, only the +group itself will be renamed - the members will keep their previous +names. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/RenameWorkspaces-v1.rst b/Code/Mantid/docs/source/algorithms/RenameWorkspaces-v1.rst new file mode 100644 index 000000000000..c04dd708d579 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/RenameWorkspaces-v1.rst @@ -0,0 +1,28 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Renames a list of workspaces in the data service. This renaming is done +by either replacing with new names in a list or adding a prefix, suffix +or both prefix and suffix. The Renaming is implemented by calling +RenameWorkspace as a child algorithm having defined the output workspace +appropriately. + +If run on a group workspace, the members of the group will be renamed in +the same manner as done by RemameWorkspace. + +The new names can be either explicitly defined by a comma separated list +or by adding a prefix, suffix or both a prefix and suffix. + +**Warning:** No new name can be the same as any existing workspace, even +if that existing workspace is also being renamed. Duplicate names may +cause the loss of a workspace. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ReplaceSpecialValues-v1.rst b/Code/Mantid/docs/source/algorithms/ReplaceSpecialValues-v1.rst new file mode 100644 index 000000000000..f36a51fd4170 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ReplaceSpecialValues-v1.rst @@ -0,0 +1,23 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The algorithm searches over all of the values in a workspace and if it +finds a value set to NaN (not a number), infinity or larger than the +'big' threshold given then that value and the associated error is +replaced by the user provided values. + +If no value is provided for either NaNValue, InfinityValue or +BigValueThreshold then the algorithm will exit with an error, as in this +case it would not be checking anything. + +Algorithm is now event aware. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ResNorm-v1.rst b/Code/Mantid/docs/source/algorithms/ResNorm-v1.rst new file mode 100644 index 000000000000..098b16024105 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ResNorm-v1.rst @@ -0,0 +1,20 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The routine varies the width of the resolution file to give a 'stretch +factor' and the area provides an intensity normalisation factor. The +fitted parameters are in the group workspace with suffix \_ResNorm with +additional suffices of Intensity & Stretch. The fitted data are in the +workspace ending in \_ResNorm\_Fit. + +This routine was originally part of the MODES package. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ResampleX-v1.rst b/Code/Mantid/docs/source/algorithms/ResampleX-v1.rst new file mode 100644 index 000000000000..138543dce3db --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ResampleX-v1.rst @@ -0,0 +1,20 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This method will resample the x-axis with the number of specified bins. +If the XMin and XMax parameters are supplied it will use those as the +range, they can be supplied as a comma delimited list or as a single +value. + +The LogBinning option calculates constant delta-X/X binning and rebins +using that. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ResetNegatives-v1.rst b/Code/Mantid/docs/source/algorithms/ResetNegatives-v1.rst new file mode 100644 index 000000000000..6dd56bd93df2 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ResetNegatives-v1.rst @@ -0,0 +1,19 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm will search through the input workspace for values less +than zero and make them positive according to the properties. If +"AddMinimum" is "true" then all values will have -1\*min for the +spectrum added to them if the minimum is less than zero. Otherwise all +values that are less than zero will be set to "ResetValue" which has a +default of 0. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ResizeRectangularDetector-v1.rst b/Code/Mantid/docs/source/algorithms/ResizeRectangularDetector-v1.rst new file mode 100644 index 000000000000..8b734c1959fe --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ResizeRectangularDetector-v1.rst @@ -0,0 +1,37 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm will resize a +`RectangularDetector `__ by applying X and Y +scaling factors. Each pixel's position will be modifed relative to the +0,0 point of the detector by these factors. Typically, a +RectangularDetector is constructed around its center, so this would +scale the detector around its center. + +This only works on `RectangularDetectors `__. Banks +formed by e.g. tubes cannot be scaled in this way. + +Internally, this sets the "scalex" and "scaley" parameters on the +`RectangularDetector `__. Note that the scaling is +relative to the original size, and is not cumulative: that is, if you +Resize \* 2 and again \* 3, your final detector is 3 times larger than +the original, not 6 times. + +Note: As of this writing, the algorithm does NOT modify the shape of +individual pixels. This means that algorithms based on solid angle +calculations might be off. Ray-tracing (e.g. peak finding) are +unaffected. + +See also :ref:`algm-MoveInstrumentComponent` and +:ref:`algm-RotateInstrumentComponent` for other ways +to move components. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/RetrieveRunInfo-v1.rst b/Code/Mantid/docs/source/algorithms/RetrieveRunInfo-v1.rst new file mode 100644 index 000000000000..1e9a2a1e81b1 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/RetrieveRunInfo-v1.rst @@ -0,0 +1,33 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Strips the log property values of "inst\_abrv", "run\_number", +"user\_name", "run\_title" and "hd\_dur" from the specified run files, +and compiles a TableWorkspace of the result. + +Uses multiple calls to +:ref:`algm-CreateLogPropertyTable` create the final +result table. + +.. figure:: /images/ConvertToEnergyInfoTable.png + :alt: Output workspace generated by inspecting runs 12218-12229 and having the default instrument set to TOSCA. + + Output workspace generated by inspecting runs 12218-12229 and having + the default instrument set to TOSCA. +Limitations +----------- + +Currently, only ISIS instruments with runs that have the *full* list of +log properties are supported. +:ref:`algm-CreateLogPropertyTable` is available to +those users who wish to "brew their own" version of this algorithm. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/RingProfile-v1.rst b/Code/Mantid/docs/source/algorithms/RingProfile-v1.rst new file mode 100644 index 000000000000..c9c1a98f803c --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/RingProfile-v1.rst @@ -0,0 +1,65 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +RingProfile sums the counts against a ring. + +Below, there is an example of the execution of the RingProfile to a +`Workspace2D `__ where the position of the pixels are not +associated to detector positions, but it is derived from the +`Axes `__. + +.. figure:: /images/ExecuteRingProfile.png + :alt: 800px + + 800px +The image below shows a visual interpretation for the inputs of the +algorithm + +.. figure:: /images/RingProfileInputsView.png + :alt: RingProfileInputsView.png + + RingProfileInputsView.png +The algorithm goes through each pixel and find its distance from the +center. If it relies inside the defined ring, it checks the angle +between the pixel position and the center and uses this information to +define the bin where to put the count for that pixel. + +The RingProfile is also defined for Workspace2D which has the positions +based on the detectors, as you can see in the picture below. + +.. figure:: /images/RingProfileInstrument.png + :alt: 800px + + 800px +In this case, the inputs of the algorithm is like the image below + +.. figure:: /images/Ringprofileinstrument.png + :alt: Ringprofileinstrument.png + + Ringprofileinstrument.png +The algorithm does to each spectrum, get the associated detector from +which it get the positions. From the positions it work out if it belongs +or not to the ring and in which bin it must be placed. It finally +accumulate all the spectrum values inside the target bin. + +It is possible to setup the *StartAngle* from where to starting the Ring +as well as the Sense, if in clockwise direction or anti-clockwise +direction. But, the resulting workspace will always place the bins in a +relative angle position from the start. Which means that for +anti-clockwise sense, the real 3D angle is: + +RealAngle = StartAngle + Angle + +While for clockwise sense, the real 3D angle is: + +RealAngle = StartAngle - Angle + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/RotateInstrumentComponent-v1.rst b/Code/Mantid/docs/source/algorithms/RotateInstrumentComponent-v1.rst new file mode 100644 index 000000000000..04224c2265df --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/RotateInstrumentComponent-v1.rst @@ -0,0 +1,17 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +RotateInstrumentComponent rotates a component around an axis of rotation +by an angle given in degrees. Rotation by 0 degrees does not change the +component's orientation. The rotation axis (X,Y,Z) must be given in the +co-ordinate system attached to the component and rotates with it. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/RunPythonScript-v1.rst b/Code/Mantid/docs/source/algorithms/RunPythonScript-v1.rst new file mode 100644 index 000000000000..e36026e4bffe --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/RunPythonScript-v1.rst @@ -0,0 +1,18 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Algorithm that will run a snippet of python code. This is meant to be +used by :ref:`algm-LoadLiveData` to perform some processing. + +The input & output workspaces can be accessed from the Python code using +the variable names 'input' & 'output' respectively. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SANSAbsoluteScale-v1.rst b/Code/Mantid/docs/source/algorithms/SANSAbsoluteScale-v1.rst new file mode 100644 index 000000000000..74534a07bf9f --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SANSAbsoluteScale-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Calculate and apply absolute scale correction for SANS data + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SANSAzimuthalAverage1D-v1.rst b/Code/Mantid/docs/source/algorithms/SANSAzimuthalAverage1D-v1.rst new file mode 100644 index 000000000000..3d906dd20cd8 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SANSAzimuthalAverage1D-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Compute I(q) for reduced SANS data + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SANSBeamFinder-v1.rst b/Code/Mantid/docs/source/algorithms/SANSBeamFinder-v1.rst new file mode 100644 index 000000000000..c4486b48581e --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SANSBeamFinder-v1.rst @@ -0,0 +1,18 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Beam finder workflow algorithm for SANS instruments. + +See `SANS +Reduction `__ +documentation for details. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SANSBeamFluxCorrection-v1.rst b/Code/Mantid/docs/source/algorithms/SANSBeamFluxCorrection-v1.rst new file mode 100644 index 000000000000..bca2c39436d7 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SANSBeamFluxCorrection-v1.rst @@ -0,0 +1,22 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Performs beam flux correction for TOF SANS data. + +The correction goes as follows: + + :math:`I({\lambda}) = I_0({\lambda}) / \Phi_{sample}` + +where + + :math:`\Phi_{sample} = \frac{M_{sample}}{M_{ref}} \Phi_{ref}` + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SANSBeamSpreaderTransmission-v1.rst b/Code/Mantid/docs/source/algorithms/SANSBeamSpreaderTransmission-v1.rst new file mode 100644 index 000000000000..41aa9d5ca429 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SANSBeamSpreaderTransmission-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Compute transmission using the beam spreader method + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SANSDirectBeamScaling-v1.rst b/Code/Mantid/docs/source/algorithms/SANSDirectBeamScaling-v1.rst new file mode 100644 index 000000000000..c4554e52ebb2 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SANSDirectBeamScaling-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + + + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SANSDirectBeamTransmission-v1.rst b/Code/Mantid/docs/source/algorithms/SANSDirectBeamTransmission-v1.rst new file mode 100644 index 000000000000..4dbe7df9f395 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SANSDirectBeamTransmission-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Compute transmission using the direct beam method + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SANSMask-v1.rst b/Code/Mantid/docs/source/algorithms/SANSMask-v1.rst new file mode 100644 index 000000000000..a0106f94e63e --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SANSMask-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Apply mask to SANS detector + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SANSReduction-v1.rst b/Code/Mantid/docs/source/algorithms/SANSReduction-v1.rst new file mode 100644 index 000000000000..30a06b3a059e --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SANSReduction-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Basic SANS reduction workflow + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SANSSensitivityCorrection-v1.rst b/Code/Mantid/docs/source/algorithms/SANSSensitivityCorrection-v1.rst new file mode 100644 index 000000000000..e9cbe09d4a6b --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SANSSensitivityCorrection-v1.rst @@ -0,0 +1,25 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This SANS workflow algorithm will compute the sensitivity correction +from a given flood field data set. It will apply the proper corrections +to the data according the the input property manager object. Those +corrections may include dark current subtraction, moving the beam +center, the solid angle correction, and applying a patch. + +If an input workspace is given, the computed correction will be applied +to that workspace. + +A Nexus file containing a pre-calculated sensitivity correction can also +be supplied for the case where we simply want to apply the correction to +an input workspace. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SANSSolidAngleCorrection-v1.rst b/Code/Mantid/docs/source/algorithms/SANSSolidAngleCorrection-v1.rst new file mode 100644 index 000000000000..5cdc28538af7 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SANSSolidAngleCorrection-v1.rst @@ -0,0 +1,18 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Performs a solid angle correction on all detector (non-monitor) spectra. + +See `SANS +Reduction `__ +documentation for details. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SANSSubtract-v1.rst b/Code/Mantid/docs/source/algorithms/SANSSubtract-v1.rst new file mode 100644 index 000000000000..2a5cd8e13d34 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SANSSubtract-v1.rst @@ -0,0 +1,30 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Subtract background from an I(Q) distribution. + +The DataDistribution and Background properties can either be the name of +a workspace or a file path. If a file path is provided, it will be +loaded and assumed to be in units of Q. + +The output workspace will be equal to: + +| `` Output = DataDistribution - ScaleFactor * Background + Constant`` +| `` `` + +The Dq values are propagated from the DataDistribution workspace to the +output workspace as-is. + +If the OutputDirectory property is filled, the output workspace will be +written to disk. Two files will be produced, a 4 column ASCII file and a +CanSAS XML file. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SANSWideAngleCorrection-v1.rst b/Code/Mantid/docs/source/algorithms/SANSWideAngleCorrection-v1.rst new file mode 100644 index 000000000000..b39a1e68b27e --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SANSWideAngleCorrection-v1.rst @@ -0,0 +1,137 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Algorithm Reference Discussion +------------------------------ + +Looking at `Computing guide for Small Angle Scattering +Experiments `__ by +Ghosh, Egelhaaf & Rennie, we see that for scattering at larger angles +the transmission should be modified due to the longer path length after +the scattering event. + +The longer path length after scattering will also slightly increase the +probability of a second scattering event, but this is not dealt with +here. + +If our on-axis transmission is :math:`T_0` through a sample of thickness +:math:`d`, then the transmission at some other thickness :math:`x` is +:math:`\exp(-\mu x)` where attenuation coefficient +:math:`\mu = -\ln( \frac{T_0}{d})`. + +If a neutron scatters at angle :math:`2\theta` at distance :math:`x` +into the sample, its total transmission is then: + +:math:`T^{''} = \exp(-\mu x) \exp( \frac{-\mu(d-x)}{\cos(2\theta)})` + +:math:`T^{''}` should be integrated and averaged between :math:`x = 0` +and :math:`x = d`. + +Hammouda, gives an approximate result for the integral, see page 208 of +`http://www.ncnr.nist.gov/staff/hammouda/the\_SANS\_toolbox.pdf SANS +toolbox `__: + +:math:`T^{'} = \frac{T_0(T_0^A - 1)}{A \ln(T_0)}` + +For: + +:math:`A = \frac{1}{\cos(2\theta)} - 1` + +For example if :math:`T_0 = 0.2` and :math:`2\theta = 40` then +:math:`T^{'} = 0.158`, a shift of :math:`~20`\ % of the SANS curve. Note +that the result is independent of sample thickness. + +:math:`T_0` is a function of neutron wavelength, whilst :math:`A` is a +function of detector pixel location. + +The output of this algorithm is: + +:math:`OutputWorkspace = \frac{T^'}{T_0}` + +Error Propagation +################# + +The error propagation follows this formula: + +`` ``\ :math:`OutputWorkspace_{error} = \frac{T_{0E} ^A - 1}{A\ln(T_0E)}` + +Which means, that we do not consider the error in the definition of the +:math:`2\theta` (the parameter A) + +Enabling Wide Angle Correction for Reduction of SANS ISIS +--------------------------------------------------------- + +To enable the Wide Angle correction use the User File settings: + +``SAMPLE/PATH/ON`` + +More information on: +`SANS\_User\_File\_Commands#SAMPLE `__ + +SANS ISIS Reduction +------------------- + +The output of SANSWideAngleCorrection is used as WavePixelAdj parameter +at :ref:`algm-Q1D`. + +Wide Angle Correction and the SANS Reduction +-------------------------------------------- + +The equation for the reduction is (see :ref:`algm-Q1D`) + +:math:`P_I(Q) = \frac{\sum_{\{i, j, n\} \supset \{I\}} S(i,j,n)}{\sum_{\{i, j, n\} \supset \{I\}}M(n)\eta(n)T(n)\Omega_{i j}F_{i j}}` + +But, :math:`T(n)` is not really :math:`T(n)`, because of the wide +angles, it is now :math:`T(n,theta)` or :math:`T(n,i,j)`. + +So, we decided to have a new factor that changes this equation to: + +:math:`P_I(Q) = \frac{\sum_{\{i, j, n\} \supset \{I\}} S(i,j,n)}{\sum_{\{i, j, n\} \supset \{I\}}M(n)\eta(n)T(n)\Omega_{i j}F_{i j}Corr(i,j,n)}` + +Where Corr (Correction factor) in this case will be: + +:math:`Corr = \frac{T_0^A - 1}{A \ln(T_0)}` + +Which is the OutputWorkspace of SANSWideAngleCorrection. + +This parameter enters inside :ref:`algm-Q1D` as WavePixelAdj. But, this is +all done for you inside the Reduction Script. + +Comparison with Wide Angle Correction at SNS +-------------------------------------------- + +The transmission correction applied at SNS is described +`here `__, +and it is applied through the +:ref:`algm-ApplyTransmissionCorrection` algorithm. +The correction applied there is an approximation for the same equations +described here. The picture above compare their results + +.. figure:: /images/SNS_ISIS_WideAngleCorrections.png + :alt: SNS_ISIS_WideAngleCorrections.png + + SNS\_ISIS\_WideAngleCorrections.png +Note a difference among them is when they are applied. At SNS, the +correction is applied before averaging the counters per bin inside +:ref:`algm-Q1D` algorithm, while at ISIS, it is used after, inside the +:ref:`algm-Q1D` algorithm, for the division of the counters per bin +normalized by the transmission counters. + +References +---------- + +Annie Brulet et al. - Improvement of data treatment in SANS - J. Appl. +Cryst. (2007). 40 + +Ghosh, Egelhaaf & Rennie - Computing guide for Small Angle Scattering +Experiments + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SCDCalibratePanels-v1.rst b/Code/Mantid/docs/source/algorithms/SCDCalibratePanels-v1.rst new file mode 100644 index 000000000000..0ddba6913fe7 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SCDCalibratePanels-v1.rst @@ -0,0 +1,98 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm calibrates sets of Rectangular Detectors in one +instrument. The initial path, time offset,panel widths, panel heights, +panel locations and orientation are all adjusted so the error in q +positions from the theoretical q positions is minimized. Also, there are +optimize options that take into account sample position and the need for +rigid rotations. + +Some features: + +1) Panels can be grouped. + +| ``  All panels in a group will move the same way and rotate the same way.  If rigid rotations are`` +| ``   used, each panel is rotated about the center of the instrument, along with panel pixels rotating`` +| ``   around the panel's center. The height and  widths of the panels in a group will`` +| ``    all change by the same factor`` + +2) The user can select which quantities to keep fixed during the +optimization. + +3) The results can be saved to an ISAW-like DetCal file or in an xml +file that can be used with the LoadParameter algorithm. + +4) Results from a previous optimization can be applied before another +optimization is done. + +| ``  The Levenberg-Marquardt optimization algorithm is used. Later iterations may have too small of changes for the parameters to`` +| ``  get to another optimum value.  Restarting allows for the consideration of parameter values further away and also can change`` +| ``  constraints for the parameter values. This is also useful when fine tuning parameters that do not influence the errors as`` +| ``  much as other parameters.`` + +5) There are several output tables indicating the results of the fit + +| ``  A) ResultWorkspace contains the results from fitting.`` +| ``    -t0 is in microseconds`` +| ``    -L0 is in meters`` +| ``    -*Xoffset,*Yoffset,and *Zoffset are in meters`` +| ``    -*Xrot,*Yrot, and *Zrot are in degrees. Note that Zrot is done first, then Yrot , the Xrot.`` + +``  B)QErrorWorkspace contains the Error in Q values for each peak, along with other associated information about the peak`` + +``  C)CovarianceInfo contains the "correlations"(*100) between each of the parameters`` + +``6) Maximum changes in the quantities that are altered during optimization are now settable.`` + +"A" Workflow +------------ + +Optimizing all variables at once may not be the best option. The errors +become too large, so optimization in several stages subsets of the +variables are optimized at each stage. + +First: NOTE that the input PeaksWorkspace does NOT CHANGE. This means +you should be able to keep trying different sets of variables until +things look good. + +To work on another set of variables with the optimized first round of +optimized values + +#. Use Preprocessinstrument to apply the previous DetCal or xml file + before optimizing AND + +#. Change the name of the target DetCal file, in case the choice of + variables is not good. Then you will not clobber the good + +DetCal file. AND + +#. Change the name of the ResultWorkspace in the properties list. This + means you will have a copy of the results from the + +previous trial(s)( along with chiSq values) to compare results. + +Do check the chiSquared values. If they do not decrease, you were close +to a minimum and the optimization could not get back to that minimum. It +makes a large jump at the beginning. + +After Calibration +----------------- + +After calibration, you can save the workspace to Nexus (or Nexus +processed) and get it back by loading in a later Mantid session. You can +copy the calibration to another workspace using the same instrument by +means of the :ref:`algm-CopyInstrumentParameters` +algorithm. To do so select the workspace, which you have calibrated as +the InputWorkspace and the workspace you want to copy the calibration +to, the OutputWorkspace. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SNSPowderReduction-v1.rst b/Code/Mantid/docs/source/algorithms/SNSPowderReduction-v1.rst new file mode 100644 index 000000000000..2f8b0b8316b8 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SNSPowderReduction-v1.rst @@ -0,0 +1,22 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +About Filter Wall +################# + +Time filter wall is used in \_loadData to load data in a certain range +of time. Here is how the filter is used: + +| ``   1. There is NO filter if filter wall is NONE`` +| ``   2. There is NO lower boundary of the filter wall if wall[0] is ZERO;`` +| ``   3. There is NO upper boundary of the filter wall if wall[1] is ZERO;`` + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SassenaFFT-v1.rst b/Code/Mantid/docs/source/algorithms/SassenaFFT-v1.rst new file mode 100644 index 000000000000..bc10703199e0 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SassenaFFT-v1.rst @@ -0,0 +1,63 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The Sassena application `1 `__ generates +intermediate scattering factors from molecular dynamics trajectories. +This algorithm reads Sassena output and stores all data in workspaces of +type `Workspace2D `__, grouped under a single +`WorkspaceGroup `__. It is implied that the time unit is +one **picosecond**. + +Sassena ouput files are in HDF5 format +`2 `__, and can be made up of the +following datasets: *qvectors*, *fq*, *fq0*, *fq2*, and *fqt* + +The group workspace should contain workspaces **\_fqt.Re** and +**\_fqt.Im** containing the real and imaginary parts of the intermediate +structure factor, respectively. This algorithm will take both and +perform :ref:`algm-FFT`, storing the real part of the transform in +workspace **\_fqw** and placing this workspace under the input group +workspace. Assuming the time unit to be one picosecond, the resulting +energies will be in units of one **micro-eV**. + +The Schofield correction (P. Schofield, *Phys. Rev. Letters* **4**\ (5), +239 (1960)) is optionally applied to the resulting dynamic structure +factor to reinstate the detailed balance condition +:math:`S(Q,\omega)=e^{\beta \hbar \omega}S(-Q,-\omega)`. + +Details +------- + +Parameter FFTonlyRealPart +######################### + +Setting parameter FFTonlyRealPart to true will produce a transform on +only the real part of I(Q,t). This is convenient if we know that I(Q,t) +should be real but a residual imaginary part was left in a Sassena +calculation due to finite orientational average in Q-space. + +Below are plots after application of SassenaFFT to +:math:`I(Q,t) = e^{-t^2/(2\sigma^2)} + i\cdot t \cdot e^{-t^2/(2\sigma^2)}` +with :math:`\sigma=1ps`. Real an imaginary parts are shown in panels (a) +and (b). Note that :math:`I(Q,t)*=I(Q,-t)`. If only :math:`Re[I(Q,t)]` +is transformed, the result is another Gaussian: +:math:`\sqrt{2\pi}\cdot e^{-E^2/(2\sigma'^2)}` with +:math:`\sigma'=4,136/(2\pi \sigma)` in units of :math:`\mu`\ eV (panel +(c)). If I(Q,t) is transformed, the result is a modulated Gaussian: +:math:`(1+\sigma' E)\sqrt{2\pi}\cdot e^{-E^2/(2\sigma'^2)}`\ (panel +(d)). + +.. figure:: /images/SassenaFFTexample.jpg + :alt: SassenaFFTexample.jpg + + SassenaFFTexample.jpg + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SaveANSTOAscii-v1.rst b/Code/Mantid/docs/source/algorithms/SaveANSTOAscii-v1.rst new file mode 100644 index 000000000000..73281b809374 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SaveANSTOAscii-v1.rst @@ -0,0 +1,23 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +SaveANSTOAscii is an export-only Ascii-based save format with no +associated loader. It is based on a python script by Maximilian Skoda, +written for the ISIS Reflectometry GUI + +Limitations +########### + +While Files saved with SaveANSTOAscii can be loaded back into mantid +using LoadAscii, the resulting workspaces won't be usful as the data +written by SaveANSTOAscii is not in the normal X,Y,E,DX format. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SaveAscii-v1.rst b/Code/Mantid/docs/source/algorithms/SaveAscii-v1.rst new file mode 100644 index 000000000000..949a64c262ef --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SaveAscii-v1.rst @@ -0,0 +1,24 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The workspace data are stored in the file in columns: the first column +contains the X-values, followed by pairs of Y and E values. Columns are +separated by commas. The resulting file can normally be loaded into a +workspace by the :ref:`algm-LoadAscii` algorithm. + +Limitations +########### + +The algorithm assumes that the workspace has common X values for all +spectra (i.e. is not a `ragged workspace `__). Only +the X values from the first spectrum in the workspace are saved out. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SaveAscii-v2.rst b/Code/Mantid/docs/source/algorithms/SaveAscii-v2.rst new file mode 100644 index 000000000000..cb8622909ba6 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SaveAscii-v2.rst @@ -0,0 +1,24 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The workspace data are stored in the file in columns: the first column +contains the X-values, followed by pairs of Y and E values. Columns are +separated by commas. The resulting file can normally be loaded into a +workspace by the `LoadAscii2 `__ algorithm. + +Limitations +########### + +The algorithm assumes that the workspace has common X values for all +spectra (i.e. is not a `ragged workspace `__). Only +the X values from the first spectrum in the workspace are saved out. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SaveCSV-v1.rst b/Code/Mantid/docs/source/algorithms/SaveCSV-v1.rst new file mode 100644 index 000000000000..e9285359a36b --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SaveCSV-v1.rst @@ -0,0 +1,40 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The format of the saved ascii CSV file for a 1D worksspace consists of +three columns where the numbers of each row are seperated by the +Seperator and each line by the LineSeperator. + +The format of the saved CSV file for a 2D workspace is as follows: + +| ``   A      0, 200, 400, 600, ..., 50000 `` +| ``    0     10,   4, 234,  35, ...,    32 `` +| ``    1      4, 234,   4,   9, ...,    12 `` +| ``    A      0, 100, 200, 300, ..., 25000 `` +| ``    2     34,   0,   0,   0, ...,    23`` + +| ``   ERRORS`` +| ``    0    0.1, 3.4, 2.4, 3.5, ...,     2 `` +| ``    1    3.1, 3.3, 2.5, 3.5, ...,     2 `` +| ``    2    1.1, 3.3, 2.4,   5, ...,   2.4`` + +where for the matrix above the ERRORS line the first column shows the +content of the numbers on the of the same line; i.e. 'A' is followed by +x-axis values (e.g. TOF values) and any number (e.g. '2') followed by +y-axis values (e.g. neutron counts). Multiple 'A' may be present to +allow for the a-axis to change. So in the example above the saved 2D +workspace consists of three histograms (y-axes) where the first two have +the same x-axis but the third histogram has a different x-axis. + +The matrix following the ERRORS line lists the errors as recorded for +each histogram. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SaveCalFile-v1.rst b/Code/Mantid/docs/source/algorithms/SaveCalFile-v1.rst new file mode 100644 index 000000000000..acd9d8cb8e44 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SaveCalFile-v1.rst @@ -0,0 +1,23 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm saves an ARIEL-style 5-column ASCII .cal file. + +The format is + +- Number: ignored.\* UDET: detector ID.\* Offset: calibration offset. + Comes from the OffsetsWorkspace, or 0.0 if none is given. +- Select: 1 if selected (not masked out). Comes from the MaskWorkspace, + or 1 if none is given. +- Group: group number. Comes from the GroupingWorkspace, or 1 if none + is given. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SaveCanSAS1D-v1.rst b/Code/Mantid/docs/source/algorithms/SaveCanSAS1D-v1.rst new file mode 100644 index 000000000000..07f50e203485 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SaveCanSAS1D-v1.rst @@ -0,0 +1,21 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Saves the given workspace to a file which will be in canSAS 1-D format +specified by canSAS 1-D Data Formats Working Group schema +http://svn.smallangles.net/svn/canSAS/1dwg/trunk/cansas1d.xsd. CANSAS +has a Wiki page at +http://www.smallangles.net/wgwiki/index.php/canSAS_Working_Groups + +Workspace group members and appended workspaces are stored in separate +SASentry `xml `__ elements. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SaveCanSAS1D-v2.rst b/Code/Mantid/docs/source/algorithms/SaveCanSAS1D-v2.rst new file mode 100644 index 000000000000..110e9a01e215 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SaveCanSAS1D-v2.rst @@ -0,0 +1,37 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Saves the given workspace to a file which will be in canSAS 1-D format +specified by canSAS 1-D Data Formats Working Group schema +http://svn.smallangles.net/svn/canSAS/1dwg/trunk/cansas1d.xsd. CANSAS +has a Wiki page at +http://www.smallangles.net/wgwiki/index.php/canSAS_Working_Groups. + +The second version is compatible with canSAS - 1D - Version 1.1. If you +need to save to the version 1.0 please use the first version of this +algorithm. You can see it at: [SaveCanSAS1D\_1.0]. + +Workspace group members and appended workspaces are stored in separate +SASentry `xml `__ elements. + +This algorithm saves workspace into CanSAS1d format. This is an xml +format except the , tags and all data in between must be one line, which +necesitates the files be written iostream functions outside xml +libraries. + +The second version of CanSAS1D implements the version 1.1, whose schema +is found at http://www.cansas.org/formats/1.1/cansas1d.xsd. See the +tutorial for more infomation about: +http://www.cansas.org/svn/1dwg/trunk/doc/cansas-1d-1_1-manual.pdf. + +The structure of CanSAS1d xml is defined at the links above. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SaveDaveGrp-v1.rst b/Code/Mantid/docs/source/algorithms/SaveDaveGrp-v1.rst new file mode 100644 index 000000000000..8f03e315820b --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SaveDaveGrp-v1.rst @@ -0,0 +1,16 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Saves a workspace to a DAVE grp file. A description of the DAVE grouped +data format can be found at +`http://www.ncnr.nist.gov/dave/documentation/ascii_help.pdf `__. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SaveDetectorsGrouping-v1.rst b/Code/Mantid/docs/source/algorithms/SaveDetectorsGrouping-v1.rst new file mode 100644 index 000000000000..e132fc9e7d0b --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SaveDetectorsGrouping-v1.rst @@ -0,0 +1,46 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm is used to save a GroupingWorkspace to a file in XML +format. + +XML File Format +--------------- + +Parameters +########## + +- "instrument": mandatory attribute of node 'detector-grouping'. It + must be valid instrument name. +- "ID": mandatory attribute of node 'group'. It must be valid group + name, and the key to denote group. +- "detids": a node to define grouping by detectors' ID. Its value must + be a list of integers separated by ','. A '-' is used between 2 + integers to define a range of detectors. +- "component": a node to define that all detectors belonged to a + component in the instrument are to be in a same group. Its value + should be a valid component name. + +Example 1: + +.. raw:: html + + + +| `` ``\ +| ``  ``\ +| ``   ``\ \ ``1-30,34-44,47-100``\ +| ``  ``\ +| ``   ``\ \ ``103-304,344-444,474-5000``\ +| ``  ``\ +| `` ``\ + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SaveDspacemap-v1.rst b/Code/Mantid/docs/source/algorithms/SaveDspacemap-v1.rst new file mode 100644 index 000000000000..9ccc01ddeda2 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SaveDspacemap-v1.rst @@ -0,0 +1,15 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The POWGEN d-space map file format is a binary list of the conversion. +It needs to be a minimum size, determined by the PadDetID parameter. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SaveFocusedXYE-v1.rst b/Code/Mantid/docs/source/algorithms/SaveFocusedXYE-v1.rst new file mode 100644 index 000000000000..eeba185e1acc --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SaveFocusedXYE-v1.rst @@ -0,0 +1,31 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm outputs the data in ASCII as a 3 column X, Y ,E format +for use in subsequent analysis by other programs. The output files can +be read for example into FullProf with format instrument=10. + +For data where the focusing routine has generated several spectra (for +example, multi-bank instruments), the option is provided for saving all +spectra into a single file, separated by headers, or into several files +that will be named "workspaceName-"+spectra\_number + +Current Issues +-------------- + +Fullprof expects the data to be in TOF, however at present the +:ref:`algm-DiffractionFocussing` algorithm in Mantid +leaves the data in d-spacing. + +If the written file is to be loaded into TOPAS, then headers should be +omitted (set the IncludeHeader property to false); + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SaveFullprofResolution-v1.rst b/Code/Mantid/docs/source/algorithms/SaveFullprofResolution-v1.rst new file mode 100644 index 000000000000..2cceba92fd20 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SaveFullprofResolution-v1.rst @@ -0,0 +1,60 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +A Fullprof's resolution file contains the peak profile parameters and +some powder diffractometer's geometry related parameters in a certain +format. This algorithm reads a TableWorkspace containing all the +information required by Fullprof's resolution file, and write out a text +file conforming to that resolution file's format. + +Peak Profile Supported +---------------------- + +Here is the list of peak profile supported by this algorithm: + +- Back-to-back Exponential Convoluted with Pseudo-voigt peak profile + (profile 9). +- Thermal Neutron Back-to-back Exponential Convoluted with Pseudo-voigt + peak profile (profile 10). + +Instrument Profile Parameter TableWorkspace +------------------------------------------- + +TableWorkspace as the input of this algorithm can be generated from +*CreateLeBailFitInput*, *RefinePowderInstrumentParameters* or +*LeBailFit*. To be noticed that the TableWorkspace output from +*RefinePowderInstrumentParameters* is usually an intermediate product. + +Input TableWorkspace must have two columns, "Name" and "Value", as +column 0 and 1. There is no restriction on other columns. + +For a multiple bank instrument, from the second column, the name of the +columns should be Value\_1, Value\_2 and so on. A row with parameter +name 'BANK' should be there to indicate the bank ID of a specific row of +parameters corresponding to. + +How to use algorithm with other algorithms +------------------------------------------ + +Le Bail Fit +########### + +This algorithm is designed to work with other algorithms to do Le Bail +fit. The introduction can be found in `Le Bail Fit `__. + +Save For Multiple-Bank Resolution File +###################################### + +As SaveFullprofResolution can save 1 bank a time, in order to make a +multiple-bank .irf file, user should execute this algorithm a few times. +Except the first time, property 'Append' should be marked as 'True'. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SaveGSASInstrumentFile-v1.rst b/Code/Mantid/docs/source/algorithms/SaveGSASInstrumentFile-v1.rst new file mode 100644 index 000000000000..47c067ecc7a2 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SaveGSASInstrumentFile-v1.rst @@ -0,0 +1,71 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Convert Fullprof's instrument resolution file (.irf) to GSAS's +instrument file (.iparm/.prm). + +Supported peak profiles +####################### + +- Time-of-flight back-to-back exponential convoluted with pseudo-voigt + (planned) + + - Fullprof: Profile 9; + - GSAS: Type 3 TOF profile. + +- Thermal neutron time-of-flight back-to-back exponential convoluted + with pseudo-voigt (implemented) + + - Fullprof: Profile 10; + - GSAS: tabulated peak profile. + +Supported input Fullprof file +############################# + +There can be several types of Fullprof files as the input file + +- resolution file .irf (implemented) +- configuration file .pcr (planned) + +Set up :math:`2\theta` +###################### + +There are several places in this algorithm that can set the value of +:math:`2\theta`. From the highest priority, here is the list how +:math:`2\theta` is set up. + +| ``1. Algorithms' input property ``\ *``2Theta``*\ ``;`` +| ``2. Either input TableWorkspace or input Fullprof resolution (.irf) file;`` +| ``3. Hard coded default  ``\ :math:`2\theta`\ `` of a certain instrument.`` + +Set up :math:`L_1` +################## + +There are 2 places in this algorithm that can set the value of +:math:`L_1`. From the highest priority, here is the list how +:math:`2\theta` is set up. + +| ``1. Algorithms' input property ``\ *``L1``*\ ``;`` +| ``2. Hard coded default  ``\ :math:`2\theta`\ `` of a certain instrument.`` + +Calculation of L2 +################# + +- If 2Theta (:math:`2\theta`) is given, L2 will be calculated from + given 2Theta and L1 by + :math:`DIFC = 252.816\cdot2sin(\theta)\sqrt{L1+L2}`. Notice that + :math:`2\theta` given in input .irf file may have subtle difference + to "2Theta", which is input by user in order to calculate L2. + +- If "2Theta" (:math:`2\theta`) is not given, L2 will be read from user + input. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SaveGSS-v1.rst b/Code/Mantid/docs/source/algorithms/SaveGSS-v1.rst new file mode 100644 index 000000000000..d111bea3993d --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SaveGSS-v1.rst @@ -0,0 +1,40 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Saves a focused data set into a three column GSAS format containing +X\_i, Y\_i\*step, and E\_I\*step. Exclusively for the crystallography +package `GSAS `__ and +data needs to be in time-of-flight. For data where the focusing routine +has generated several spectra (for example, multi-bank instruments), the +option is provided for saving all spectra into a single file, separated +by headers, or into several files that will be named +"workspaceName\_"+workspace\_index\_number. + +From the GSAS manual a description of the format options: + +- If BINTYP is 'SLOG' then the neutron TOF data was collected in + constant ∆T/T steps. BCOEF(1) is the initial TOF in μsec, and + BCOEF(3) is the value of ∆T/T used in the data collection. BCOEF(2) + is a maximum TOF for the data set. BCOEF(4) is zero and ignored. +- If BINTYP equals 'RALF' then the data was collected at one of the TOF + neutron diffractometers at the ISIS Facility, Rutherford-Appleton + Laboratory. The width of the time bins is constant for a section of + the data at small values of TOF and then varies (irregularly) in + pseudoconstant ∆T/T steps. In this case BCOEF(1) is the starting TOF + in μsec\*32, BCOEF(2) is the width of the first step in μsec\*32, + BCOEF(3) is the start of the log scaled step portion of the data in + μsec\*32 and BCOEF(4) is the resolution to be used in approximating + the size of each step beyond BCOEF(3). + +The format is limited to saving 99 spectra in total. Trying to save more +will generate an error. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SaveHKL-v1.rst b/Code/Mantid/docs/source/algorithms/SaveHKL-v1.rst new file mode 100644 index 000000000000..f3cfe853d926 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SaveHKL-v1.rst @@ -0,0 +1,44 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Used same format that works successfully in GSAS and SHELX from ISAW: + +hklFile.write('%4d%4d%4d%8.2f%8.2f%4d%8.4f%7.4f%7d%7d%7.4f%4d%9.5f%9.4f\\n'% +(H, K, L, FSQ, SIGFSQ, hstnum, WL, TBAR, CURHST, SEQNUM, TRANSMISSION, +DN, TWOTH, DSP)) + +HKL is flipped by -1 due to different q convention in ISAW vs Mantid. + +FSQ = integrated intensity of peak (scaled) + +SIGFSQ = sigma from integrating peak + +hstnum = number of sample orientation (starting at 1) + +WL = wavelength of peak + +TBAR = output of absorption correction (-log(transmission)/mu) + +CURHST = run number of sample + +SEQNUM = peak number (unique number for each peak in file) + +TRANSMISSION = output of absorption correction (exp(-mu\*tbar)) + +DN = detector bank number + +TWOTH = two-theta scattering angle + +DSP = d-Spacing of peak (Angstroms)/TR + +Last line must have all 0's + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SaveILLCosmosAscii-v1.rst b/Code/Mantid/docs/source/algorithms/SaveILLCosmosAscii-v1.rst new file mode 100644 index 000000000000..8bbaa7fbe82a --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SaveILLCosmosAscii-v1.rst @@ -0,0 +1,23 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +SaveILLCosmosAscii is an export-only Ascii-based save format with no +associated loader. It is based on a python script by Maximilian Skoda, +written for the ISIS Reflectometry GUI + +Limitations +########### + +While Files saved with SaveILLCosmosAscii can be loaded back into mantid +using LoadAscii, the resulting workspaces won't be usful as the data +written by SaveILLCosmosAscii is not in the normal X,Y,E,DX format. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SaveISISNexus-v1.rst b/Code/Mantid/docs/source/algorithms/SaveISISNexus-v1.rst new file mode 100644 index 000000000000..c4554e52ebb2 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SaveISISNexus-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + + + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SaveIsawDetCal-v1.rst b/Code/Mantid/docs/source/algorithms/SaveIsawDetCal-v1.rst new file mode 100644 index 000000000000..53cbb12d104f --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SaveIsawDetCal-v1.rst @@ -0,0 +1,18 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Saves an instrument with RectangularDetectors to an ISAW .DetCal file. + +This algorithm will fail on instruments without RectangularDetectors. +Additionally, the banks should be named "bankXX" where XX is the bank +index. Other names will fail or create an invalid .DetCal file. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SaveIsawPeaks-v1.rst b/Code/Mantid/docs/source/algorithms/SaveIsawPeaks-v1.rst new file mode 100644 index 000000000000..30ecfca86d27 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SaveIsawPeaks-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Save a PeaksWorkspace to a ISAW-style ASCII .peaks file. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SaveIsawQvector-v1.rst b/Code/Mantid/docs/source/algorithms/SaveIsawQvector-v1.rst new file mode 100644 index 000000000000..3ab04f1a5cec --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SaveIsawQvector-v1.rst @@ -0,0 +1,15 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This takes an unprocessed event workspace and writes out a file where +each event has the :math:`(Q_x, Q_y, Q_z)` as a set of 32-bit floats. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SaveIsawUB-v1.rst b/Code/Mantid/docs/source/algorithms/SaveIsawUB-v1.rst new file mode 100644 index 000000000000..bf1fcd35b6b0 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SaveIsawUB-v1.rst @@ -0,0 +1,23 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This saves a workspace's UB matrix to an ISAW-style UB matrix text file. + +The resulting file can be loaded again into another workspace by using +the :ref:`algm-LoadIsawUB` algorithm. + +The matrix saved is the transpose of the UB Matrix. The UB matrix maps +the column vector (h,k,l ) to the column vector (q'x,q'y,q'z). +\|Q'\|=1/dspacing and its coordinates are a right-hand coordinate system +where x is the beam direction and z is vertically upward. (IPNS +convention) + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SaveMD-v1.rst b/Code/Mantid/docs/source/algorithms/SaveMD-v1.rst new file mode 100644 index 000000000000..5d9f10418ebd --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SaveMD-v1.rst @@ -0,0 +1,23 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Save a `MDEventWorkspace `__ to a .nxs file. The +workspace's current box structure and entire list of events is +preserved. The resulting file can be loaded via :ref:`algm-LoadMD`. + +If you specify MakeFileBacked, then this will turn an in-memory +workspace to a file-backed one. Memory will be released as it is written +to disk. + +If you specify UpdateFileBackEnd, then any changes (e.g. events added +using the PlusMD algorithm) will be saved to the file back-end. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SaveMask-v1.rst b/Code/Mantid/docs/source/algorithms/SaveMask-v1.rst new file mode 100644 index 000000000000..504808a83955 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SaveMask-v1.rst @@ -0,0 +1,58 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm is used to save the masking from a workspace to an XML +file. This algorithm has previously been renamed from +`SaveDetectorMasks `__. + +2 Types of Mask Workspace +------------------------- + +There are two types of mask workspace that can serve as input. + +1. `MaskWorkspace `__ +#################################### + +In this case, :ref:`algm-SaveMask` will read Y values to determine +which detectors are masked; + +2. A non-\ `MaskWorkspace `__ `MatrixWorkspace `__ containing `Instrument `__ +######################################################################################################################### + +In this case, :ref:`algm-SaveMask` will scan through all detectors to +determine which are masked. + +Definition of Mask +------------------ + +| ``* If a pixel is masked, it means that the data from this pixel won't be used.  `` +| ``  In the masking workspace (i.e., ``\ ```SpecialWorkspace2D`` `__\ ``), the corresponding value is 1. `` +| ``* If a pixel is NOT masked, it means that the data from this pixel will be used.  `` +| ``  In the masking workspace (i.e., ``\ ```SpecialWorkspace2D`` `__\ ``), the corresponding value is 0.`` + +XML File Format +--------------- + +Example 1: + +.. raw:: html + + + +| `` ``\ +| ``  ``\ +| ``   ``\ \ ``3,34-44,47``\ +| ``   ``\ \ ``bank123``\ +| ``   ``\ \ ``bank124``\ +| ``  ``\ +| `` ``\ + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SaveNISTDAT-v1.rst b/Code/Mantid/docs/source/algorithms/SaveNISTDAT-v1.rst new file mode 100644 index 000000000000..d6ee5af2d787 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SaveNISTDAT-v1.rst @@ -0,0 +1,18 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Qxy rebins a 2D workspace in units of wavelength into 2D Q. It also +normalises to the solid angle of each detector pixel. The result is +stored in a 2D workspace which two numeric axes, both in units of Q. +SaveNISTDAT save the output of Qxy to an ASCII file that can be read by +NIST software. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SaveNXSPE-v1.rst b/Code/Mantid/docs/source/algorithms/SaveNXSPE-v1.rst new file mode 100644 index 000000000000..32606d672a24 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SaveNXSPE-v1.rst @@ -0,0 +1,27 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Saves the data in a workspace into a file in the NeXus based 'NXSPE' +format. + +Restrictions on the input workspace +################################### + +The input workspace must have units of Momentum Transfer ('DeltaE') and +contain histogram data with common binning on all spectra. + +Child Algorithms used +##################### + +:ref:`algm-FindDetectorsPar` algorithm is used to calculate +detectors parameters from the instrument description. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SaveNexus-v1.rst b/Code/Mantid/docs/source/algorithms/SaveNexus-v1.rst new file mode 100644 index 000000000000..4b2784bba885 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SaveNexus-v1.rst @@ -0,0 +1,41 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The algorithm SaveNexus will write a Nexus data file from the named +workspace. The file name can be an absolute or relative path and should +have the extension .nxs, .nx5 or .xml. Warning - using XML format can be +extremely slow for large data sets and generate very large files. Both +the extensions nxs and nx5 will generate HDF5 files. + +The optional parameters can be used to control which spectra are saved +into the file (not yet implemented). If spectrum\_min and spectrum\_max +are given, then only that range to data will be loaded. + +A Mantid Nexus file may contain several workspace entries each labelled +with an integer starting at 1. If the file already contains n +workspaces, the new one will be labelled n+1. + +In the future it may be possible to write other Nexus file types than +the one supported by SaveNexusProcessed. + +Time series data +################ + +TimeSeriesProperty data within the workspace will be saved as NXlog +sections in the Nexus file. Only floating point logs are stored and +loaded at present. + +Child Algorithms used +##################### + +:ref:`algm-SaveNexusProcessed` + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SaveNexusProcessed-v1.rst b/Code/Mantid/docs/source/algorithms/SaveNexusProcessed-v1.rst new file mode 100644 index 000000000000..7a7cfb6462c8 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SaveNexusProcessed-v1.rst @@ -0,0 +1,48 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The algorithm SaveNexusProcessed will write a Nexus data file from the +named workspace. This can later be loaded using +:ref:`algm-LoadNexusProcessed`. + +The file name can be an absolute or relative path and should have the +extension .nxs, .nx5 or .xml. Warning - using XML format can be +extremely slow for large data sets and generate very large files. Both +the extensions nxs and nx5 will generate HDF5 files. + +The optional parameters can be used to control which spectra are saved +into the file. If WorkspaceIndexMin and WorkspaceIndexMax are given, +then only that range to data will be loaded. + +A Mantid Nexus file may contain several workspace entries each labelled +with an integer starting at 1. If the file already contains n +workspaces, the new one will be labelled n+1. + +Time series data +################ + +TimeSeriesProperty data within the workspace will be saved as NXlog +sections in the Nexus file. Only floating point logs are stored and +loaded at present. + +EventWorkspaces +############### + +This algorithm will save `EventWorkspaces `__ with full +event data, unless you uncheck *PreserveEvents*, in which case the +histogram version of the workspace is saved. + +Optionally, you can check *CompressNexus*, which will compress the event +data. **Warning!** This can be *very* slow, and only gives approx. 40% +compression because event data is typically denser than histogram data. +*CompressNexus* is off by default. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SavePAR-v1.rst b/Code/Mantid/docs/source/algorithms/SavePAR-v1.rst new file mode 100644 index 000000000000..e6ea2d6cc8d5 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SavePAR-v1.rst @@ -0,0 +1,36 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Saves the geometry information of the detectors in a workspace into a +PAR format ASCII file. The angular positions and linear sizes of the +detectors are calculated using :ref:`algm-FindDetectorsPar` +algorithm. + +Tobyfit PAR file is an ASCII file consisting of the header and 5 or 6 +text columns. Mantid generates 6-column files. Header contains the +number of the rows in the phx file excluding the header. (number of +detectors). The column has the following information about a detector: + +| `` *`` +| `` *         1st column      sample-detector distance (secondary flight path)`` +| `` *         2nd  "          scattering angle (deg)`` +| `` *         3rd  "          azimuthal angle (deg)`` +| `` *                         (west bank = 0 deg, north bank = -90 deg etc.)`` +| `` *                         (Note the reversed sign convention cf ``\ ```.phx`` `__\ `` files)`` +| `` *         4th  "          width (m)`` +| `` *         5th  "          height (m)`` +| `` *         6th  "          detector ID    -- Mantid specific. `` +| `` *---`` + +You should expect to find column 6 to be the detector ID in +Mantid-generated par files only. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SavePHX-v1.rst b/Code/Mantid/docs/source/algorithms/SavePHX-v1.rst new file mode 100644 index 000000000000..931491c8fa67 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SavePHX-v1.rst @@ -0,0 +1,38 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Saves the geometry information of the detectors in a workspace into a +PHX format ASCII file. The angular positions and angular sizes of the +detectors are calculated using :ref:`algm-FindDetectorsPar` +algorithm. + +Mantid generated PHX file is an ASCII file consisting of the header and +7 text columns. Header contains the number of the rows in the phx file +excluding the header. (number of detectors). The column has the +following information about a detector: + +| `` *         1st column      secondary flightpath,e.g. sample to detector distance (m) -- Mantid specific`` +| `` *         2nt  "          0`` +| `` *         3rd  "          scattering angle (deg)`` +| `` *         4th  "          azimuthal angle (deg)`` +| `` *                        (west bank = 0 deg, north bank = 90 deg etc.)`` +| `` *                        (Note the reversed sign convention wrt ``\ ```.par`` `__\ `` files)`` +| `` *         5th  "          angular width e.g. delta scattered angle (deg) `` +| `` *         6th  "          angular height e.g. delta azimuthal angle (deg)`` +| `` *         7th  "          detector ID    -- Mantid specific. `` +| `` *---`` + +In standard phx file only the columns 3,4,5 and 6 contain useful +information. You can expect to find column 1 to be the secondary +flightpath and the column 7 -- the detector ID in Mantid-generated phx +files only. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SavePlot1D-v1.rst b/Code/Mantid/docs/source/algorithms/SavePlot1D-v1.rst new file mode 100644 index 000000000000..366ac9b8a3ab --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SavePlot1D-v1.rst @@ -0,0 +1,21 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Save 1D plots to a png file, as part of autoreduction. Multiple spectra +in the same workspace will be represented by curves on the same plot. +Groupped workspaces will be shown as subplots. If the workspace has more +than one spectra, but less or equal to ten, labels will be shown. + +Note: the figures contain lines between points, no error bars. + +Note: Requires matplotlib version>= 1.2.0 + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SaveRKH-v1.rst b/Code/Mantid/docs/source/algorithms/SaveRKH-v1.rst new file mode 100644 index 000000000000..91b78619070a --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SaveRKH-v1.rst @@ -0,0 +1,21 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Saves the the given workspace to a file which will be formatted in one +of the LOQ data formats (see +`here `__). +1D or 2D workspaces may be saved. If a 1D workspace is 'horizontal' (a +single spectrum) then the first column in the three column output will +contain the X values of the spectrum (giving the bin centre if histogram +data). For a 'vertical' (single column) 1D workspace, the first column +of the file will contain the spectrum number. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SaveReflTBL-v1.rst b/Code/Mantid/docs/source/algorithms/SaveReflTBL-v1.rst new file mode 100644 index 000000000000..eb26b75df0bc --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SaveReflTBL-v1.rst @@ -0,0 +1,37 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Saves a TableWorkspace at least 8 colunms wide into an ascii file in +17-column Reflectometry TBL format compatible with the old ISIS +reflectometry Interface. + +The 8 columns are grouped into rows of 17 according to stitch index, so +up to 3 rows int he table would become a single row in the TBL file like +so: (Where Z is an identical stitch group index, and - is ignored as +only the first instance of P and Q are used in the file) + +A, B, C, D, E, P, Q, Z F, G, H, I, J, -, -, Z K, L, M, N, O, -, -, Z + +becomes + +A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q + +Limitations +########### + +The Algorithm will fail if any stitch index appears more than 3 times, +as the old interface does not support more than 3 runs per row. + +Stitch groups of index 0 are treated as non-grouped, and will not be +grouped with one another (and by extension can be larger than 3 +members). They will however be moved to the end of the file + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SaveSPE-v1.rst b/Code/Mantid/docs/source/algorithms/SaveSPE-v1.rst new file mode 100644 index 000000000000..a31b3f008fca --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SaveSPE-v1.rst @@ -0,0 +1,26 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Saves the data in a workspace into a file in the ASCII 'SPE' format (as +described `here `__). + +The units used for saving will match those of the input workspace, such +that if you have the units Momentum Transfer ('DeltaE') then you will +get a traditional SPE file, you could choose to have the units in mod Q +and then it will save to an SPQ file variant. + +Restrictions on the input workspace +################################### + +The input workspace must contain histogram data with common binning on +all spectra. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SaveToSNSHistogramNexus-v1.rst b/Code/Mantid/docs/source/algorithms/SaveToSNSHistogramNexus-v1.rst new file mode 100644 index 000000000000..70465158ff4a --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SaveToSNSHistogramNexus-v1.rst @@ -0,0 +1,22 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The algorithm essentially copies the InputFilename into OutputFilename, +except that it replaces the data field with whatever the specified +workspace contains. The histograms do not need to be the same size (in +number of bins), but the number of pixels needs to be the same. + +In addition, this only works for instruments that use +`RectangularDetectors `__ (SNAP, TOPAZ, POWGEN, for +example); in addition, the name in the instrument definition file must +match the name in the NXS file. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SaveVTK-v1.rst b/Code/Mantid/docs/source/algorithms/SaveVTK-v1.rst new file mode 100644 index 000000000000..e8331b8be8e9 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SaveVTK-v1.rst @@ -0,0 +1,18 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Saves a workspace out to a VTK file that can be loaded with Paraview or +any other software supporting the VTK file format. This is a very basic +algorithm that simple creates a 3D view of the data as a series of +histograms. It should only be used for relatively small data sets as the +resulting file can become quite large relatively quickly. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SaveZODS-v1.rst b/Code/Mantid/docs/source/algorithms/SaveZODS-v1.rst new file mode 100644 index 000000000000..58c441b3c016 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SaveZODS-v1.rst @@ -0,0 +1,73 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Saves a HDF5 file to the ZODS (Zurich Oak Ridge Disorder Simulation +program) format. This format consists of a slice of a +`MDHistoWorkspace `__ and some information about its +location. + +**You must be in HKL space for the output of this algorithm to make +sense!** + +From http://www.crystal.mat.ethz.ch/research/DiffuseXrayScattering: + +- In the frame of an international cooperation between our group, the + University of Zurich and Oak Ridge National Laboratories, we are + further developing Monte Carlo simulation techniques for modeling + disordered crystal structures. A major goal of this project is to + develop the Monte Carlo simulation computer program ZODS (Zurich Oak + Ridge Disorder Simulation program), which is designed to be not only + user friendly, but also fast and flexible. Special focus is on the + efficient use of modern super-computer architectures and of + multi-core desktop computers to take full advantage of current trends + in computing technologies. + +Summary of data format +###################### + +In general it contains collection of grids with intensities and each +grid is described by specifying origin, size of grid (in each direction) +and grid base vectors (a1,a2,a3) so a point at node (i,j,k) of grid has +coordinates r = origin+i\*a1+j\*a2+k\*a3. + +Please contact Michal Chodkiewicz (michal.chodkiewicz@gmail.com); Vickie +Lynch (vel@ornl.gov) for more details. + +Description of data fields +########################## + +- The CoordinateSystem data object has the attribute "isLocal". + + - If **isLocal**\ =1, then we are in HKL space: + + - The **direction\_1** vector (0.04,0,0) represents a step of + 0.04 in the (1,0,0) direction (a\*) in reciprocal space. + - **This is currently the only mode in which SaveZODS saves**. + + - If **isLocal**\ =0, then we are in Q-space. + + - The **direction\_1** vector (0.04,0,0) represents a step of + 0.04 Angstrom^(-1) in X direction of Cartesian coordinate + system (with X colinear with a and Z with c\*) + - In this case CoordinateSystem has additional attribute + UnitCell, which is a vector with 6 components + (a,b,c,alpha,beta,gamma) a,b,c in angstroms and angles in + degrees. + +- The **origin** field gives the origin of the center of the (0,0,0) + cell; in HKL space for our case of isLocal=1. +- The **size** field gives the number of bins in each direction. +- The **data** field contains the actual intensity at each bin. + + - The grid of points (r = origin+i\*a1+j\*a2+k\*a3) specifies the + centers of histogram, not the corners. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/Scale-v1.rst b/Code/Mantid/docs/source/algorithms/Scale-v1.rst new file mode 100644 index 000000000000..85fca36b4647 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/Scale-v1.rst @@ -0,0 +1,17 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Uses the binary operation algorithms :ref:`algm-Multiply` or +:ref:`algm-Plus` to scale the input workspace by the amount requested. +This algorithm is provided as a simple, but less powerful, alternative +to the python `workspace algebra `__ functionality. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ScaleX-v1.rst b/Code/Mantid/docs/source/algorithms/ScaleX-v1.rst new file mode 100644 index 000000000000..ebf3d6489f35 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ScaleX-v1.rst @@ -0,0 +1,20 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Scales the X axis and everty unique X-coordinate of a histogram or every +event of the input workspace by the amount requested. + +- The amount can be specified either as: +- an absolute numerical value via the "Factor" argument or +- an detector parameter name whose value is retrieved from the + instrument. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SelectCellOfType-v1.rst b/Code/Mantid/docs/source/algorithms/SelectCellOfType-v1.rst new file mode 100644 index 000000000000..c044712dda9b --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SelectCellOfType-v1.rst @@ -0,0 +1,31 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Given a PeaksWorkspace with a UB matrix corresponding to a Niggli +reduced cell, this algorithm will allow the user to select a +conventional cell with a specified cell type and centering. If the apply +flag is not set, the information about the selected cell will just be +displayed. If the apply flag is set, the UB matrix associated with the +sample in the PeaksWorkspace will be updated to a UB corresponding to +the selected cell AND the peaks will be re-indexed using the new UB +matrix. NOTE: The possible conventional cells, together with the +corresponding errors in the cell scalars can be seen by running the +ShowPossibleCells algorithm, provided the stored UB matrix corresponds +to a Niggli reduced cell. + +This algorithm is based on the paper: "Lattice Symmetry and +Identification -- The Fundamental Role of Reduced Cells in Materials +Characterization", Alan D. Mighell, Vol. 106, Number 6, Nov-Dec 2001, +Journal of Research of the National Institute of Standards and +Technology, available from: +nvlpubs.nist.gov/nistpubs/jres/106/6/j66mig.pdf. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SelectCellWithForm-v1.rst b/Code/Mantid/docs/source/algorithms/SelectCellWithForm-v1.rst new file mode 100644 index 000000000000..7a72f99ac0f9 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SelectCellWithForm-v1.rst @@ -0,0 +1,31 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Given a PeaksWorkspace with a UB matrix corresponding to a Niggli +reduced cell, this algorithm will allow the user to select a +conventional cell corresponding to a specific form number from the +Mighell paper. If the apply flag is not set, the information about the +selected cell will just be displayed. If the apply flag is set, the UB +matrix associated with the sample in the PeaksWorkspace will be updated +to a UB corresponding to the selected cell AND the peaks will be +re-indexed using the new UB matrix. NOTE: The possible conventional +cells, together with the corresponding errors in the cell scalars can be +seen by running the ShowPossibleCells algorithm, provided the stored UB +matrix corresponds to a Niggli reduced cell. + +This algorithm is based on the paper: "Lattice Symmetry and +Identification -- The Fundamental Role of Reduced Cells in Materials +Characterization", Alan D. Mighell, Vol. 106, Number 6, Nov-Dec 2001, +Journal of Research of the National Institute of Standards and +Technology, available from: +nvlpubs.nist.gov/nistpubs/jres/106/6/j66mig.pdf. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SelectPowderDiffPeaks-v1.rst b/Code/Mantid/docs/source/algorithms/SelectPowderDiffPeaks-v1.rst new file mode 100644 index 000000000000..d5f2fc12118c --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SelectPowderDiffPeaks-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Select the powder diffraction peaks for `Le Bail Fit `__ + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SetGoniometer-v1.rst b/Code/Mantid/docs/source/algorithms/SetGoniometer-v1.rst new file mode 100644 index 000000000000..6c01230f16cd --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SetGoniometer-v1.rst @@ -0,0 +1,40 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Use this algorithm to define your goniometer. Enter each axis in the +order of rotation, starting with the one farthest from the sample. + +You may enter up to 6 axes, for which you must define (separated by +commas): + +- The name of the axis, which MUST match the name in your sample logs. + You can specify a number, and a log value will be created + (GoniometerAxis?\_FixedValue, where ? is the axis number) +- The X, Y, Z components of the vector of the axis of rotation. + Right-handed coordinates with +Z=beam direction; +Y=Vertically up + (against gravity); +X to the left. +- The sense of rotation as 1 or -1: 1 for counter-clockwise, -1 for + clockwise rotation. + +The run's sample logs will be used in order to determine the actual +angles of rotation: for example, if you have an axis called 'phi', then +the first value of the log called 'phi' will be used as the rotation +angle. Units are assumed to be degrees. + +The "Universal" goniometer at SNS is equivalent to Axis0 tied to the +"omega" log pointing vertically upward, Axis1 tied to "chi" log, +pointing along the beam, and Axis2 tied to "phi", pointing vertically +upward. + +SetGoniometer(w,"Universal") is the same as +SetGoniometer(w,Axis0="omega,0,1,0,1",Axis1="chi,0,0,1,1",Axis1="phi,0,1,0,1") + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SetInstrumentParameter-v1.rst b/Code/Mantid/docs/source/algorithms/SetInstrumentParameter-v1.rst new file mode 100644 index 000000000000..da42d57d8a42 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SetInstrumentParameter-v1.rst @@ -0,0 +1,26 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm adds or replaces an parameter attached to an instrument +component, or the entire instrument. Instrument parameters are specific +to a workspace, they will get carried on to output workspaces created +from an input workspace to an algorithm, but will not appear one +unrelated workspaces that happen to have been recorded on the same +instrument. + +The workspace must have a instrument already defined, and will be +altered in place. If the name of the instrument component to attach the +parameter is not specified it will be attached to the whole instrument. + +At present this algorithm only supports simple instrument parameters, +NOT fitting parameters. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SetMDUsingMask-v1.rst b/Code/Mantid/docs/source/algorithms/SetMDUsingMask-v1.rst new file mode 100644 index 000000000000..770a2efc4ffe --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SetMDUsingMask-v1.rst @@ -0,0 +1,36 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm is used to replace values in a +`MDHistoWorkspace `__ but only at particular points. + +A mask MDHistoWorkspace is provided, where non-zero values indicate +'true'. At these points, the corresponding value in the ValueWorkspace +will be set. Any 'false' points in the MaskWorkspace are skipped. + +If ValueWorkspace is not specified, the you must specify Value, which is +a a simple number to set. + +In matlab, the equivalent function call would be WS[mask] = +OtherWS[mask] + +See `this page on boolean +operations `__ for examples of how +to create a mask. + +Usage (Python) +-------------- + +| ``# This will zero-out any values below the threshold of 123`` +| ``MaskWS = WS < 123`` +| ``ModifiedWS = SetMDUsingMask(InputWorkspace=WS, Value="0", MaskWorkspace=MaskWS)`` + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SetSampleMaterial-v1.rst b/Code/Mantid/docs/source/algorithms/SetSampleMaterial-v1.rst new file mode 100644 index 000000000000..b3650adeabfc --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SetSampleMaterial-v1.rst @@ -0,0 +1,25 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Sets the neutrons information in the sample. You can either enter +details about the chemical formula or atomic number, or you can provide +specific values for the attenuation and scattering cross sections and +the sample number density. If you decide to provide specific values you +must give values for all three (attenuation and scattering cross +sections and the sample number density), and any formula information +will be ignored. If you miss any of the three specific values then the +other will be ignored. + +Neutron scattering lengths and cross sections of the elements and their +isotopes have been taken from +`1 `__. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SetScalingPSD-v1.rst b/Code/Mantid/docs/source/algorithms/SetScalingPSD-v1.rst new file mode 100644 index 000000000000..ffe4351f7966 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SetScalingPSD-v1.rst @@ -0,0 +1,75 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm was developed for the Merlin instrument but may be used +with other instruments if appropriate scaling data is available. The +scaling data should give the true centre point location of each pixel +detector in the instrument. This may be obtained by a calibration run +and post-processing of the results. Since the calibration data may vary +with time, it is not convenient to store it in the instrument XML +definition file. Instead it can be stored as an ACSII file with the +extension ".sca" or within the ".raw" file associated with the data, as +data on the position of each detector (r,theta,phi). + +A scaling file (extension .sca) is expected to be an ASCII file with +three header lines. Of these, only the second line is actual read and +the first item on this line should give the number of detectors +described by the file as an integer value. Each subsequent line after +the first three will give the information for one detector with at least +the five ordered values detector\_ID, detector\_offset, l2, code, theta +and phi. Of these values only the detector\_ID and the new position (l2, +theta, phi) are used. The latter three values are taken as defining the +true position of the detector in spherical polar coordinates relative to +the origin (sample position). If a raw file is given the true positions +are taken from this instead. + +This algorithm creates a parameter map for the instrument that applies a +shift to each detector so that is at the correct position. Monitors are +not moved. Because the shift of detector locations can alter the +effective width of the pixel it is necessary to apply a scaling factor. +While each shift can have components in all three primary axes (X,Y,Z), +it is assumed that a single PSD will maintain the co-linear nature of +pixel centres. The width scaling factor for a pixel i is approximated as +average of the left and right side scalings cased by the change in +relative spacings with respect to neighbour pixels. End of detector +pixels only have one scaling value to use. It is assumed that the +scaling is both small and smooth so that the approximate scaling is +reasonable. + +Scaling and position correction will be reflected in properties of the +detector objects including values such as the solid angle, bounding box, +etc. The detector numbering in Merlin uses sequential numbers for pixels +within a PSD and non-sequential jumps between PSDs. This algorithm uses +these jumps to identify individual PSDs. + +To apply this algorithm to instruments other than Merlin it may be +necessary to modify the code depending on the type of detectors present +and how they are numbered. + +If the tube detector performance enhancement is used the results of the +algorithm will not be visible in the instrument view in MantidPlot, at +the same time all calclations will be performed correctly. + +Optional properties +################### + +ScalingOpt - this integer value controls the way in which the scaling is +calculated for pixels that have both left and right values for the +scaling. The default is to just average the two together. Setting this +to 1 causes the maximum scaling to be used and setting it to 2 uses the +maximum scaling plus 5% to be used. + +ChildAlgorithms used +#################### + +None + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SetSpecialCoordinates-v1.rst b/Code/Mantid/docs/source/algorithms/SetSpecialCoordinates-v1.rst new file mode 100644 index 000000000000..299484880151 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SetSpecialCoordinates-v1.rst @@ -0,0 +1,32 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +`MDEventWorkspaces `__ and +`MDHistoWorkspaces `__ can be used with any type of +coordinate system. On the other hand +`PeaksWorkspaces `__ may be plotted either in QLab, +QSample or HKL. There is an inherent link between a PeaksWorkspace and a +MDWorkspace in that an MDWorkspace may utilise the same coordinate +systems as the PeaksWorkspaces. For example, workspaces created via +:ref:`algm-ConvertToMD` or +:ref:`algm-ConvertToDiffractionMDWorkspace` +may be generated in a special set of V3D coordinates, which are the same +as those for the PeaksWorkspace (QLab, QSample, HKL). Amongst other +usages, in order to be able to simultaneously plot MDWorkspaces and +PeaksWorkspaces, it is necessary to be able to determine what (if any) +special coordinates the Workspaces were created in, or are currently +using. + +This algorithm is for backwards compatibility. The special coordinates +flags are new, and legacy workspaces will need to be corrected in order +for them to work as expected with the Mantid tools. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SetUB-v1.rst b/Code/Mantid/docs/source/algorithms/SetUB-v1.rst new file mode 100644 index 000000000000..8dd3ff88b08c --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SetUB-v1.rst @@ -0,0 +1,24 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The algorithms will attach an OrientedLattice object to a sample in the +workspace. For MD workspaces, you can select to which sample to attach +it. If nothing entered, it will attach to all. If bad number is +enetered, it will attach to first sample. + +If UB matrix elements are entered, lattice parameters and orientation +vectors are ignored. The algorithm will throw an exception if the +determinant is 0. If the UB matrix is all zeros (default), it will +calculate it from lattice parameters and orientation vectors. The +algorithm will throw an exception if u and v are collinear, or one of +them is very small in magnitude. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SetUncertainties-v1.rst b/Code/Mantid/docs/source/algorithms/SetUncertainties-v1.rst new file mode 100644 index 000000000000..c4554e52ebb2 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SetUncertainties-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + + + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SetupEQSANSReduction-v1.rst b/Code/Mantid/docs/source/algorithms/SetupEQSANSReduction-v1.rst new file mode 100644 index 000000000000..0dbb0bbb7933 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SetupEQSANSReduction-v1.rst @@ -0,0 +1,20 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Create a PropertyManager object setting the reduction options for +EQSANS. The property manager object is then added to the +PropertyManagerDataService. + +See `SANS +Reduction `__ +documentation for details. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SetupHFIRReduction-v1.rst b/Code/Mantid/docs/source/algorithms/SetupHFIRReduction-v1.rst new file mode 100644 index 000000000000..a5e63b63bfa5 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SetupHFIRReduction-v1.rst @@ -0,0 +1,20 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Create a PropertyManager object setting the reduction options for HFIR +SANS. The property manager object is then added to the +PropertyManagerDataService. + +See `SANS +Reduction `__ +documentation for details. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SetupILLD33Reduction-v1.rst b/Code/Mantid/docs/source/algorithms/SetupILLD33Reduction-v1.rst new file mode 100644 index 000000000000..d345100f24ea --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SetupILLD33Reduction-v1.rst @@ -0,0 +1,20 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Create a PropertyManager object setting the reduction options for ILL +D33 SANS TOF instrument. The property manager object is then added to +the PropertyManagerDataService. + +See `SANS +Reduction `__ +documentation for details. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ShiftLogTime-v1.rst b/Code/Mantid/docs/source/algorithms/ShiftLogTime-v1.rst new file mode 100644 index 000000000000..c4554e52ebb2 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ShiftLogTime-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + + + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ShowPeakHKLOffsets-v1.rst b/Code/Mantid/docs/source/algorithms/ShowPeakHKLOffsets-v1.rst new file mode 100644 index 000000000000..733e88cfe39e --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ShowPeakHKLOffsets-v1.rst @@ -0,0 +1,20 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Creates a TableWorkspace with offsets of h,k,and l from an integer along +with bank and run number. + +The maximum of these offsets is also included. + +Histograms, scatterplots, etc. of this data can be used to detect +problems. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ShowPossibleCells-v1.rst b/Code/Mantid/docs/source/algorithms/ShowPossibleCells-v1.rst new file mode 100644 index 000000000000..6bfbd635650c --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ShowPossibleCells-v1.rst @@ -0,0 +1,28 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Given a PeaksWorkspace with a UB matrix corresponding to a Niggli +reduced cell, this algorithm will display a list of possible +conventional cells. The max scalar error property sets a limit on the +maximum allowed error in the cell scalars, to restrict the list to +possible cells that are a good match for the current reduced cell. The +list can also be forced to contain only the best fitting conventional +cell for each Bravais lattice type, by setting the best only property to +true. + +This algorithm is based on the paper: "Lattice Symmetry and +Identification -- The Fundamental Role of Reduced Cells in Materials +Characterization", Alan D. Mighell, Vol. 106, Number 6, Nov-Dec 2001, +Journal of Research of the National Institute of Standards and +Technology, available from: +nvlpubs.nist.gov/nistpubs/jres/106/6/j66mig.pdf. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SignalOverError-v1.rst b/Code/Mantid/docs/source/algorithms/SignalOverError-v1.rst new file mode 100644 index 000000000000..b4beb756eef2 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SignalOverError-v1.rst @@ -0,0 +1,15 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Take a `MatrixWorkspace `__ as input, and replaces the +Y values by Y/E (signal divided by error) + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SimulateResolutionConvolvedModel-v1.rst b/Code/Mantid/docs/source/algorithms/SimulateResolutionConvolvedModel-v1.rst new file mode 100644 index 000000000000..a5f1546193ff --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SimulateResolutionConvolvedModel-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Runs a simulation of a model with a selected resolution function. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SliceMD-v1.rst b/Code/Mantid/docs/source/algorithms/SliceMD-v1.rst new file mode 100644 index 000000000000..d78bc52d43f3 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SliceMD-v1.rst @@ -0,0 +1,64 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Algorithm that can take a slice out of an original +`MDEventWorkspace `__ while preserving all the events +contained therein. + +It uses the same parameters as :ref:`algm-BinMD` to determine a +transformation to make from input->output workspace. The difference is +that :ref:`algm-BinMD` sums events in a regular grid whereas SliceMD +moves the events into the output workspace, which boxes itself. + +Please see :ref:`algm-BinMD` for a detailed description of the +parameters. + +Axis-Aligned Slice +################## + +Events outside the range of the slice are dropped. The new output +MDEventWorkspace's dimensions only extend as far as the limit specified. + +Non-Axis-Aligned Slice +###################### + +The coordinates of each event are transformed according to the new basis +vectors, and placed in the output MDEventWorkspace. The dimensions of +the output workspace are along the basis vectors specified. + +Splitting Parameters +#################### + +The **OutputBins** parameter is interpreted as the "SplitInto" parameter +for each dimension. For instance, if you want the output workspace to +split in 2x2x2, you would specify OutputBins="2,2,2". + +For 1D slices, it may make sense to specify a SplitInto parameter of 1 +in every other dimension - that way, boxes will only be split along the +1D direction. + +Slicing a MDHistoWorkspace +########################## + +It is possible to slice a `MDHistoWorkspace `__. Each +MDHistoWorkspace holds a reference to the +`MDEventWorkspace `__ that created it, as well as the +coordinate transformation that was used. + +In this case, the algorithm is executed on the original +MDEventWorkspace, in the proper coordinates. Perhaps surprisingly, the +output of SliceMD on a MDHistoWorkspace is a MDEventWorkspace! + +Only the non-axis aligned slice method can be performed on a +MDHistoWorkspace! Of course, your basis vectors can be aligned with the +dimensions, which is equivalent. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SmoothData-v1.rst b/Code/Mantid/docs/source/algorithms/SmoothData-v1.rst new file mode 100644 index 000000000000..3fd5922ebb67 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SmoothData-v1.rst @@ -0,0 +1,22 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Smooths out statistical jitter in a workspace's data by making each +point the mean average of itself and one or more points lying +symmetrically either side of it. The statistical error on each point +will be reduced by sqrt(npts) because more data is now contributing to +it. For points at the end of each spectrum, a reduced number of +smoothing points will be used. For example, if NPoints is 5 the first +value in the spectrum will be smoothed by making it the average of the +first 3 values, the next will use the first 4 and then the third and +onwards will use the full 5 points in the averaging. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SmoothNeighbours-v1.rst b/Code/Mantid/docs/source/algorithms/SmoothNeighbours-v1.rst new file mode 100644 index 000000000000..83e451e82af4 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SmoothNeighbours-v1.rst @@ -0,0 +1,159 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm performs a moving-average smoothing of data by summing +spectra of nearest neighbours over the face of detectors. The output +workspace has the same number of spectra as the input workspace. This +works on both `EventWorkspaces `__ and +`Workspace2D `__'s. It has two main modes of operation. + +Processing Either Generically or Assuming Rectangular Detectors +############################################################### + +You may either specify properties for the Rectangular Detector Group, or +the Non-uniform Detector Group, but not both. If you provide inputs for +the Rectangular Detector group, then the algorithm execution will assume +that this is your desired processing route. + +For All Instruments +################### + +Going through the input workspace pixel-by-pixel, Mantid finds the +nearest-neighbours with the given Radius of each pixel. The spectra are +then summed together, and normalizing to unity (see the weighting +section below). + +For Instruments With Rectangular Detectors +########################################## + +The algorithm looks through the `Instrument `__ to find all +the `RectangularDetectors `__ defined. For each +pixel in each detector, the AdjX\*AdjY neighboring spectra are summed +together and saved in the output workspace. + +WeightedSum parameter +##################### + +A weighting strategy can be applied to control how the weights are +calculated. This defaults to a flat weighting strategy. Weights are +summed and scaled so that they add up to 1. + +Flat Weighting +############## + +All weights are 1. This is completely position in-senitive. + +Linear Weighting +################ + +Weights are calculated according to :math:`w = 1 - r/R`, where w is the +weighting factor, r is the distance from the detector and R is the +cut-off radius. + +Parabolic Weighting +################### + +For rectangular detectors it may be used as follows: The radius must be +zero and a AdjX and AdjY parameter must be provided. +:math:`w = AdjX - abs(x) + AdjY - abs(y) + 1` + +For non-rectangular detectors, the cut-off radius is used in the +calculation. :math:`w = R - abs(x) + R - abs(y) + 1` + +Gaussian Weighting +################## + +This weighting is calculated from the Gaussian distribution + +:math:`w = e^{-r^2/(2\sigma^2)}` + +where :math:`r^2 = x^2 + y^2 + z^2` and :math:`\sigma` is the number of +standard deviations controlling the width of the distribution curve + +Important notes about this algorithm are that: + +- Distances are normalised by the radius cut-off to make them + dimensionless and scaled to 1 at the boundaries. + +For EventWorkspaces +################### + +Both methods of smoothing will **significantly** increase the memory +usage of the workspace. For example, if AdjX=AdjY=1, the algorithm will +sum 9 nearest neighbours in most cases. This increases the memory used +by a factor of 9. + +For Workspace2D's +################# + +You can use PreserveEvents = false to avoid the memory issues with an +EventWorkspace input. Please note that the algorithm **does not check** +that the bin X boundaries match. + +Neighbour Searching +################### + +File:NNSearchByRadius.jpg\ \|\ *Fig. 1*. +File:NNSearchIrregularGrid.jpg\ \|\ *Fig. 2*. +File:NNSearchLimitByRadius.jpg\ \|\ *Fig. 3* +File:NNSearchLimitByNNs.jpg\ \|\ *Fig. 4* File:NNSearchXY.jpg\ \|\ *Fig. +5* + +Property Values of Examples +########################### + +| *Fig. 1* : Requesting NumberOfNeighbours=36, Radius=3. Algorithm looks +for 36 nearest neighbours with a cut-off of 3 detector widths. +| *Fig. 2* : Requesting NumberOfNeighbours=46, Radius=2. Algorithm looks +for 46 nearest neighbours with a cut-off of 2 detector widths. +| *Fig. 3* : Requesting NumberOfNeighbours=56, Radius=3. Algorithm looks +for 56 nearest neighbours with a cut-off of 3 detector widths. +| *Fig. 4* : Requesting NumberOfNeighbours=8, Radius=3. Algorithm looks +for 8 nearest neighbours with a cut-off of 3 detector widths. +| *Fig. 5* : Requesting AdjX=4, AdjY=2, Radius=0. Algorithm fetches +neighbours in the specified pattern. + +How it Works +############ + +The algorithm will fetch neigbours using the intesection of those inside +the radius cut-off and those less than the NumberOfNeighbours specified. +*Fig. 1* illustrates this process. Searching is relative to the central +detector, those constrained by both specified number of neighbours have +been highlighted. In this case the radius cut-off and the number of +neighbours constrain the same number of detectors. + +Searching via the number of neighbours will not necessarily return the +neighbours in a grid with the same number of detectors in each axis. +*Fig. 2* shows how neighbours might be returned if distances are +non-uniform. If RectangularDetectors are available, you may force the +searching to occur in rectangular manner (described below). + +The SmoothingNeighbours algorithm will only take those neighbours which +are in the intersection between those constrained by the cut-off and +those constrained by the specified number of neighbours. If the radius +cut-off is the limiting factor, then those neighbours outside will not +be considered. This is illustrated in *Fig. 3* where the blue detectors +will not be considered, but will not with this radius cut-off, while the +green ones will. Likewise, in *Fig. 4* the effect of reducing the +NumberOfNeighbours property can be seen. + +If the radius is set to 0, the instrument is treated as though it has +rectangular detectors. AdjX and AdjY can then be used to control the +number of neighbours independently in x and y using the AdjX and AdjY +properties. *Fig. 5* Shows the effect of this type of searching. + +Ignore Masks +############ + +The algorithm will ignore masked detectors if this flag is set. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SofQW-v1.rst b/Code/Mantid/docs/source/algorithms/SofQW-v1.rst new file mode 100644 index 000000000000..826d72298c51 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SofQW-v1.rst @@ -0,0 +1,29 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm is for use by inelastic instruments and takes as its +input a workspace where the data's been reduced to be in units of energy +transfer against spectrum number (which can be seen as equivalent to +angle, with the angle being taken from the detector(s) to which the +spectrum pertains). For each bin the value of momentum transfer +(:math:`q`) is calculated, and the counts for that bin are assigned to +the appropriate :math:`q` bin. + +The energy binning will not be changed by this algorithm, so the input +workspace should already have the desired bins (though this axis can be +rebinned afterwards if desired). The EMode and EFixed parameters are +required for the calculation of :math:`q`. + +If the input workspace is a distribution (i.e. counts / meV ) then the +output workspace will similarly be divided by the bin width in both +directions (i.e. will contain counts / meV / (1/Angstrom) ). + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SofQW2-v1.rst b/Code/Mantid/docs/source/algorithms/SofQW2-v1.rst new file mode 100644 index 000000000000..941b7c5b956f --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SofQW2-v1.rst @@ -0,0 +1,16 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Converts a 2D workspace from units of spectrum number/energy transfer to +the intensity as a function of momentum transfer and energy. The +rebinning is done as a weighted sum of overlapping polygons. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SofQW3-v1.rst b/Code/Mantid/docs/source/algorithms/SofQW3-v1.rst new file mode 100644 index 000000000000..2f02ca9d0f37 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SofQW3-v1.rst @@ -0,0 +1,29 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Converts a 2D workspace from units of spectrum number, energy transfer +to the intensity as a function of momentum transfer and energy. The +rebinning is done as a weighted sum of overlapping polygons with +fractional area tracking. The result is stored in a new workspace type: +**RebinnedOutput**. The new workspace presents the data as the +fractional counts divided by the fractional area. The biggest +consequence of this method is that in places where there are no counts +and no acceptance (no fractional areas), **nan**\ s will result. + +The algorithm operates in non-PSD mode by default. This means that all +azimuthal angles and widths are forced to zero. PSD mode will determine +the azimuthal angles and widths from the instrument geometry. This mode +is activated by placing the following named parameter in a Parameter +file: *detector-neighbour-offset*. The integer value of this parameter +should be the number of pixels that separates two pixels at the same +vertical position in adjacent tubes. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SofQWMoments-v1.rst b/Code/Mantid/docs/source/algorithms/SofQWMoments-v1.rst new file mode 100644 index 000000000000..e21f57f1a111 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SofQWMoments-v1.rst @@ -0,0 +1,16 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Calculates the :math:`n^{th}` moment :math:`M_n` of :math:`y(Q,w)` where +:math:`M_n` is the integral of :math:`w^n*y(Q,w)` over all w for +:math:`n=0` to 4. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SolidAngle-v1.rst b/Code/Mantid/docs/source/algorithms/SolidAngle-v1.rst new file mode 100644 index 000000000000..18a3ab1edb50 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SolidAngle-v1.rst @@ -0,0 +1,28 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The algorithm calculates solid angles from the sample position of the +input workspace for all of the spectra selected. If several detectors +have been mapped to the same spectrum then the solid angles of this +detectors will be summed to provide the solid angle for the spectrum. +The solid angle of a detector that has been masked or marked as dead is +considered to be 0 steradians. + +This algorithms can happily accept `ragged +workspaces `__ as an input workspace. The result would +be a ragged output workspace whose X axis values match the lowest and +highest of each the input spectra. + +Note: The Solid angle calculation assumes that the path between the +sample and detector is unobstructed by another other instrument +components. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SortByQVectors-v1.rst b/Code/Mantid/docs/source/algorithms/SortByQVectors-v1.rst new file mode 100644 index 000000000000..d64fa352346d --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SortByQVectors-v1.rst @@ -0,0 +1,16 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm sorts a group workspace by the qvectors found in the +qvectors file. Workspaces will be tranformed if the qvectors dimension +is in the bins. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SortDetectors-v1.rst b/Code/Mantid/docs/source/algorithms/SortDetectors-v1.rst new file mode 100644 index 000000000000..5188ea3acac4 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SortDetectors-v1.rst @@ -0,0 +1,15 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Algorithm to sort detectors by distance. Will return arrays for upstream +(downstrem) spectrum number and detector distances, ordered by distance. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SortEvents-v1.rst b/Code/Mantid/docs/source/algorithms/SortEvents-v1.rst new file mode 100644 index 000000000000..845f7e73f9db --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SortEvents-v1.rst @@ -0,0 +1,20 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +In an `EventWorkspace `__, event binning is performed on +the fly. The algorithm for binning requires a list of events sorted by +time of flight, so it will perform a sort (once) on each pixel - +however, this is done on request and without using multiple CPUs). To +speed up the calculation, the Sort algorithm pre-sorts by Time of +Flight, using multiple CPUs. Using this algorithm is completely +optional. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SortHKL-v1.rst b/Code/Mantid/docs/source/algorithms/SortHKL-v1.rst new file mode 100644 index 000000000000..dbabfdf96fa8 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SortHKL-v1.rst @@ -0,0 +1,17 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Peaks are sorted first by H, then K, and then L. For equivalent HKL in +the point group, the intensity is averaged and all the equivalent HKLs +have the same average intensity. Outliers with zscore > 3 from each +group of equivalent HKLs are not included in the average. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SortPeaksWorkspace-v1.rst b/Code/Mantid/docs/source/algorithms/SortPeaksWorkspace-v1.rst new file mode 100644 index 000000000000..68897c21bd5e --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SortPeaksWorkspace-v1.rst @@ -0,0 +1,18 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Sort a peaks workspace by a single column. Sorting of that +PeaksWorkspace by that column can either happen in an ascending or +descending fashion. The algorithm can either be used to generate a new +OutputWorkspace, which is sorted as requested, or to perform an in-place +sort of the InputWorkspace. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SortXAxis-v1.rst b/Code/Mantid/docs/source/algorithms/SortXAxis-v1.rst new file mode 100644 index 000000000000..003e8e33124e --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SortXAxis-v1.rst @@ -0,0 +1,22 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Clones the input `Matrix Workspaces `__ and orders the +x-axis in an ascending fashion. Ensures that the y-axis and error data +is sorted in a consistent way with the x-axis. All x-values of the input +workspace MUST be in either a descending or ascending fashion before +passing to this algorithm. + +This algorithm is for use with small workspaces loaded. It is +particularly suitable for reformatting workspaces loaded via +`LoadASCII `__. Input workspaces must be a distribution. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SpatialGrouping-v1.rst b/Code/Mantid/docs/source/algorithms/SpatialGrouping-v1.rst new file mode 100644 index 000000000000..d837dc5fee29 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SpatialGrouping-v1.rst @@ -0,0 +1,25 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm creates an XML Grouping file of the form: + +.. code-block:: xml + + + + + + + +Based on information retrieved from the `Nearest +Neighbours `__ class in Mantid Geometry. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SpecularReflectionCalculateTheta-v1.rst b/Code/Mantid/docs/source/algorithms/SpecularReflectionCalculateTheta-v1.rst new file mode 100644 index 000000000000..51dcf7e74dd9 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SpecularReflectionCalculateTheta-v1.rst @@ -0,0 +1,22 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Uses the Specular reflection condition ThetaIn == ThetaOut to calculate +and return a corrected ThetaIn. + +:math:`2*ThetaOut = tan^{-1}\frac{UpOffset}{BeamOffset}` + +The calculated theta value in degrees is returned by the algorithm. + +Also see +:ref:`algm-SpecularReflectionPositionCorrect` + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SpecularReflectionPositionCorrect-v1.rst b/Code/Mantid/docs/source/algorithms/SpecularReflectionPositionCorrect-v1.rst new file mode 100644 index 000000000000..13a051fc367a --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SpecularReflectionPositionCorrect-v1.rst @@ -0,0 +1,24 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Uses the specular reflection condition along with a supplied theta value +to vertically shift the detectors into a corrected location. + +ThetaIn == ThetaOut + +and + +:math:`2*ThetaOut = tan^{-1}\frac{UpOffset}{BeamOffset}` + +For LineDetectors and MultiDetectors, the algorithm uses an average of +grouped detector locations to determine the detector position. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SphericalAbsorption-v1.rst b/Code/Mantid/docs/source/algorithms/SphericalAbsorption-v1.rst new file mode 100644 index 000000000000..3ffb71cd1416 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SphericalAbsorption-v1.rst @@ -0,0 +1,17 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Calculates bin-by-bin correction factors for attenuation due to +absorption and scattering in a **spherical** sample. Sample data must be +divided by these corrections. Algorithm calls +:ref:`algm-AnvredCorrection`. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SplineBackground-v1.rst b/Code/Mantid/docs/source/algorithms/SplineBackground-v1.rst new file mode 100644 index 000000000000..79437bde4c8c --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SplineBackground-v1.rst @@ -0,0 +1,17 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +SplineBackground uses GSL b-spline and fitting functions to fit a +spectrum. Masked bins are excluded from the fit making it possible to +fit only the background signal. The output workspace has one spectrum of +calculated values and the fitting errors. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SplineInterpolation-v1.rst b/Code/Mantid/docs/source/algorithms/SplineInterpolation-v1.rst new file mode 100644 index 000000000000..542f9f77fee7 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SplineInterpolation-v1.rst @@ -0,0 +1,40 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The algorithm performs interpolation of points onto a cubic spline. The +algorithm takes two input workspaces: one that is used to define the +spline and one that contains a number of spectra to be interpolated onto +the spline. + +If multiple spectra are defined in the WorkspaceToInterpolate workspace, +they will all be interpolated against the first spectra in +WorkspaceToMatch. + +Optionally, this algorithm can also calculate the first and second +derivatives of each of the interpolated points as a side product. +Setting the DerivOrder property to zero will force the algorithm to +calculate no derivatives. + +For Histogram Workspaces +######################## + +If the input workspace contains histograms, rather than data points, +then SplineInterpolation will automatically convert the input to point +data. The output returned with be in the same format as the input. + +Histogram workspaces being interpolated will show a warning when the +range of the data is equal to the size of the workspace to match, but +has finer bin boundaries. This is because histogram data is converted to +point data using the average of the bin boundaries. This will cause some +values to fall outside of the range of the spline when fine bin +boundaries are used. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SplineSmoothing-v1.rst b/Code/Mantid/docs/source/algorithms/SplineSmoothing-v1.rst new file mode 100644 index 000000000000..edde86a3a64d --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SplineSmoothing-v1.rst @@ -0,0 +1,28 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The algorithm performs a smoothing of the input data using a cubic +spline. The algorithm takes a 2D workspace and generates a spline for +each of the spectra to approximate a fit of the data. + +Optionally, this algorithm can also calculate the first and second +derivatives of each of the interpolated points as a side product. +Setting the DerivOrder property to zero will force the algorithm to +calculate no derivatives. + +For Histogram Workspaces +######################## + +If the input workspace contains histograms, rather than data points, +then SplineInterpolation will automatically convert the input to point +data. The output returned with be in the same format as the input. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/Squares-v1.rst b/Code/Mantid/docs/source/algorithms/Squares-v1.rst new file mode 100644 index 000000000000..a3a21f78b01d --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/Squares-v1.rst @@ -0,0 +1,16 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +An example algorithm. + +The wiki description of the algorithm should go here. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/StartLiveData-v1.rst b/Code/Mantid/docs/source/algorithms/StartLiveData-v1.rst new file mode 100644 index 000000000000..616ef14412c8 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/StartLiveData-v1.rst @@ -0,0 +1,77 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The StartLiveData algorithm launches a background job that monitors and +processes live data. + +The background algorithm started is +:ref:`algm-MonitorLiveData`, which simply calls +:ref:`algm-LoadLiveData` at a fixed interval. + +For details on the way to specify the data processing steps, see: +`LoadLiveData `__. + +Live Plots +########## + +Once live data monitoring has started, you can open a plot in +MantidPlot. For example, you can right-click a workspace and choose +"Plot Spectra". + +As the data is acquired, this plot updates automatically. + +Another way to start plots is to use `python MantidPlot +commands `__. The +StartLiveData algorithm returns after the first chunk of data has been +loaded and processed. This makes it simple to write a script that will +open a live plot. For example: + +.. code-block:: python + + StartLiveData(UpdateEvery='1.0',Instrument='FakeEventDataListener', + ProcessingAlgorithm='Rebin',ProcessingProperties='Params=10e3,1000,60e3;PreserveEvents=1', + OutputWorkspace='live') + plotSpectrum('live', [0,1]) + +Run Transition Behavior +####################### + +- When the experimenter starts and stops a run, the Live Data Listener + receives this as a signal. +- The *RunTransitionBehavior* property specifies what to do at these + run transitions. + + - Restart: the accumulated data (from the previous run if a run has + just ended or from the time between runs a if a run has just + started) is discarded as soon as the next chunk of data arrives. + - Stop: live data monitoring ends. It will have to be restarted + manually. + - Rename: the previous workspaces are renamed, and monitoring + continues with cleared ones. The run number, if found, is used to + rename the old workspaces. + + - There is a check for available memory before renaming; if there + is not enough memory, the old data is discarded. + +- Note that LiveData continues monitoring even if outside of a run + (i.e. before a run begins you will still receive live data). + +Multiple Live Data Sessions +########################### + +It is possible to have multiple live data sessions running at the same +time. Simply call StartLiveData more than once, but make sure to specify +unique names for the *OutputWorkspace*. + +Please note that you may be limited in how much simultaneous processing +you can do by your available memory and CPUs. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/StartRemoteTransaction-v1.rst b/Code/Mantid/docs/source/algorithms/StartRemoteTransaction-v1.rst new file mode 100644 index 000000000000..9b38917f4148 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/StartRemoteTransaction-v1.rst @@ -0,0 +1,17 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Start a job transaction on a remote compute resource. + +For more details, see the `remote job submission API +docs `__. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/StepScan-v1.rst b/Code/Mantid/docs/source/algorithms/StepScan-v1.rst new file mode 100644 index 000000000000..0608bdec5b6f --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/StepScan-v1.rst @@ -0,0 +1,26 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm is for producing rocking curves from alignment scan runs. +It is for use only with ADARA-style SNS datasets as it requires the +'scan\_index' log variable. + +The algorithm optionally uses the :ref:`algm-MaskDetectors` +and/or :ref:`algm-FilterByXValue` algorithms to restrict the +region of data included. **N.B. If these options are used, then this +algorithm will modify the input workspace.** + +The :ref:`algm-SumEventsByLogValue` algorithm is then +called, with 'scan\_index' as the log to sum against. The row of the +resulting table pertaining to scan\_index=0 (which indicates 'not a scan +point') is then removed. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/Stitch1D-v3.rst b/Code/Mantid/docs/source/algorithms/Stitch1D-v3.rst new file mode 100644 index 000000000000..efad264f107c --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/Stitch1D-v3.rst @@ -0,0 +1,25 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Stitches single histogram `Matrix Workspaces `__ +together outputting a stitched Matrix Workspace. Either the +right-hand-side or left-hand-side workspace can be chosen to be scaled. +Users must provide a Param step (single value), but the binning start +and end are calculated from the input workspaces if not provided. +Likewise, StartOverlap and EndOverlap are optional. If the StartOverlap +or EndOverlap are not provided, then these are taken to be the region of +x-axis intersection. + +The workspaces must be histogrammed. Use +:ref:`algm-ConvertToHistogram` on workspaces prior to +passing them to this algorithm. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/Stitch1DMD-v1.rst b/Code/Mantid/docs/source/algorithms/Stitch1DMD-v1.rst new file mode 100644 index 000000000000..3a31d45e604b --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/Stitch1DMD-v1.rst @@ -0,0 +1,23 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Performs 1D stitching of Reflectometry 2D MDHistoWorkspaces. Based on +the Quick script developed at ISIS. This only works on 1D Histogrammed +MD Workspaces. + +Scales either the LHS or RHS workspace by some scale factor which, can +be manually specified, or calculated from the overlap. + +Calculates the weighted mean values in the overlap region and then +combines the overlap region with the difference of the LHS and RHS +workspaces + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/Stitch1DMany-v1.rst b/Code/Mantid/docs/source/algorithms/Stitch1DMany-v1.rst new file mode 100644 index 000000000000..de8f999c9464 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/Stitch1DMany-v1.rst @@ -0,0 +1,26 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Stitches single histogram `Matrix Workspaces `__ +together outputting a stitched Matrix Workspace. This algorithm is a +wrapper over :ref:`algm-Stitch1D`. + +The algorithm expects pairs of StartOverlaps and EndOverlaps values. The +order in which these are provided determines the pairing. There should +be N entries in each of these StartOverlaps and EndOverlaps lists, where +N = 1 -(No of workspaces to stitch). StartOverlaps and EndOverlaps are +in the same units as the X-axis for the workspace and are optional. + +The workspaces must be histogrammed. Use +:ref:`algm-ConvertToHistogram` on workspaces prior to +passing them to this algorithm. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/StopRemoteTransaction-v1.rst b/Code/Mantid/docs/source/algorithms/StopRemoteTransaction-v1.rst new file mode 100644 index 000000000000..3ca2ef82bd32 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/StopRemoteTransaction-v1.rst @@ -0,0 +1,17 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Stop a job transaction on a remote compute resource. + +For more details, see the `remote job submission API +docs `__. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/StripPeaks-v1.rst b/Code/Mantid/docs/source/algorithms/StripPeaks-v1.rst new file mode 100644 index 000000000000..5290e8456b74 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/StripPeaks-v1.rst @@ -0,0 +1,21 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm is intended to automatically find all the peaks in a +dataset and subtract them, leaving just the residual 'background'. + +ChildAlgorithms used +#################### + +The :ref:`algm-FindPeaks` algorithm is used to identify the peaks in +the data. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/StripVanadiumPeaks-v1.rst b/Code/Mantid/docs/source/algorithms/StripVanadiumPeaks-v1.rst new file mode 100644 index 000000000000..4b86d445c9af --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/StripVanadiumPeaks-v1.rst @@ -0,0 +1,30 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +- A list of vanadium peak positions in d-spacing is used for the + central peak positions: + 0.5044,0.5191,0.5350,0.5526,0.5936,0.6178,0.6453,0.6768,0.7134,0.7566,0.8089,0.8737,0.9571,1.0701,1.2356,1.5133,2.1401 + + - You can specify AlternativePeakPositions to use other value (e.g. + in other units). + +- The PeakWidthPercent value is used to estimate the width of the peak + (as a percentage of the d-spacing value). +- The algorithm performs a simple linear fit of the background exluding + the peak. + + - It uses two use averaging regions of 1/2 width, centered at +- + width/2 from the center, and interpolates the linear background + from it. + - The values between the average regions are replaced with the + interpolated linear background drawn as a straight line. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/StripVanadiumPeaks-v2.rst b/Code/Mantid/docs/source/algorithms/StripVanadiumPeaks-v2.rst new file mode 100644 index 000000000000..30930afa4bb5 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/StripVanadiumPeaks-v2.rst @@ -0,0 +1,22 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +- A list of vanadium peak positions in d-spacing is used for the + central peak positions: + 0.5044,0.5191,0.5350,0.5526,0.5936,0.6178,0.6453,0.6768,0.7134,0.7566,0.8089,0.8737,0.9571,1.0701,1.2356,1.5133,2.1401 + +- StripPeaks is called by providing the list of vanadium peak + positions. + +- The vanadium peaks are fit to a function combined from Gaussian and + linear/quadratic background. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SubmitRemoteJob-v1.rst b/Code/Mantid/docs/source/algorithms/SubmitRemoteJob-v1.rst new file mode 100644 index 000000000000..8647b662d196 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SubmitRemoteJob-v1.rst @@ -0,0 +1,17 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Submit a job to be executed on the specified remote compute resource. + +For more details, see the `remote job submission API +docs `__. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SuggestTibCNCS-v1.rst b/Code/Mantid/docs/source/algorithms/SuggestTibCNCS-v1.rst new file mode 100644 index 000000000000..64457f3df458 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SuggestTibCNCS-v1.rst @@ -0,0 +1,19 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Suggest possible time independent background range for CNCS. It works +for incident energy range from 0.5 to 50 meV. By default TibMax is 500 +microseconds before the neutrons arrive at the sample, and TibMin is +3400 microseconds before Tibmax. This range is moved around if a prompt +pulse is in this interval, or it goes below the TOF frame minimum, or it +can be reduced to 2400 microseconds. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SuggestTibHYSPEC-v1.rst b/Code/Mantid/docs/source/algorithms/SuggestTibHYSPEC-v1.rst new file mode 100644 index 000000000000..6e786eb8d786 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SuggestTibHYSPEC-v1.rst @@ -0,0 +1,15 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Suggest possible time independent background range for HYSPEC. It works +for incident energy range from 3 to 100 meV. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SumEventsByLogValue-v1.rst b/Code/Mantid/docs/source/algorithms/SumEventsByLogValue-v1.rst new file mode 100644 index 000000000000..70c9e5e22a8c --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SumEventsByLogValue-v1.rst @@ -0,0 +1,51 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm counts up the events in a workspace against the values of +a log within the workspace. It will most commonly be used as a +sub-algorithm of the `RockingCurve `__ algorithm. + +The algorithm has two modes: + +Table output +############ + +This option can be used for integer-typed logs and will produce a table +with a row for each integer value between the minimum and maximum +contained in the log, and a further column containing the total events +for which the log had each value. Further columns will be added for: + +- Monitors, if any - this requires an event workspace with the same + name as the input workspace plus a '\_monitors' suffix (this is what + :ref:`algm-LoadEventNexus` will give). +- The total time duration, in seconds, during which the log had each + value. +- The integrated proton charge during the period(s) for which the log + had each value. +- The time-weighted average value of any other number-series logs which + had more than a single value during the run. + +**Warning:** This mode is intended for logs with a small range (e.g. +scan index, period number, status). Be aware that if it is used for a +log with a large range, it will create a table row for every integer +value between the minimum and maximum log value. This might take a long +time! + +Single-spectrum option +###################### + +This option can be used for integer or floating point type logs and +requires that the OutputBinning property is specified. It will produce a +single spectrum workspace where the X values are derived from the +OutputBinning property and the Y values are the total counts in each bin +of the log value. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SumNeighbours-v1.rst b/Code/Mantid/docs/source/algorithms/SumNeighbours-v1.rst new file mode 100644 index 000000000000..5e16ed93e037 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SumNeighbours-v1.rst @@ -0,0 +1,19 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The algorithm looks through the `Instrument `__ to find all +the `RectangularDetectors `__ defined. For each +detector, the SumX\*SumY neighboring event lists are summed together and +saved in the output workspace as a single spectrum. Therefore, the +output workspace will have 1/(SumX\*SumY) \* the original number of +spectra. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SumRowColumn-v1.rst b/Code/Mantid/docs/source/algorithms/SumRowColumn-v1.rst new file mode 100644 index 000000000000..bf2f03b29e8d --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SumRowColumn-v1.rst @@ -0,0 +1,25 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm is the equivalent of the COLETTE "DISPLAY H/V" command. +It firsts integrates the input workspace, which must contain all the +spectra from the detector of interest - no more and no less (so 128x128 +or 192x192), between the X values given. Then each row or column is +summed between the H/V\_Min/Max values, if given, and the result is a +single spectrum of row or column number against total counts. + +ChildAlgorithms used +#################### + +The :ref:`algm-Integration` algorithm is used to sum up each +spectrum between XMin & XMax. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/SumSpectra-v1.rst b/Code/Mantid/docs/source/algorithms/SumSpectra-v1.rst new file mode 100644 index 000000000000..01479e9d8ee0 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/SumSpectra-v1.rst @@ -0,0 +1,49 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Takes a workspace as input and sums all of the spectra within it +maintaining the existing bin structure and units. Any masked spectra are +ignored. The result is stored as a new workspace containing a single +spectra. + +The algorithm adds to the **OutputWorkspace** three additional +properties (Log values). The properties (Log) names are: +**"NumAllSpectra"**, **"NumMaskSpectra"** and **"NumZeroSpectra"**, +where: + +| ``  NumAllSpectra  -- is the number of spectra contributed to the sum`` +| ``  NumMaskSpectra -- the spectra dropped from the summations because they are masked. `` +| ``                    If monitors (``\ **``IncludeMonitors``**\ ``=false) are not included in the summation,`` +| ``                    they are not counted here. `` +| ``  NumZeroSpectra -- number of zero bins in histogram workspace or empty spectra for event workspace. `` +| ``                    These spectra are dropped from the summation of histogram workspace `` +| ``                    when ``\ **``WeightedSum``**\ `` property is set to True.`` + +Assuming **pWS** is the output workspace handle, from Python these +properties can be accessed by the code: + +| ``   nSpectra       = pWS.getRun().getLogData("NumAllSpectra").value`` +| ``   nMaskedSpectra = pWS.getRun().getLogData("NumMaskSpectra").value `` +| ``   nZeroSpectra   = pWS.getRun().getLogData("NumZeroSpectra").value`` + +It is also available in stats property obtained by qtiGenie function +avrg\_spectra + +| ``  (avrg,stats) = avrg_spectra(Input_workspace)`` +| ``   stats==[nSpectra,nMaskedSpectra,nZeroSpectra]`` + +From C++ they can be reached as strings by the code: + +| ``     std::string rez=pWS->run().getLogData("NumAllSpectra")->value();`` +| ``     std::string rez=pWS->run().getLogData("NumMaskSpectra")->value();`` +| ``     std::string rez=pWS->run().getLogData("NumZeroSpectra")->value();`` + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/Symmetrise-v1.rst b/Code/Mantid/docs/source/algorithms/Symmetrise-v1.rst new file mode 100644 index 000000000000..a4c4e02c66e1 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/Symmetrise-v1.rst @@ -0,0 +1,17 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Symmetrise takes an asymmetric :math:`S(Q,w)` - i.e. one in which the +moduli of xmin & xmax are different. Typically xmax is > mod(xmin). A +negative value of x is chosen (Xcut) so that the curve for mod(Xcut) to +xmax is reflected and inserted for x less than the Xcut. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/TOFSANSResolution-v1.rst b/Code/Mantid/docs/source/algorithms/TOFSANSResolution-v1.rst new file mode 100644 index 000000000000..31e726d96923 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/TOFSANSResolution-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Compute the Q resolution for a given I(Q) for a TOF SANS instrument. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/TestWorkspaceGroupProperty-v1.rst b/Code/Mantid/docs/source/algorithms/TestWorkspaceGroupProperty-v1.rst new file mode 100644 index 000000000000..4bbdfd734ae0 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/TestWorkspaceGroupProperty-v1.rst @@ -0,0 +1,14 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm is only used for testing. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ThresholdMD-v1.rst b/Code/Mantid/docs/source/algorithms/ThresholdMD-v1.rst new file mode 100644 index 000000000000..71042e4a8fa5 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ThresholdMD-v1.rst @@ -0,0 +1,15 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Threshold an MDHistoWorkspace to overwrite values below or above the +defined threshold. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/TransformHKL-v1.rst b/Code/Mantid/docs/source/algorithms/TransformHKL-v1.rst new file mode 100644 index 000000000000..3079f3f2433f --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/TransformHKL-v1.rst @@ -0,0 +1,23 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Given a PeaksWorkspace with a UB matrix stored with the sample, this +algoritm will accept a 3x3 transformation matrix M, change UB to +UB\*M-inverse and map each (HKL) vector to M\*(HKL). For example, the +transformation with elements 0,1,0,1,0,0,0,0,-1 will interchange the H +and K values and negate L. This algorithm should allow the usr to +perform any required transformation of the Miller indicies, provided +that transformation has a positive determinant. If a transformation with +a negative or zero determinant is entered, the algorithm with throw an +exception. The 9 elements of the transformation must be specified as a +comma separated list of numbers. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/TransformMD-v1.rst b/Code/Mantid/docs/source/algorithms/TransformMD-v1.rst new file mode 100644 index 000000000000..b791d1c6f4f5 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/TransformMD-v1.rst @@ -0,0 +1,53 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm applies a simple linear transformation to a +`MDWorkspace `__ or +`MDHistoWorkspace `__. This could be used, for +example, to scale the Energy dimension to different units. + +Each coordinate is tranformed so that :math:`x'_d = (x_d * s_d) + o_d` +where: + +- d : index of the dimension, from 0 to the number of dimensions +- s : value of the Scaling parameter +- o : value of the Offset parameter. + +You can specify either a single value for Scaling and Offset, in which +case the same m\_scaling or m\_offset are applied to each dimension; or +you can specify a list with one entry for each dimension. + +Notes +##### + +The relationship between the workspace and the original +`MDWorkspace `__, for example when the MDHistoWorkspace is +the result of :ref:`algm-BinMD`, is lost. This means that you cannot +re-bin a transformed `MDHistoWorkspace `__. + +No units are not modified by this algorithm. + +Performance Notes +################# + +- Performing the operation in-place (input=output) is always faster + because the first step of the algorithm if NOT in-place is to clone + the original workspace. +- For `MDHistoWorkspaces `__ done in-place, + TransformMD is very quick (no data is modified, just the + coordinates). +- For `MDWorkspaces `__, every event's coordinates gets + modified, so this may take a while for large workspaces. +- For file-backed `MDWorkspaces `__, you will find much + better performance if you perform the change in-place (input=output), + because the data gets written out to disk twice otherwise. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/Transpose-v1.rst b/Code/Mantid/docs/source/algorithms/Transpose-v1.rst new file mode 100644 index 000000000000..8887a6eefb16 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/Transpose-v1.rst @@ -0,0 +1,23 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm transposes a workspace, so that an N1 x N2 workspace +becomes N2 x N1. + +The X-vector-values for the new workspace are taken from the axis value +of the old workspace, which is generaly the spectra number but can be +other values, if say the workspace has gone through ConvertSpectrumAxis. + +The new axis values are taken from the previous X-vector-values for the +first specrum in the workspace. For this reason, use with ragged +workspaces is undefined. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/USANSSimulation-v1.rst b/Code/Mantid/docs/source/algorithms/USANSSimulation-v1.rst new file mode 100644 index 000000000000..79e03ab08a11 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/USANSSimulation-v1.rst @@ -0,0 +1,26 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Simulate a USANS workspace. + +A matrix workspace is created for a given analyzer angle. A list of +wavelength peaks coming out of the monochromator can be specified. The +width of those peaks can also be specified. + +Both the main detector and the transmission detector are filled with +compatible signals according to a dummy transmission curve. + +The amplitude of the signal in the main detector is given by a sphere +model. + +A monitor workspace is created with a fake beam profile. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/UnGroupWorkspace-v1.rst b/Code/Mantid/docs/source/algorithms/UnGroupWorkspace-v1.rst new file mode 100644 index 000000000000..cfd043303dc9 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/UnGroupWorkspace-v1.rst @@ -0,0 +1,16 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Takes a `WorkspaceGroup `__ as input and ungroups it +into several workspaces. You can perform this from the MantidPlot GUI by +selecting the WorkspaceGroup and clicking "Ungroup". + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/UnwrapMonitor-v1.rst b/Code/Mantid/docs/source/algorithms/UnwrapMonitor-v1.rst new file mode 100644 index 000000000000..dab0c413f02d --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/UnwrapMonitor-v1.rst @@ -0,0 +1,90 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm is for use with white-beam instruments with choppers. The +chopper cuts the range of wavelengths, so all detectors (including +monitors) should be reduced to the same wavelength range. This is done +using a "reference" flightpath, :math:`L_{ref}`, which is (usually, see +below) the flightpath of the farthest detectors. + +If :math:`T_{min}` and :math:`T_{max}` are the beginning and end of the +frame, for each detector :math:`D` at total flightpath :math:`L_d` the +following times are defined: + +.. math:: T_1 = T_{max} - \left ( T_{min} \times \left ( 1 - \frac{L_d}{L_{ref}} \right ) \right ) + +.. math:: T_2 = T_{max} \times \left ( \frac{L_d}{L_{ref}} \right ) + +Thus if :math:`L_d < L_{ref}` then :math:`T_1 > T_2` + +Neutron velocities (and hence wavelengths) for the detector :math:`D` +are calculated in the following way: + +- For :math:`T_{min} < T < T_2`, velocities are calculated in the usual + way, i.e. :math:`v = \frac{L_d}{T}` + +- Data in the range :math:`T_2 < T < T_1` are ignored (i.e. they are + not used in the wavelength-converted histograms) + +- For :math:`T_1 < T < T_{max}`, velocities are calculated using the + formula :math:`v = \frac{L_d}{T - T_{max} + T_{min}}` + +Note that the minimum and maximum velocities for the points that are +actually *used* are: + +.. math:: v_{max} = \frac{L_d}{T - T_{max} + T_{min}} = \frac{L_{ref}}{T_{min}} + +and :math:`v_{min} = \frac{L_d}{T_2} = \frac{L_{ref}}{T_{max}}` + +In other words, these velocities are the same for all detectors, so the +wavelength range in the transformed histogram will correspondingly be +the same and this algorithm rebins the data into common bins in this +range. + +Occasionally, it may be that some detectors (typically downstream +monitors) may be at a \*longer\* flightpath than :math:`L_{ref}`. This +depends entirely on the chopper aperture/setting. These detectors are +"frame-overlapped" - in other words, there is an ambiguity in the +definition of the wavelength for certain points, which should therefore +be excluded. These points are at the very beginning and at the very end +of the frame for a range :math:`Dt` (equal on both sides) given by + +.. math:: D_t = (T_{max} - T_{min}) \times \left (1 - \frac{L_{ref}}{L_d} \right) + +In other words, points between :math:`T_{min}` and :math:`T_{min} + D_t` +and between :math:`T_{max} - D_t` and :math:`T_{max}` should be +excluded. For all other points, velocities and wavelengths are +calculated in the normal way. + +Note that since we are dealing with histogrammed data, the cut-off +values above will almost certainly not fall exactly on a bin boundary. +The approach taken by this algorithm is that if any part of a bin has a +value that should be excluded, then the entire bin is excluded. What +this means in practice is that the edge bins will possibly have a +reduced number of counts. + +Restrictions on the input workspace +################################### + +The input workspace must contain histogram data where the X unit is +time-of-flight and the Y data is raw counts. The +`instrument `__ associated with the workspace must be fully +defined because detector, source & sample position are needed. + +Child algorithms used +##################### + +If the input workspace contains more than a single spectrum, Unwrap +makes use of the `rebin `__ algorithm to set the bins on the +output workspace to common values which cover the maximum theoretically +accessible wavelength range. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/UnwrapSNS-v1.rst b/Code/Mantid/docs/source/algorithms/UnwrapSNS-v1.rst new file mode 100644 index 000000000000..0567ce053b4a --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/UnwrapSNS-v1.rst @@ -0,0 +1,47 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +| Slow moving (low energy and long wavelength neutrons) maybe detected +after the end of the frame in which they entered the experimental +apparatus. A schematic example of this is shown below where the neutrons +are marked as circles. +| |Schematic diagram of neutrons entering an instrument and being +detected\|centre\|| +| The two neutons on the right of the diagram were actually produced in +frame 1 but will be recorded in frame 2 at low time of flight (TOF) and +a straight :ref:`algm-ConvertUnits` will bin them at high energy +and short wavelength! :ref:`algm-UnwrapSNS` moves those particles to +the end of the spectrum by increasing their time of flight by the +duration of a frame multiplied by the number (one or more) of frames +they were "late" by. + +To assess if it is impossible for a particle to have arrived in the same +frame it was detected a maximum speed for particles is calculated based +on LRef and Tmin. The algorithm then calculates the mean speed of all +detected particles and corrects those whose speed was greater than the +maximum. + +Normally LRef is the total length of the flight path from the source +(particle location when t=0) to a detector. For event data, if the +detector with the shortest flight path was chosen it maybe possible to +leave the Tmin empty and so that a first particle arrival time is used. +Otherwise the Tmin should be set to < the arrival time of the fastest +neutron at the given detector. + +If Tmin was set either Tmax or DataFrameWidth must be set to ensure the +frame duration calculated correctly. If Tmax was set the frame width is +the difference between Tmax and Tmin. DataFrameWidth overrides this and +the width is the difference between the longest and shortest TOFs in the +data. + +.. |Schematic diagram of neutrons entering an instrument and being detected\|centre\|| image:: /images/UnwrapSNS_inst.png + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/UpdateInstrumentFromFile-v1.rst b/Code/Mantid/docs/source/algorithms/UpdateInstrumentFromFile-v1.rst new file mode 100644 index 000000000000..987d37902810 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/UpdateInstrumentFromFile-v1.rst @@ -0,0 +1,64 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Some instrument definition file (`IDF `__) +positions are only approximately correct and the true positions are +located within data files. This algorithm reads the detector positioning +from the supplied file and updates the instrument accordingly. It +currently supports ISIS Raw, ISIS NeXus files and ASCII files. + +It is assumed that the positions specified in the file are all with +respect to the a coordinate system defined with its origin at the sample +position. Note that this algorithm moves the detectors without +subsequent rotation, hence this means that detectors may not for example +face the sample perfectly after this algorithm has been applied. + +Additional Detector Parameters Using ASCII File +############################################### + +The ASCII format allows a multi-column text file to provide new +positions along with additional parameters for each detector. If a text +file is used then the ``AsciiHeader`` parameter is required as it +identifies each column in the file as header information in the file is +always ignored. There is a minor restriction in that the first column is +expected to specify either a detector ID or a spectrum number and will +never be interpreted as anything else. + +The keywords recognised by the algorithm to pick out detector position +values & spectrum/ID values are: spectrum, ID, R,theta, phi. The +spectrum/ID keywords can only be used in the first column. A dash (-) is +used to ignore a column. + +As an example the following header: + +:: + + spectrum,theta,t0,-,R + +and the following text file: + +:: + + 1 0.0000 -4.2508 11.0550 -2.4594 + 2 0.0000 0.0000 11.0550 2.3800 + 3 130.4653 -0.4157 11.0050 0.6708 + 4 131.9319 -0.5338 11.0050 0.6545 + 5 133.0559 -0.3362 11.0050 0.6345 + +would tell the algorithm to interpret the columns as: + +#. Spectrum number +#. Theta position value +#. A new instrument parameter called t0 +#. This column would be ignored +#. R position value + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/UpdatePeakParameterTableValue-v1.rst b/Code/Mantid/docs/source/algorithms/UpdatePeakParameterTableValue-v1.rst new file mode 100644 index 000000000000..0796934d0ad5 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/UpdatePeakParameterTableValue-v1.rst @@ -0,0 +1,53 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +In algorithms related to `Le Bail Fit `__ and powder +diffractomer instrument profile calibration, TableWorkspace containing +the peak profile parameters' information are used as input and output. +*UpdatePeakParameterTableValue* gives user the method to change the +value of parameters' information, including its status to fit, value, +minimum/maximum value (for boundary contrains) and step size (for Monte +Carlo optimizer). + +Format of TableWorkspace +------------------------ + +TableWorkspace containing peak profile parameters must have 2 columns, +"Name" and "Value". It can have but not be limited to the following +columns, "Min", "Max", "Stepsize" and "FitOrTie". + +Specify A Cell or Cells +----------------------- + +The cell to have value updated can be specified by its row and column +index. + +- Column index is determined by property "Column". +- Row index can be specified by property "Row", which requires a list + of row indexes, or property "ParameterNames", which requires a list + of strings. If "ParameterNames" is used as the input of row indexes, + the algorithm will go through each row to match the string value of + cell "Name" (i.e., parameter name) to each input parameter name. +- If neither "Row" nor "ParameterNames" is given by user, then all + cells in the column will have the value updated to a same value from + either "NewFloatValue" or "NewStringValue" according to the type of + the cell. +- If multiple row indexes are specified, then all the cells of the + specified column and rows are updated to same value from either + "NewFloatValue" or "NewStringValue". + +How to use algorithm with other algorithms +------------------------------------------ + +This algorithm is designed to work with `other +algorithms `__ to do Le Bail fit. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/UpdateScriptRepository-v1.rst b/Code/Mantid/docs/source/algorithms/UpdateScriptRepository-v1.rst new file mode 100644 index 000000000000..6d47c2860e21 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/UpdateScriptRepository-v1.rst @@ -0,0 +1,16 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +It updates the `ScriptRepository `__. It checkout the +information of the central repository and download all the files marked +for AutoUpdate. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/UploadRemoteFile-v1.rst b/Code/Mantid/docs/source/algorithms/UploadRemoteFile-v1.rst new file mode 100644 index 000000000000..4c2e7e101186 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/UploadRemoteFile-v1.rst @@ -0,0 +1,19 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Uploads a file to the specified compute resource. Presumably, the file +is a python script or input data necessary to run a Mantid algorithm on +the remote compute resource. + +For more details, see the `remote job submission API +docs `__. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/UserFunction1D-v1.rst b/Code/Mantid/docs/source/algorithms/UserFunction1D-v1.rst new file mode 100644 index 000000000000..16c5b23c5b53 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/UserFunction1D-v1.rst @@ -0,0 +1,99 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm fits a spectrum to a user defined function. The function +is supplied to the algorithm as a text string. The function here is a +mathematical expression using numbers, variable names and internal +function names. Symbols '+', '-', '\*', '/', and '^' can be used for +arithmetic operations. Names can contain only letters, digits, and the +underscore symbol '\_'. The internal functions are: + ++---------+---------+-------------------------------------+ +| Name | Argc. | Explanation | ++=========+=========+=====================================+ +| sin | 1 | sine function | ++---------+---------+-------------------------------------+ +| cos | 1 | cosine function | ++---------+---------+-------------------------------------+ +| tan | 1 | tangens function | ++---------+---------+-------------------------------------+ +| asin | 1 | arcus sine function | ++---------+---------+-------------------------------------+ +| acos | 1 | arcus cosine function | ++---------+---------+-------------------------------------+ +| atan | 1 | arcus tangens function | ++---------+---------+-------------------------------------+ +| sinh | 1 | hyperbolic sine function | ++---------+---------+-------------------------------------+ +| cosh | 1 | hyperbolic cosine | ++---------+---------+-------------------------------------+ +| tanh | 1 | hyperbolic tangens function | ++---------+---------+-------------------------------------+ +| asinh | 1 | hyperbolic arcus sine function | ++---------+---------+-------------------------------------+ +| acosh | 1 | hyperbolic arcus tangens function | ++---------+---------+-------------------------------------+ +| atanh | 1 | hyperbolic arcur tangens function | ++---------+---------+-------------------------------------+ +| log2 | 1 | logarithm to the base 2 | ++---------+---------+-------------------------------------+ +| log10 | 1 | logarithm to the base 10 | ++---------+---------+-------------------------------------+ +| log | 1 | logarithm to the base 10 | ++---------+---------+-------------------------------------+ +| ln | 1 | logarithm to base e (2.71828...) | ++---------+---------+-------------------------------------+ +| exp | 1 | e raised to the power of x | ++---------+---------+-------------------------------------+ +| sqrt | 1 | square root of a value | ++---------+---------+-------------------------------------+ +| sign | 1 | sign function -1 if x<0; 1 if x>0 | ++---------+---------+-------------------------------------+ +| rint | 1 | round to nearest integer | ++---------+---------+-------------------------------------+ +| abs | 1 | absolute value | ++---------+---------+-------------------------------------+ +| if | 3 | if ... then ... else ... | ++---------+---------+-------------------------------------+ +| min | var. | min of all arguments | ++---------+---------+-------------------------------------+ +| max | var. | max of all arguments | ++---------+---------+-------------------------------------+ +| sum | var. | sum of all arguments | ++---------+---------+-------------------------------------+ +| avg | var. | mean value of all arguments | ++---------+---------+-------------------------------------+ + +An example of *Function* property is "a + b\*x + c\*x^2". Valiable *x* +is used to represent the values of the X-vector of the input spectrum. +All other variable names are treated as fitting parameters. A parameter +can be given an initial value in the *InitialParameters* property. For +example, "b=1, c=0.2". The order in which the variables are listed is +not important. If a variable is not given a value, it is initialized +with 0.0. If some of the parameters should be fixed in the fit list them +in the *Fix* property in any order, e.g. "a,c". + +The resulting parameters are returned in a +`TableWorkspace `__ set in *OutputParameters* property. +Also for displaying purposes *OutputWorkspace* is returned. It contains +the initial spectrum, the fitted spectrum and their difference. + +Example +------- + +.. figure:: /images/UserFunction1D.gif + :alt: UserFunction1D.gif + + UserFunction1D.gif +In this example the fitting function is a\*exp(-(x-c)^2\*s). The +parameter *s* is fixed. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/ViewBOA-v1.rst b/Code/Mantid/docs/source/algorithms/ViewBOA-v1.rst new file mode 100644 index 000000000000..5b1209ade617 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/ViewBOA-v1.rst @@ -0,0 +1,17 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Algorithm which loads a BOA file and creates the 3 BOA plots of Uwe +Filges desire + +Mark Koennecke, July 2013 + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/WeightedMean-v1.rst b/Code/Mantid/docs/source/algorithms/WeightedMean-v1.rst new file mode 100644 index 000000000000..1a80f06ae513 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/WeightedMean-v1.rst @@ -0,0 +1,22 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +The algorithm calculates the weighted mean of two workspaces. This is +useful when working with distributions rather than histograms, +particularly when counting statistics are poor and it is possible that +the value of one data set is statistically insignificant but differs +greatly from the other. In such a case simply calculating the average of +the two data sets would produce a spurious result. This algorithm will +eventually be modified to take a list of workspaces as an input. + +:math:`\displaystyle y=\frac{\sum\frac{x_i}{\sigma^{2}_i}}{\sum\frac{1}{\sigma^{2}_i}}` + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/WeightedMeanMD-v1.rst b/Code/Mantid/docs/source/algorithms/WeightedMeanMD-v1.rst new file mode 100644 index 000000000000..bdabae99fa94 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/WeightedMeanMD-v1.rst @@ -0,0 +1,17 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Takes two MDHistoWorkspaces and calculates the weighted mean for each +bin. See :ref:`algm-WeightedMean` for more details on the +algorithm workings. Both inputs must be MDHistoWorkspaces, the algorithm +will not run with MDEventWorkspaces. + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/WeightedMeanOfWorkspace-v1.rst b/Code/Mantid/docs/source/algorithms/WeightedMeanOfWorkspace-v1.rst new file mode 100644 index 000000000000..4a2a2e59825b --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/WeightedMeanOfWorkspace-v1.rst @@ -0,0 +1,23 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +This algorithm calculates the weighted mean from all the spectra in a +given workspace. Monitors and masked spectra are ignored. Also, +individual bins with IEEE values will be excluded from the result. The +weighted mean calculated by the following: + +:math:`\displaystyle y=\frac{\sum\frac{x_i}{\sigma^{2}_i}}{\sum\frac{1}{\sigma^{2}_i}}` + +and the variance is calculated by: + +:math:`\displaystyle \sigma^{2}_y=\frac{1}{\sum\frac{1}{\sigma^{2}_i}}` + +.. categories:: diff --git a/Code/Mantid/docs/source/algorithms/XorMD-v1.rst b/Code/Mantid/docs/source/algorithms/XorMD-v1.rst new file mode 100644 index 000000000000..ca969f338285 --- /dev/null +++ b/Code/Mantid/docs/source/algorithms/XorMD-v1.rst @@ -0,0 +1,16 @@ +.. algorithm:: + +.. summary:: + +.. alias:: + +.. properties:: + +Description +----------- + +Perform the Xor (exclusive-or) boolean operation on two +MDHistoWorkspaces. The xor operation is performed element-by-element. A +signal of 0.0 means "false" and any non-zero signal is "true". + +.. categories:: diff --git a/Code/Mantid/docs/source/conf.py b/Code/Mantid/docs/source/conf.py index ea20dcc36f4a..6752f00f7f5f 100644 --- a/Code/Mantid/docs/source/conf.py +++ b/Code/Mantid/docs/source/conf.py @@ -49,6 +49,13 @@ # The name of the Pygments (syntax highlighting) style to use. pygments_style = 'sphinx' +# -- Options for doctest -------------------------------------------------- + +# Run this before each test is executed +doctest_global_setup = """ +from mantid.simpleapi import * +""" + # -- Options for HTML output ---------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for diff --git a/Code/Mantid/docs/source/functions/Abragam.rst b/Code/Mantid/docs/source/functions/Abragam.rst new file mode 100644 index 000000000000..27fbe711d6d8 --- /dev/null +++ b/Code/Mantid/docs/source/functions/Abragam.rst @@ -0,0 +1,11 @@ +======= +Abragam +======= + + +Description +----------- + +Abragam fitting function for use by Muon scientists defined by + +.. math:: \mbox{A}\times cos( 2 \pi \times {Omega} \times {x} + {Phi} ) \times \exp(-{Sigma}^2 \times Tau^2 \times {x}^2 \times ( exp ( {x} / Tau ) - 1 + {x} / Tau ) ) diff --git a/Code/Mantid/docs/source/functions/BSpline.rst b/Code/Mantid/docs/source/functions/BSpline.rst new file mode 100644 index 000000000000..574ed8c1b345 --- /dev/null +++ b/Code/Mantid/docs/source/functions/BSpline.rst @@ -0,0 +1,19 @@ +======= +BSpline +======= + + +Description +----------- + +This function creates spline using the set of points and interpolates +the input between them. + +First and second derivatives from the spline can be calculated by using +the derivative1D function. + +BSpline function takes a set of attributes and a set of parameters. The +first attrbiute is 'n' which has integer type and sets the number of +interpolation points. The parameter names have the form 'yi' where 'y' +is letter 'y' and 'i' is the parameter's index starting from 0 and have +the type double. Likewise, the attribute names have the form 'xi'. diff --git a/Code/Mantid/docs/source/functions/BackToBackExponential.rst b/Code/Mantid/docs/source/functions/BackToBackExponential.rst new file mode 100644 index 000000000000..acc8c36e60c9 --- /dev/null +++ b/Code/Mantid/docs/source/functions/BackToBackExponential.rst @@ -0,0 +1,47 @@ +===================== +BackToBackExponential +===================== + + +Description +----------- + +A back-to-back exponential peakshape function is defined as: + +.. math:: I\frac{AB}{2(A+B)}\left[ \exp \left( \frac{A[AS^2+2(x-X0)]}{2}\right) \mbox{erfc}\left( \frac{AS^2+(x-X0)}{S\sqrt{2}} \right) + \exp \left( \frac{B[BS^2-2(x-X0)]}{2} \right) \mbox{erfc} \left( \frac{[BS^2-(x-X0)]}{S\sqrt{2}} \right) \right]. + +This peakshape function represent the convolution of back-to-back +exponentials and a gaussian function and is designed to be used for the +data analysis of time-of-flight neutron powder diffraction data, see +Ref. 1. + +The parameters :math:`A` and :math:`B` represent the absolute value of +the exponential rise and decay constants (modelling the neutron pulse +coming from the moderator) and :math:`S` represent the standard +deviation of the gaussian. The parameter :math:`X0` is the location of +the peak; more specifically it represent the point where the +exponentially modelled neutron pulse goes from being exponentially +rising to exponentially decaying. :math:`I` is the integrated intensity. + +For information about how to convert Fullprof back-to-back exponential +parameters into those used for this function see +`CreateBackToBackParameters `__. + +References + +1. R.B. Von Dreele, J.D. Jorgensen & C.G. Windsor, J. Appl. Cryst., 15, +581-589, 1982 + +The figure below illustrate this peakshape function fitted to a TOF +peak: + +.. figure:: /images/BackToBackExponentialWithConstBackground.png + :alt: BackToBackExponentialWithConstBackground.png + + BackToBackExponentialWithConstBackground.png +Properties +---------- + +*Note the initial default guesses for in particular A and B are only +based on fitting a couple of peaks in a dataset collected on the ISIS's +HRPD instrument.* diff --git a/Code/Mantid/docs/source/functions/BivariateNormal.rst b/Code/Mantid/docs/source/functions/BivariateNormal.rst new file mode 100644 index 000000000000..510da7c53bff --- /dev/null +++ b/Code/Mantid/docs/source/functions/BivariateNormal.rst @@ -0,0 +1,62 @@ +=============== +BivariateNormal +=============== + + +Description +----------- + +Provides a peak shape function interface for a peak on one time slice of +a Rectangular detector. + +Formula: V=Background+Intensity\*Normal( μ\ :sub:`x`, μ\ :sub:`y`, +σ\ :sub:`x`, σ\ :sub:`y`) + +The Normal(..) is the Normal probability density function. Its integral +over all x(col) and y(row) values is one. This means that Intensity is +the total intensity with background removed. + +Attributes +~~~~~~~~~~ + +There is only one Attribute: **CalcVariances**. This attribute is +boolean. + +If true, the variances are calculated from the data, given the means, +variances and covariance. Otherwise they will become parameters and fit. + +CalcVariances = true gives better/more stable results for peaks interior +to the Rectangular Detector. For peaks close to the edge, CalcVariances +should be false. + +Parameters +~~~~~~~~~~ + +#. Background - The background of the peak +#. Intensity - The intensity of data for the peak on this time slice +#. Mcol - The col(x) of the center of the peak +#. Mrow - The row(y) of the center of the peak on this slice +#. ------- If CalcVariances is false, the following 3 parameters are + also fit--------- +#. SScol -The variance of the column(x) values in the peak for this time + slice +#. SSrow - The variance of the row(y) values in the peak for this time + slice +#. SSrc - The covariance of the row(x) and column(y) values in the peak + for this time slice + +Usage +~~~~~ + +The workspace can be "any" MatrixWorkspace where + +#. dataY(1) is the column(x) values for the pixels to be considered +#. dataY(2) is the row(y) values for the pixels to be considered +#. dataY(0)is the experimental data at the corresponding row and column + for a panel and time slice( or merged time slices or...) + +The data can have missing row and column values and need not represent a +square or contiguous subregion of a panel + +The values for out in function1D are, for each pixel, the difference of +V(see formula) and dataY(0). diff --git a/Code/Mantid/docs/source/functions/Chebyshev.rst b/Code/Mantid/docs/source/functions/Chebyshev.rst new file mode 100644 index 000000000000..1dcd59d76527 --- /dev/null +++ b/Code/Mantid/docs/source/functions/Chebyshev.rst @@ -0,0 +1,33 @@ +========= +Chebyshev +========= + + +Description +----------- + +This function calculates a partial Chebyshev expansion + +.. math:: \sum_{n=0}^N a_n T_n(a+bx) + +where :math:`a_n` are the expansion coefficients and :math:`T_n(x)` are +Chebyshev polynomials of the first kind defined by the reccurence +relation + +.. math:: T_0(x)=1 \,\! + +.. math:: T_1(x)=x \,\! + +.. math:: T_{n+1}(x)= 2xT_n(x)-T_{n-1}(x) \,\! + +Coefficients :math:`a` and :math:`b` are defined to map the fitting +interval into [-1,1] interval. + +Chebyshev function has tree attributes (non-fitting parameters). First +is 'n' which has integer type and sets the expansion order and creates +n+1 expansion coefficients (fitting parameters). The parameter names +have the form 'Ai' where 'A' is letter 'A' and 'i' is the parameter's +index starting from 0. + +The other two attributes are doubles 'StartX' and 'EndX' which define +the expansion (fitting) interval. diff --git a/Code/Mantid/docs/source/functions/CompositeFunction.rst b/Code/Mantid/docs/source/functions/CompositeFunction.rst new file mode 100644 index 000000000000..bdd5cfddc999 --- /dev/null +++ b/Code/Mantid/docs/source/functions/CompositeFunction.rst @@ -0,0 +1,63 @@ +================= +CompositeFunction +================= + + +Description +----------- + +A composite function is a function containing other functions. It +combines the values calculated by the member functions by adding them. +The members are indexed from 0 to the number of functions minus 1. The +indices are defined by the order in which the functions were added. +Composite functions do not have their own parameters, instead they use +parameters of the member functions. Parameter names are formed from the +member function's index and its parameter name: f[index].[name]. For +example, name "f0.Sigma" would be given to the "Sigma" parameter of a +Gaussian added first to the composite function. If a member function is +a composite function itself the same principle applies: 'f[index].' is +prepended to a name, e.g. "f0.f1.Sigma". + +The input string to the Fit algorithm for a CompositeFunction is +constructed by joining the inputs of the member functions using the +semicolon ';' as a separator. For example, the string for two +`Gaussians `__ with tied sigma parameters may look like the +following: + +``name=Gaussian,PeakCentre=0,Height=1,Sigma=0.1,constraints=(0`__ and `Convolution `__. +Everything said about parameters of the CompositeFunction applies to +these functions. + +Input strings of an extended composite function must start with +"composite=FunctionName;" and followed by the definitions of its members +as described for CompositeFunction. For example, + +``composite=ProductFunction;name=LinearBackground;name=ExpDecay`` + +To define a composite function inside a composite function enclose the +inner one in brackets: + +``name=LinearBackground;(composite=Convolution;name=Resolution;name=Lorentzian)`` diff --git a/Code/Mantid/docs/source/functions/Convolution.rst b/Code/Mantid/docs/source/functions/Convolution.rst new file mode 100644 index 000000000000..bf0c51b776e8 --- /dev/null +++ b/Code/Mantid/docs/source/functions/Convolution.rst @@ -0,0 +1,39 @@ +=========== +Convolution +=========== + + +Description +----------- + +Convolution is an extension of `CompositeFunction `__ +which performs convolution of its members using Fast Fourier Transform. + +.. math:: f(x)=\int\limits_{A}^{B}R(x-\xi)F(\xi)\mbox{d}\xi + +Here :math:`R` is the first member function and :math:`F` is the second +member. A Convolution must have exactly two member functions. The +members can be composite if necessary. Interval :math:`[A,B]` is the +fitting interval. The function is evaluated by first transforming +:math:`R` and :math:`F` to the Fourier domain, multiplying the +transforms, then transforming back to the original domain. The GSL FFT +routines are used to do the actual transformations. + +It should be noted that the two functions (:math:`R` and :math:`F`) are +evaluated on different intervals. :math:`F` is computed on :math:`[A,B]` +while :math:`R` is computed on :math:`[-\Delta/2, \Delta/2]`, where +:math:`\Delta=B-A`. + +In the following example a `Gaussian `__ is convolved with a +box function: + +.. figure:: /images/Convolution.png + :alt: Convolution.png + + Convolution.png +Note that the box function is defined on interval [-5, 5]: + +.. figure:: /images/Box.png + :alt: Box.png + + Box.png diff --git a/Code/Mantid/docs/source/functions/CubicSpline.rst b/Code/Mantid/docs/source/functions/CubicSpline.rst new file mode 100644 index 000000000000..8a8b9f584f0c --- /dev/null +++ b/Code/Mantid/docs/source/functions/CubicSpline.rst @@ -0,0 +1,19 @@ +=========== +CubicSpline +=========== + + +Description +----------- + +This function creates spline using the set of points and interpolates +the input between them. + +First and second derivatives from the spline can be calculated by using +the derivative1D function. + +CubicSpline function takes a set of attributes and a set of parameters. +The first attrbiute is 'n' which has integer type and sets the number of +interpolation points. The parameter names have the form 'yi' where 'y' +is letter 'y' and 'i' is the parameter's index starting from 0 and have +the type double. Likewise, the attribute names have the form 'xi'. diff --git a/Code/Mantid/docs/source/functions/DiffRotDiscreteCircle.rst b/Code/Mantid/docs/source/functions/DiffRotDiscreteCircle.rst new file mode 100644 index 000000000000..d8561f28d290 --- /dev/null +++ b/Code/Mantid/docs/source/functions/DiffRotDiscreteCircle.rst @@ -0,0 +1,131 @@ +===================== +DiffRotDiscreteCircle +===================== + + +Description +----------- + +Summary +------- + +This fitting function models the dynamics structure factor of a particle +undergoing discrete jumps on N-sites evenly distributed in a circle. The +particle can only jump to neighboring sites. This is the most common +type of discrete rotational diffusion in a circle. + +Markov model for jumps between neighboring sites: + +.. raw:: html + +
+ +:math:`\frac{d}{dt} p_j(t) = \frac{1}{\tau} [p_{j-1}(t) -2 p_j(t) + p_{j+1}(t)]` + +.. raw:: html + +
+ +The Decay fitting parameter :math:`\tau` is the inverse of the +transition rate. This, along with the circle radius :math:`r`, conform +the two fundamental fitting parameters of the structure factor +:math:`S(Q,E)`: + +.. raw:: html + +
+ +:math:`S(Q,E) \equiv = \int e^{-iEt/\hbar} I(Q,t) dt = A_0(Q,r) \delta (E) + \frac{1}{\pi} \sum_{l=1}^{N-1} A_l (Q,r) \frac{\hbar \tau_l^{-1}}{(\hbar \tau_l^{-1})^2+E^2}` + +.. raw:: html + +
+ +.. raw:: html + +
+ +:math:`A_l(Q,r) = \frac{1}{N} \sum_{k=1}^{N} j_0( 2 Q r sin(\frac{\pi k}{N}) ) cos(\frac{2\pi lk}{N})` + +.. raw:: html + +
+ +.. raw:: html + +
+ +:math:`\tau_l^{-1} = 4 \tau^{-1} sin^2(\frac{\pi l}{N})` + +.. raw:: html + +
+ +The transition rate, expressed in units of energy is :math:`h\tau^{-1}`, +with h = 4.135665616 meV THz. + +Example: Methyl Rotations +------------------------- + +Methyl Rotations can be modelled setting N=3. In this case, the +inelastic part reduces to a single Lorentzian: + +.. raw:: html + +
+ +:math:`S(Q,E) = A_0(Q,r) \delta (E) + \frac{2}{\pi} A_1 (Q,r) \frac{3 \hbar \tau^{-1}}{(3 \hbar \tau^{-1})^2+E^2}` + +.. raw:: html + +
+ +If, alternatively, one models these dynamics using the +`Lorentzian `__ function provided in Mantid: + +.. raw:: html + +
+ +:math:`S(Q,E) = A \delta (\omega) + \frac{B}{\pi} \left( \frac{\frac{\Gamma}{2}}{(\frac{\Gamma}{2})^2 + (\hbar\omega)^2}\right)` + +.. raw:: html + +
+ +Then: + +.. raw:: html + +
+ +:math:`B = \frac{1}{\pi}h A_1` + +.. raw:: html + +
+ +.. raw:: html + +
+ +:math:`\Gamma = \frac{3}{\pi} h\tau^{-1} = 3.949269754 meV\cdot THz\cdot \tau^{-1}` + +.. raw:: html + +
+ +Properties +---------- + ++---------+-------------+-----------+-----------------------------------------------------------------------------------------+ +| Order | Name | Default | Description | ++=========+=============+===========+=========================================================================================+ +| 1 | Intensity | 1.0 | Intensity of the peak [arbitrary units] | ++---------+-------------+-----------+-----------------------------------------------------------------------------------------+ +| 2 | Radius | 1.0 | Circle radius [Angstroms] | ++---------+-------------+-----------+-----------------------------------------------------------------------------------------+ +| 3 | Decay | 1.0 | inverse of the transition rate (ps if energy in meV; ns if energy in :math:`\mu`\ eV) | ++---------+-------------+-----------+-----------------------------------------------------------------------------------------+ + +Category:Fit_functions diff --git a/Code/Mantid/docs/source/functions/DiffSphere.rst b/Code/Mantid/docs/source/functions/DiffSphere.rst new file mode 100644 index 000000000000..34042a873bad --- /dev/null +++ b/Code/Mantid/docs/source/functions/DiffSphere.rst @@ -0,0 +1,65 @@ +========== +DiffSphere +========== + + +Description +----------- + +Summary +------- + +This fitting function models the dynamics structure factor of a particle +undergoing continuous diffusion but confined to a spherical volume. +According to Volino and Dianoux +`1 `__, + +.. raw:: html + +
+ +:math:`S(Q,E\equiv \hbar \omega) = A_{0,0}(Q\cdot R) \delta (\omega) + \frac{1}{\pi} \sum_{l=1}^{N-1} (2l+1) A_{n,l} (Q\cdot R) \frac{x_{n,l}^2 D/R^2}{[x_{n,l}^2 D/R^2]^21+\omega^2}`, + +:math:`A_{n,l} = \frac{6x_{n,l}^2}{x_{n,l}^2-l(l+1)} [\frac{QRj_{l+1}(QR) - lj_l(QR)}{(QR)^2 - x_{n,l}^2}]^2` + +.. raw:: html + +
+ +Because of the spherical symmetry of the problem, the structure factor +is expressed in terms of the :math:`j_l(z)` spherical Bessel functions. +Furthermore, the requirement that no particle flux can escape the sphere +leads to the following boundary +condition\ `2 `__: + +.. raw:: html + +
+ +:math:`\frac{d}{dr}j_l(rx_{n,l}/R)|_{r=R}=0 \,\,\,\, \forall l` + +.. raw:: html + +
+ +The roots of this set of equations are the numerical coefficients +:math:`x_{n,l}`. + +The fit function DiffSphere has an elastic part, modelled by fitting +function ElasticDiffSphere and an inelastic part, modelled by +InelasticDiffSphere. + +Properties +---------- + ++---------+-------------+-----------+----------------------------------------------------------------------------+ +| Order | Name | Default | Description | ++=========+=============+===========+============================================================================+ +| 1 | Intensity | 1.0 | Intensity of the peak [arbitrary units] | ++---------+-------------+-----------+----------------------------------------------------------------------------+ +| 2 | Radius | 2.0 | Sphere radius [Ã…] | ++---------+-------------+-----------+----------------------------------------------------------------------------+ +| 3 | Diffusion | 0.05 | Diffusion constant [Ã…\ :math:`{}^2/ps \equiv 10 \cdot (10^{-5} cm^2/s)`] | ++---------+-------------+-----------+----------------------------------------------------------------------------+ + +Category:Fit_functions diff --git a/Code/Mantid/docs/source/functions/ExpDecay.rst b/Code/Mantid/docs/source/functions/ExpDecay.rst new file mode 100644 index 000000000000..17e6a4a42c7e --- /dev/null +++ b/Code/Mantid/docs/source/functions/ExpDecay.rst @@ -0,0 +1,11 @@ +======== +ExpDecay +======== + + +Description +----------- + +Exponential decay function is defined by + +.. math:: \mbox{Height}\times \exp(-\frac{x}{\mbox{Lifetime}}) diff --git a/Code/Mantid/docs/source/functions/ExpDecayMuon.rst b/Code/Mantid/docs/source/functions/ExpDecayMuon.rst new file mode 100644 index 000000000000..aebefd4053a8 --- /dev/null +++ b/Code/Mantid/docs/source/functions/ExpDecayMuon.rst @@ -0,0 +1,11 @@ +============ +ExpDecayMuon +============ + + +Description +----------- + +Exponential decay for use by Muon scientists defined by + +.. math:: \mbox{A}\times \exp(-{Lambda} \times {x}) diff --git a/Code/Mantid/docs/source/functions/ExpDecayOsc.rst b/Code/Mantid/docs/source/functions/ExpDecayOsc.rst new file mode 100644 index 000000000000..cfe437df603c --- /dev/null +++ b/Code/Mantid/docs/source/functions/ExpDecayOsc.rst @@ -0,0 +1,11 @@ +=========== +ExpDecayOsc +=========== + + +Description +----------- + +Oscillation exponential decay function is defined by + +.. math:: \mbox{A}\times \exp(-{Lambda} \times {x}) \times cos( 2 \pi \times {Frequency} \times {x} + {Phi} ) diff --git a/Code/Mantid/docs/source/functions/FlatBackground.rst b/Code/Mantid/docs/source/functions/FlatBackground.rst new file mode 100644 index 000000000000..052f78ad5775 --- /dev/null +++ b/Code/Mantid/docs/source/functions/FlatBackground.rst @@ -0,0 +1,11 @@ +============== +FlatBackground +============== + + +Description +----------- + +A Flat background function is defined as: + +:math:`y = A_0` diff --git a/Code/Mantid/docs/source/functions/GausDecay.rst b/Code/Mantid/docs/source/functions/GausDecay.rst new file mode 100644 index 000000000000..f67d8c284a66 --- /dev/null +++ b/Code/Mantid/docs/source/functions/GausDecay.rst @@ -0,0 +1,11 @@ +========= +GausDecay +========= + + +Description +----------- + +Gaussian decay for use by Muon scientists defined by + +.. math:: \mbox{A}\times \exp(-{Sigma}^2 \times {x}^2 ) diff --git a/Code/Mantid/docs/source/functions/GausOsc.rst b/Code/Mantid/docs/source/functions/GausOsc.rst new file mode 100644 index 000000000000..91f5497303de --- /dev/null +++ b/Code/Mantid/docs/source/functions/GausOsc.rst @@ -0,0 +1,11 @@ +======= +GausOsc +======= + + +Description +----------- + +Oscillating Gaussian decay for use by Muon scientists defined by + +.. math:: \mbox{A}\times \exp(-{Sigma}^2 \times {x}^2) \times cos( 2 \pi \times {Frequency} \times {x} + {Phi} ) diff --git a/Code/Mantid/docs/source/functions/Gaussian.rst b/Code/Mantid/docs/source/functions/Gaussian.rst new file mode 100644 index 000000000000..7323496f3099 --- /dev/null +++ b/Code/Mantid/docs/source/functions/Gaussian.rst @@ -0,0 +1,29 @@ +======== +Gaussian +======== + + +Description +----------- + +A Gaussian function (also referred to as a normal distribution) is +defined as: + +.. math:: \mbox{Height}*\exp \left( -0.5*\frac{(x-\mbox{PeakCentre})^2}{\mbox{Sigma}^2} \right) + +where + +- Height - height of peak +- PeakCentre - centre of peak +- Sigma - Gaussian width parameter + +Note that the FWHM (Full Width Half Maximum) of a Gaussian equals +:math:`2\sqrt{2\ln 2}*\mbox{Sigma}`. + +The figure below illustrate this symmetric peakshape function fitted to +a TOF peak: + +.. figure:: /images/GaussianWithConstBackground.png + :alt: GaussianWithConstBackground.png + + GaussianWithConstBackground.png diff --git a/Code/Mantid/docs/source/functions/IkedaCarpenterPV.rst b/Code/Mantid/docs/source/functions/IkedaCarpenterPV.rst new file mode 100644 index 000000000000..e7b24626d2bb --- /dev/null +++ b/Code/Mantid/docs/source/functions/IkedaCarpenterPV.rst @@ -0,0 +1,69 @@ +================ +IkedaCarpenterPV +================ + + +Description +----------- + +This peakshape function is designed to be used to fit time-of-flight +peaks. In particular this function is the convolution of the +Ikeda-Carpender function, which aims to model the neutron pulse shape +from a moderator, and a pseudo-Voigt that model any broading to the peak +due to sample properties etc. + +The Ikeda-Carpender function is (Ref [1]) + +.. math:: \frac{\alpha}{2} \left\{ (1-R)*(\alpha t)^2e^{-\alpha t} + 2R\frac{\alpha^2\beta}{(\alpha-\beta)^3} \right\} + +where :math:`\alpha` and :math:`\beta` are the fast and slow neutron +decay constants respectively, :math:`R` a maxing coefficient that +relates to the moderator temperature and :math:`t` is time. +:math:`\alpha` and :math:`R` are further modelled to depend on +wavelength and using the notation in the Fullprof manual (Ref [2]) the +refineable Ikeda-Carpender parameters are Alpha0, Alpha1, Beta0 and +Kappa and these are defined as + +.. math:: \alpha=1/(\mbox{Alpha0}+\lambda*\mbox{Alpha1}) + +.. math:: \beta = 1/\mbox{Beta0} + +.. math:: R = \exp (-81.799/(\mbox{Kappa}*\lambda^2)) + +, where :math:`\lambda` is the neutron wavelength. *In general when +fitting a single peak it is not recommended to refine both Alpha0 and +Alpha1 at the same time since these two parameters will effectively be +100% correlated because the wavelength over a single peak is likely +effectively constant*. + +The pseudo-Voigt function is defined as a linear combination of a +Lorentzian and Gaussian and is a computational efficient way of +calculation a Voigt function. The Voigt parameters are related to the +pseudo-Voigt parameters through a relation (see Fullprof manual eq. +(3.16) which in revision July2001 is missing a power 1/5). It is the two +Voigt parameters which you can refine with this peakshape function: +SigmaSquared (for the Gaussian part) and Gamma (for the Lorentzian +part). Notice the Voigt Gaussian FWHM=SigmaSquared\*8\*ln(2) and the +Voigt Lorentzian FWHM=Gamma. + +For information about how to create instrument specific values for the +parameters of this fitting function see +`CreateIkedaCarpenterParameters `__. + +The implementation of the IkedaCarpenterPV peakshape function here +follows the analytical expression for this function as presented in the +Fullprof manual, see Ref[2]. + +References: + +#. S. Ikeda and J. M. Carpenter, Nuclear Inst. and Meth. in Phys. Res. + A239, 536 (1985) +#. Fullprof manual, see http://www.ill.eu/sites/fullprof/ + +The figure below illustrate this peakshape function fitted to a TOF +peak: + +.. figure:: /images/IkedaCarpenterPVwithBackground.png + :alt: IkedaCarpenterPVwithBackground.png + + IkedaCarpenterPVwithBackground.png diff --git a/Code/Mantid/docs/source/functions/LatticeErrors.rst b/Code/Mantid/docs/source/functions/LatticeErrors.rst new file mode 100644 index 000000000000..02a0faefd6c0 --- /dev/null +++ b/Code/Mantid/docs/source/functions/LatticeErrors.rst @@ -0,0 +1,9 @@ +============= +LatticeErrors +============= + + +Description +----------- + + diff --git a/Code/Mantid/docs/source/functions/LinearBackground.rst b/Code/Mantid/docs/source/functions/LinearBackground.rst new file mode 100644 index 000000000000..72babd634efd --- /dev/null +++ b/Code/Mantid/docs/source/functions/LinearBackground.rst @@ -0,0 +1,14 @@ +================ +LinearBackground +================ + + +Description +----------- + +A linear background function is defined as: + +:math:`y = A_0 + A_1 \times x` + +Note this function is currently named LinearBackground and is likely to +be renamed to Linear in the not too distance future. diff --git a/Code/Mantid/docs/source/functions/LogNormal.rst b/Code/Mantid/docs/source/functions/LogNormal.rst new file mode 100644 index 000000000000..3b8a6cbd43b8 --- /dev/null +++ b/Code/Mantid/docs/source/functions/LogNormal.rst @@ -0,0 +1,11 @@ +========= +LogNormal +========= + + +Description +----------- + +The LogNormal fit function is defined by + +.. math:: \frac{Height}{x} \cdot exp^{-\frac{ln(x)-Location}{2 \times Scale^2}} diff --git a/Code/Mantid/docs/source/functions/Lorentzian.rst b/Code/Mantid/docs/source/functions/Lorentzian.rst new file mode 100644 index 000000000000..c003bab9c116 --- /dev/null +++ b/Code/Mantid/docs/source/functions/Lorentzian.rst @@ -0,0 +1,36 @@ +========== +Lorentzian +========== + + +Description +----------- + +A Lorentzian function is defined as: + +.. raw:: html + +
+ +:math:`\frac{A}{\pi} \left( \frac{\frac{\Gamma}{2}}{(x-x_0)^2 + (\frac{\Gamma}{2})^2}\right)` + +.. raw:: html + +
+ +where: + +- A (Amplitude) - Intensity scaling +- :math:`x_0` (PeakCentre) - centre of peak +- :math:`\Gamma/2` (HWHM) - half-width at half-maximum + +Note that the FWHM (Full Width Half Maximum) equals two times HWHM, and +the integral over the Lorentzian equals the intensity scaling A. + +The figure below illustrate this symmetric peakshape function fitted to +a TOF peak: + +.. figure:: /images/LorentzianWithConstBackground.png + :alt: LorentzianWithConstBackground.png + + LorentzianWithConstBackground.png diff --git a/Code/Mantid/docs/source/functions/MuonFInteraction.rst b/Code/Mantid/docs/source/functions/MuonFInteraction.rst new file mode 100644 index 000000000000..843913cc1fa2 --- /dev/null +++ b/Code/Mantid/docs/source/functions/MuonFInteraction.rst @@ -0,0 +1,28 @@ +================ +MuonFInteraction +================ + + +Description +----------- + +Muon F interaction function defined by + +.. math:: + + \exp((-{Lambda} \times {x})^{Beta} ) \times \frac {A} {6} \times + ( 3 + B + C + D ) + +where + +.. math:: B = \cos( \sqrt 3 \times Omega \times x) ) + +, + +.. math:: C = (1 - \frac{1}{\sqrt{3}} ) \times \cos ( ( ( 3 - \sqrt{3} ) / 2 ) \times Omega \times x ) + +and + +.. math:: D = (1 + \frac{1}{\sqrt{3}} ) \times \cos ( ( ( 3 + \sqrt{3} ) / 2 ) \times Omega \times x ) + +. diff --git a/Code/Mantid/docs/source/functions/NeutronBk2BkExpConvPVoigt.rst b/Code/Mantid/docs/source/functions/NeutronBk2BkExpConvPVoigt.rst new file mode 100644 index 000000000000..9ab8c2657c53 --- /dev/null +++ b/Code/Mantid/docs/source/functions/NeutronBk2BkExpConvPVoigt.rst @@ -0,0 +1,170 @@ +========================= +NeutronBk2BkExpConvPVoigt +========================= + + +Description +----------- + +Notice +------ + +1. This is not an algorithm. However this fit function is a used through +the :ref:`algm-Fit` algorithm. + +2. It is renamed from ThermalNeutronBk2BkExpConvPV. + +3. ThermalNeutronBk2BkExpConvPVoigt is not a regular peak function to +fit individual peaks. It is not allowed to set FWHM or peak centre to +this peak function. + +Summary +------- + +A thermal neutron back-to-back exponential convoluted with pseuduo-voigt +peakshape function is indeed a back-to-back exponential convoluted with +pseuduo-voigt peakshape function, while the parameters + +.. math:: \alpha + +, + +.. math:: \beta + + and + +.. math:: \sigma + + are not directly given, but calculated from a set of parameters that +are universal to all peaks in powder diffraction data. + +The purpose to implement this peak shape is to perform Le Bail Fit and +other data analysis on time-of-flight powder diffractometers' data in +Mantid. It is the peak shape No. 10 in Fullprof. See Refs. 1. + +Description +----------- + +Thermal neutron back to back exponential convoluted with psuedo voigt +peak function is a back to back exponential convoluted with psuedo voigt +peak function. Its difference to a regular back to back exponential +convoluted with psuedo voigt peak functiont is that it is a function for +all peaks in a TOF powder diffraction pattern, but not a single peak. + +Furthermore, the purpose to implement this function in Mantid is to +refine multiple parameters including crystal sample's unit cell +parameters. Therefore, unit cell lattice parameters are also included in +this function. + +Methods are not supported +^^^^^^^^^^^^^^^^^^^^^^^^^ + +1. setFWHM() 2. setCentre() : peak centre is determined by a set of +parameters including lattice parameter, Dtt1, Dtt1t, Zero, Zerot, Dtt2t, +Width and Tcross. Therefore, it is not allowed to set peak centre to +this peak function. + +Back-to-back exponential convoluted with pseuduo-voigt peakshape function +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +A back-to-back exponential convoluted with pseuduo-voigt peakshape +function for is defined as + +.. math:: \Omega(X_0) = \int_{\infty}^{\infty}pV(X_0-t)E(t)dt + +For back-to-back exponential: + +.. math:: E(d, t) = 2Ne^{\alpha(d) t} (t \leq 0) + +.. math:: E(d, t) = 2Ne^{-\beta(d) t} (t \geq 0) + +.. math:: N(d) = \frac{\alpha(d)\beta(d)}{2(\alpha(d)+\beta(d))} + +For psuedo-voigt + +.. math:: pV(x) = \eta L'(x) + (1-\eta)G'(x) + +The parameters :math:`/alpha` and :math:`/beta` represent the absolute +value of the exponential rise and decay constants (modelling the neutron +pulse coming from the moderator) , L'(x) stands for Lorentzian part and +G'(x) stands for Gaussian part. The parameter :math:`X_0` is the +location of the peak; more specifically it represent the point where the +exponentially modelled neutron pulse goes from being exponentially +rising to exponentially decaying. + +References + +1. Fullprof manual + +The figure below illustrate this peakshape function fitted to a TOF +peak: + +.. figure:: /images/BackToBackExponentialWithConstBackground.png + :alt: BackToBackExponentialWithConstBackground.png + + BackToBackExponentialWithConstBackground.png +Formula for converting unit from d-spacing to TOF +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Parameters of back-to-back exponential convoluted psuedo-voigt function +are calculated from a set of parameters universal to all peaks in a +diffraction pattern. Therefore, they are functions of peak position, +:math:`d`. + +`` ``\ :math:`n_{cross} = \frac{1}{2} erfc(Width(xcross\cdot d^{-1}))` + +`` ``\ :math:`TOF_e = Zero + Dtt1\cdot d` + +`` ``\ :math:`TOF_t = Zerot + Dtt1t\cdot d - Dtt2t \cdot d^{-1}` + +Final Time-of-flight is calculated as: + +`` ``\ :math:`TOF = n_{cross} TOF_e + (1-n_{cross}) TOF_t` + +Formular for calculating :math:`A(d)`, :math:`B(d)`, :math:`\sigma(d)` and :math:`\gamma(d)` +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +- :math:`\alpha(d)` + +| `` ``\ :math:`\alpha^e(d) = \alpha_0^e + \alpha_1^e d_h` +| `` ``\ :math:`\alpha^t(d) = \alpha_0^t - \frac{\alpha_1^t}{d_h}` +| `` ``\ :math:`\alpha(d) = \frac{1}{n\alpha^e + (1-n)\alpha^t}` + +- :math:`\beta(d)` + +| ``  ``\ :math:`\beta^e(d) = \beta_0^e + \beta_1^e d_h` +| ``  ``\ :math:`\beta^t(d) = \beta_0^t - \frac{\beta_1^t}{d_h}` +| ``  ``\ :math:`\beta(d) = \frac{1}{n\alpha^e + (1-n)\beta^t}` + +- For :math:`\sigma_G` and :math:`\gamma_L`, which represent the + standard deviation for pseudo-voigt + +``   ``\ :math:`\sigma_G^2(d_h) = \sigma_0^2 + (\sigma_1^2 + DST2(1-\zeta)^2)d_h^2 + (\sigma_2^2 + Gsize)d_h^4` + +| ``   ``\ :math:`\gamma_L(d_h) = \gamma_0 + (\gamma_1 + \zeta\sqrt{8\ln2DST2})d_h + (\gamma_2+F(SZ))d_h^2` +| ``   \end{eqnarray}`` + +- The analysis formula for the convoluted peak at :math:`d_h` + +``   ``\ :math:`\Omega(TOF(d_h)) = + (1-\eta(d_h))N\{e^uerfc(y)+e^verfc(z)\} - \frac{2N\eta}{\pi}\{\Im[e^pE_1(p)]+\Im[e^qE_1(q)]\}` + +where + +``   ``\ :math:`erfc(x) = 1-erf(x) = 1-\frac{2}{\sqrt{\pi}}\int_0^xe^{-u^2}du` + +``   ``\ :math:`E_1(z) = \int_z^{\infty}\frac{e^{-t}}{t}dt` + +``   ``\ :math:`u = \frac{1}{2}\alpha(d_h)(\alpha(d_h)\sigma^2(d_h)+2x)` + +``   ``\ :math:`y = \frac{\alpha(d_h)\sigma^2(d_h)+x}{\sqrt{2\sigma^2(d_h)}}` + +``   ``\ :math:`p = \alpha(d_h)x + \frac{i\alpha(d_h)H(d_h)}{2}` + +``   ``\ :math:`v = \frac{1}{2}\beta(d_h)(\beta(d_h)\sigma^2(d_h)-2x)` + +``   ``\ :math:`z = \frac{\beta(d_h)\sigma^2(d_h)-x}{\sqrt{2\sigma^2(d_h)}}` + +``   ``\ :math:`q = -\beta(d_h)x + \frac{i\beta(d_h)H(d_h)}{2}` + +:math:`erfc(x)` and :math:`E_1(z)` will be calculated numerically. diff --git a/Code/Mantid/docs/source/functions/PeakHKLErrors.rst b/Code/Mantid/docs/source/functions/PeakHKLErrors.rst new file mode 100644 index 000000000000..f0116d5bd6ba --- /dev/null +++ b/Code/Mantid/docs/source/functions/PeakHKLErrors.rst @@ -0,0 +1,55 @@ +============= +PeakHKLErrors +============= + + +Description +----------- + +== + +``This function calculates, for each peak, its h,k,and l offsets from an integer using goniometer settings and/or tilt and sample offsets from the parameters.`` + +The original PeaksWorkspace is unchanged. + +Attributes +~~~~~~~~~~ + +#. OptRuns : a list of run numbers whose sample orientations are to be + optimized. The list is separated by "/". +#. PeakWorkspaceName : The name of the PeaksWorkspace in the + AnalysisDataService + +Parameters +~~~~~~~~~~ + +#. SampleXOffset- XOffset of Goniometer center from instrument center in + meters +#. SampleYOffset- YOffset of Goniometer center from instrument center in + meters +#. SampleZOffset- YOffset of Goniometer center from instrument center in + meters + +#. GonRotx- For Goniometer tilt. Rotation about x-axis in degrees where + Tilt = Rotx(GonRotx)\*Roty(GonRoty)\*Rotz(GonRotz) +#. GonRoty- For Goniometer tilt. Rotation about y-axis +#. GonRotz- For Goniometer tilt. Rotation about z-axis( done 1st AFTER + phi-chi-omega rotations) + +#. chixxx - xxx is a run number from OptRuns. This is the chi angle in + degrees that will be used for that run( before tilting) +#. phixxx - xxx is a run number from OptRuns. This is the phi angle in + degrees that will be used for that run +#. omegaxxx - xxx is a run number from OptRuns. This is the omega angle + in degrees that will be used for that run + +NOTE:When used in fitting, some or all of the first 6 parameters could +be tied to zero. + +Outputs +~~~~~~~ + +The PeaksWorkspace is NOT changed. + +The argument out in function1D has ,for each peak, the h,k, and l +offsets from an integer using the current parameter values. diff --git a/Code/Mantid/docs/source/functions/ProductFunction.rst b/Code/Mantid/docs/source/functions/ProductFunction.rst new file mode 100644 index 000000000000..6ca9ae014306 --- /dev/null +++ b/Code/Mantid/docs/source/functions/ProductFunction.rst @@ -0,0 +1,13 @@ +=============== +ProductFunction +=============== + + +Description +----------- + +A ProductFunction is an extension of the +`CompositeFunction `__ which multiplies its member +functions to produce the output. Use this function to construct a +product of two or more fitting functions defined in Mantid. A member of +a ProductFunction can be a composite function itself. diff --git a/Code/Mantid/docs/source/functions/ProductLinearExp.rst b/Code/Mantid/docs/source/functions/ProductLinearExp.rst new file mode 100644 index 000000000000..02f25d4bf3ee --- /dev/null +++ b/Code/Mantid/docs/source/functions/ProductLinearExp.rst @@ -0,0 +1,18 @@ +================ +ProductLinearExp +================ + + +Description +----------- + +This fit function computes the product of a linear and exponential +function. See `ExpDecay `__ and +`LinearBackground `__ for details on the component +functions. + +:math:`(\mbox{A0}+\mbox{A1}\times x) \times \mbox{Height}\times \exp(-\frac{x}{\mbox{Lifetime}})` + +This function may be used with the :ref:`algm-Fit` algorithm. However, it +was originally added to Mantid as a named function for the purposes of +detector efficiency calibration. diff --git a/Code/Mantid/docs/source/functions/ProductQuadraticExp.rst b/Code/Mantid/docs/source/functions/ProductQuadraticExp.rst new file mode 100644 index 000000000000..f18fbbce16d7 --- /dev/null +++ b/Code/Mantid/docs/source/functions/ProductQuadraticExp.rst @@ -0,0 +1,18 @@ +=================== +ProductQuadraticExp +=================== + + +Description +----------- + +This fit function computes the product of a linear and exponential +function. See `ExpDecay `__ and QuadraticBackground for +details on the component functions. + +:math:`(\mbox{A0}+\mbox{A1}\times x+\mbox{A2}\times x^2) \times \mbox{Height}\times \exp(-\frac{x}{\mbox{Lifetime}})` + +This function may be used with the :ref:`algm-Fit` algorithm. However, it +was originally added to Mantid as a named function for the purposes of +detector efficiency calibration. Also see +`ProductLinearExp `__. diff --git a/Code/Mantid/docs/source/functions/Quadratic.rst b/Code/Mantid/docs/source/functions/Quadratic.rst new file mode 100644 index 000000000000..3e90f911f300 --- /dev/null +++ b/Code/Mantid/docs/source/functions/Quadratic.rst @@ -0,0 +1,17 @@ +========= +Quadratic +========= + + +Description +----------- + +A quadratic background function is defined as: + +.. math:: \mbox{A0}+\mbox{A1}*x+\mbox{A2}*x^2 + +where + +- A0 - coefficient for constant term +- A1 - coefficient for linear term +- A2 - coefficient for quadratic term diff --git a/Code/Mantid/docs/source/functions/SCDPanelErrors.rst b/Code/Mantid/docs/source/functions/SCDPanelErrors.rst new file mode 100644 index 000000000000..6ee30c9c11c3 --- /dev/null +++ b/Code/Mantid/docs/source/functions/SCDPanelErrors.rst @@ -0,0 +1,115 @@ +============== +SCDPanelErrors +============== + + +Description +----------- + +- This fit function is used for calibrating RectangularDetectors by + adjusting L0, time offset, panel width, + +panel height, panel center, panel orientation, and allow for the sample +being offset from the instrument center. + +Attributes +~~~~~~~~~~ + +This fit function is used for calibrating RectangularDetectors by +adjusting L0, time offset, panel width, panel height, panel center, +panel orientation, and allow for the sample being offset from the +instrument center. + +Attributes +~~~~~~~~~~ + +- a -The lattice parameter a +- b -The lattice parameter b +- c -The lattice parameter c +- alpha -The lattice parameter alpha in degrees +- beta -The lattice parameter beta in degrees +- gamma -The lattice parameter gamma in degrees +- PeakWorkspaceName-The name of the PeaksWorkspace in the Analysis Data + Service. + + This peak must be indexed by a UB matrix whose lattice parameters + are CLOSE to the above + lattice paramters + +- NGroups-The number of grouping of banks to be considered +- BankNames-a list of banknames separated by "/" or a "!" if the next + bank is in a different group. + + Bank names from the same group belong together("Requirement" for use + with the Fit algorithm) + +- startX- -1 or starting position in the workspace( see below) to start + calculating the outputs +- endX- -1 or 1+ ending position in the workspace( see below) to start + calculating the outputs +- RotateCenters-Boolean. If false Rotations are only about the center + of the banks. Otherwise rotations are ALSO + + around center of the instrument( For groups of banks, this will + result in a rotation about the center of all pixels.) + +- SampleOffsets-Boolean. A sample being off from the center of the + goniometer can result in larger errors. + +Workspace +~~~~~~~~~ + +A Workspace2D with 1 spectra. The xvalues of the spectra are for each +peak, the peak index repeated 3 times. The y values are all zero and the +errors are all 1.0 + +This spectra may have to be copied 3 times because of requirements from +the fitting system. + +Parameters +~~~~~~~~~~ + +- l0- the initial Flight path in units from Peak.getL1 +- t0-Time offset in the same units returned with Peak.getTOF) +- SampleX-Sample x offset in the same units returned with + Peak.getDetPos().norm() +- SampleY-Sample y offset in the same units returned with + Peak.getDetPos().norm() +- SampleZ-Sample z offset in the same units returned with + Peak.getDetPos().norm() +- f\*\_detWidthScale-panel Width for Group\* in the same units returned + with Peak.getDetPos().norm() +- f\*\_detHeightScale-panel Height for Group\* in the same units + returned with Peak.getDetPos().norm() +- f\*\_Xoffset-Panel Center x offsets for Group\* banks in the same + units returned with Peak.getDetPos().norm() +- f\*\_Yoffset-Panel Center y offsets for Group\* banks in the same + units returned with Peak.getDetPos().norm() +- f\*\_Zoffset-Panel Center z offsets for Group\* banks in the same + units returned with Peak.getDetPos().norm() +- f\*\_Xrot-Rotations(degrees) for Group\* banks around "Center" in x + axis direction +- f\*\_Yrot-Rotations(degrees) for Group\* banks around "Center" in y + axis direction +- f\*\_Zrot-Rotations(degrees) for Group\* banks around "Center" in z + axis direction +- SampleX -sample X offset in meters(Really Goniometer X offset) +- SampleY- sample Y offset in meters +- SampleZ- sample Z offset in meters + +The order of rotations correspond to the order used in all of Mantid. + +Output +~~~~~~ + +The argument out from function1D ,for each peak, gives the error in qx, +qy, and qz. The theoretical values for the qx, qy and qz are found as +follows: + +- Calculating the best fitting UB for the given indexing and parameter + values +- Find U +- The theoretical UB is then U\*B\ :sub:`0` where B\ :sub:`0` is formed + from the supplied lattice parameters +- The theoretical qx,qy,and qz can be obtained by multiplying the hkl + for the peak by this matrix(/2π) diff --git a/Code/Mantid/docs/source/functions/StaticKuboToyabe.rst b/Code/Mantid/docs/source/functions/StaticKuboToyabe.rst new file mode 100644 index 000000000000..c392940cb5e8 --- /dev/null +++ b/Code/Mantid/docs/source/functions/StaticKuboToyabe.rst @@ -0,0 +1,12 @@ +================ +StaticKuboToyabe +================ + + +Description +----------- + +Static Kubo Toyabe fitting function for use by Muon scientists defined +by + +.. math:: \mbox{A}\times ( \exp(-{Delta}^2 \times {x}^2 / 2 ) \times ( 1 - ( {Delta}^2 \times {x}^2 ) ) \times \frac 2 3 + \frac 1 3 ) diff --git a/Code/Mantid/docs/source/functions/StaticKuboToyabeTimesExpDecay.rst b/Code/Mantid/docs/source/functions/StaticKuboToyabeTimesExpDecay.rst new file mode 100644 index 000000000000..c86ddcb6727b --- /dev/null +++ b/Code/Mantid/docs/source/functions/StaticKuboToyabeTimesExpDecay.rst @@ -0,0 +1,11 @@ +============================= +StaticKuboToyabeTimesExpDecay +============================= + + +Description +----------- + +Fitting function for use by Muon scientists defined by: + +:math:`\mbox{A}\times ( \exp(-{Delta}^2 \times {x}^2 / 2 ) \times ( 1 - ( {Delta}^2 \times {x}^2 ) ) \times \frac 2 3 + \frac 1 3 ) \times \exp(-{Lambda} \times {x})` diff --git a/Code/Mantid/docs/source/functions/StaticKuboToyabeTimesGausDecay.rst b/Code/Mantid/docs/source/functions/StaticKuboToyabeTimesGausDecay.rst new file mode 100644 index 000000000000..d05eb79a7415 --- /dev/null +++ b/Code/Mantid/docs/source/functions/StaticKuboToyabeTimesGausDecay.rst @@ -0,0 +1,11 @@ +============================== +StaticKuboToyabeTimesGausDecay +============================== + + +Description +----------- + +Fitting function for use by Muon scientists defined by: + +:math:`\mbox{A}\times ( \exp(-{Delta}^2 \times {x}^2 / 2 ) \times ( 1 - ( {Delta}^2 \times {x}^2 ) ) \times \frac 2 3 + \frac 1 3 ) \times \exp(-{Sigma}^2 \times {x}^2 )` diff --git a/Code/Mantid/docs/source/functions/StretchExp.rst b/Code/Mantid/docs/source/functions/StretchExp.rst new file mode 100644 index 000000000000..91f41793c6f8 --- /dev/null +++ b/Code/Mantid/docs/source/functions/StretchExp.rst @@ -0,0 +1,11 @@ +========== +StretchExp +========== + + +Description +----------- + +The Stretched exponential fit function is defined by + +.. math:: Height \cdot e^{-(\frac{x}{Lifetime})^{Stretching} } diff --git a/Code/Mantid/docs/source/functions/StretchExpMuon.rst b/Code/Mantid/docs/source/functions/StretchExpMuon.rst new file mode 100644 index 000000000000..096e4a5c3075 --- /dev/null +++ b/Code/Mantid/docs/source/functions/StretchExpMuon.rst @@ -0,0 +1,11 @@ +============== +StretchExpMuon +============== + + +Description +----------- + +The Stretched exponential fit function is defined by + +.. math:: A \cdot e^{ (-{Lambda} \times {x}) ^{Beta} } diff --git a/Code/Mantid/docs/source/functions/ThermalNeutronBk2BkExpConvPVoigt.rst b/Code/Mantid/docs/source/functions/ThermalNeutronBk2BkExpConvPVoigt.rst new file mode 100644 index 000000000000..acdb332f538b --- /dev/null +++ b/Code/Mantid/docs/source/functions/ThermalNeutronBk2BkExpConvPVoigt.rst @@ -0,0 +1,170 @@ +================================ +ThermalNeutronBk2BkExpConvPVoigt +================================ + + +Description +----------- + +Notice +------ + +1. This is not an algorithm. However this fit function is a used through +the :ref:`algm-Fit` algorithm. + +2. It is renamed from ThermalNeutronBk2BkExpConvPV. + +3. ThermalNeutronBk2BkExpConvPVoigt is not a regular peak function to +fit individual peaks. It is not allowed to set FWHM or peak centre to +this peak function. + +Summary +------- + +A thermal neutron back-to-back exponential convoluted with pseuduo-voigt +peakshape function is indeed a back-to-back exponential convoluted with +pseuduo-voigt peakshape function, while the parameters + +.. math:: \alpha + +, + +.. math:: \beta + + and + +.. math:: \sigma + + are not directly given, but calculated from a set of parameters that +are universal to all peaks in powder diffraction data. + +The purpose to implement this peak shape is to perform Le Bail Fit and +other data analysis on time-of-flight powder diffractometers' data in +Mantid. It is the peak shape No. 10 in Fullprof. See Refs. 1. + +Description +----------- + +Thermal neutron back to back exponential convoluted with psuedo voigt +peak function is a back to back exponential convoluted with psuedo voigt +peak function. Its difference to a regular back to back exponential +convoluted with psuedo voigt peak functiont is that it is a function for +all peaks in a TOF powder diffraction pattern, but not a single peak. + +Furthermore, the purpose to implement this function in Mantid is to +refine multiple parameters including crystal sample's unit cell +parameters. Therefore, unit cell lattice parameters are also included in +this function. + +Methods are not supported +^^^^^^^^^^^^^^^^^^^^^^^^^ + +1. setFWHM() 2. setCentre() : peak centre is determined by a set of +parameters including lattice parameter, Dtt1, Dtt1t, Zero, Zerot, Dtt2t, +Width and Tcross. Therefore, it is not allowed to set peak centre to +this peak function. + +Back-to-back exponential convoluted with pseuduo-voigt peakshape function +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +A back-to-back exponential convoluted with pseuduo-voigt peakshape +function for is defined as + +.. math:: \Omega(X_0) = \int_{\infty}^{\infty}pV(X_0-t)E(t)dt + +For back-to-back exponential: + +.. math:: E(d, t) = 2Ne^{\alpha(d) t} (t \leq 0) + +.. math:: E(d, t) = 2Ne^{-\beta(d) t} (t \geq 0) + +.. math:: N(d) = \frac{\alpha(d)\beta(d)}{2(\alpha(d)+\beta(d))} + +For psuedo-voigt + +.. math:: pV(x) = \eta L'(x) + (1-\eta)G'(x) + +The parameters :math:`/alpha` and :math:`/beta` represent the absolute +value of the exponential rise and decay constants (modelling the neutron +pulse coming from the moderator) , L'(x) stands for Lorentzian part and +G'(x) stands for Gaussian part. The parameter :math:`X_0` is the +location of the peak; more specifically it represent the point where the +exponentially modelled neutron pulse goes from being exponentially +rising to exponentially decaying. + +References + +1. Fullprof manual + +The figure below illustrate this peakshape function fitted to a TOF +peak: + +.. figure:: /images/BackToBackExponentialWithConstBackground.png + :alt: BackToBackExponentialWithConstBackground.png + + BackToBackExponentialWithConstBackground.png +Formula for converting unit from d-spacing to TOF +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Parameters of back-to-back exponential convoluted psuedo-voigt function +are calculated from a set of parameters universal to all peaks in a +diffraction pattern. Therefore, they are functions of peak position, +:math:`d`. + +`` ``\ :math:`n_{cross} = \frac{1}{2} erfc(Width(xcross\cdot d^{-1}))` + +`` ``\ :math:`TOF_e = Zero + Dtt1\cdot d` + +`` ``\ :math:`TOF_t = Zerot + Dtt1t\cdot d - Dtt2t \cdot d^{-1}` + +Final Time-of-flight is calculated as: + +`` ``\ :math:`TOF = n_{cross} TOF_e + (1-n_{cross}) TOF_t` + +Formular for calculating :math:`A(d)`, :math:`B(d)`, :math:`\sigma(d)` and :math:`\gamma(d)` +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +- :math:`\alpha(d)` + +| `` ``\ :math:`\alpha^e(d) = \alpha_0^e + \alpha_1^e d_h` +| `` ``\ :math:`\alpha^t(d) = \alpha_0^t - \frac{\alpha_1^t}{d_h}` +| `` ``\ :math:`\alpha(d) = \frac{1}{n\alpha^e + (1-n)\alpha^t}` + +- :math:`\beta(d)` + +| ``  ``\ :math:`\beta^e(d) = \beta_0^e + \beta_1^e d_h` +| ``  ``\ :math:`\beta^t(d) = \beta_0^t - \frac{\beta_1^t}{d_h}` +| ``  ``\ :math:`\beta(d) = \frac{1}{n\alpha^e + (1-n)\beta^t}` + +- For :math:`\sigma_G` and :math:`\gamma_L`, which represent the + standard deviation for pseudo-voigt + +``   ``\ :math:`\sigma_G^2(d_h) = \sigma_0^2 + (\sigma_1^2 + DST2(1-\zeta)^2)d_h^2 + (\sigma_2^2 + Gsize)d_h^4` + +| ``   ``\ :math:`\gamma_L(d_h) = \gamma_0 + (\gamma_1 + \zeta\sqrt{8\ln2DST2})d_h + (\gamma_2+F(SZ))d_h^2` +| ``   \end{eqnarray}`` + +- The analysis formula for the convoluted peak at :math:`d_h` + +``   ``\ :math:`\Omega(TOF(d_h)) = + (1-\eta(d_h))N\{e^uerfc(y)+e^verfc(z)\} - \frac{2N\eta}{\pi}\{\Im[e^pE_1(p)]+\Im[e^qE_1(q)]\}` + +where + +``   ``\ :math:`erfc(x) = 1-erf(x) = 1-\frac{2}{\sqrt{\pi}}\int_0^xe^{-u^2}du` + +``   ``\ :math:`E_1(z) = \int_z^{\infty}\frac{e^{-t}}{t}dt` + +``   ``\ :math:`u = \frac{1}{2}\alpha(d_h)(\alpha(d_h)\sigma^2(d_h)+2x)` + +``   ``\ :math:`y = \frac{\alpha(d_h)\sigma^2(d_h)+x}{\sqrt{2\sigma^2(d_h)}}` + +``   ``\ :math:`p = \alpha(d_h)x + \frac{i\alpha(d_h)H(d_h)}{2}` + +``   ``\ :math:`v = \frac{1}{2}\beta(d_h)(\beta(d_h)\sigma^2(d_h)-2x)` + +``   ``\ :math:`z = \frac{\beta(d_h)\sigma^2(d_h)-x}{\sqrt{2\sigma^2(d_h)}}` + +``   ``\ :math:`q = -\beta(d_h)x + \frac{i\beta(d_h)H(d_h)}{2}` + +:math:`erfc(x)` and :math:`E_1(z)` will be calculated numerically. diff --git a/Code/Mantid/docs/source/functions/UserFunction.rst b/Code/Mantid/docs/source/functions/UserFunction.rst new file mode 100644 index 000000000000..834f23fb212d --- /dev/null +++ b/Code/Mantid/docs/source/functions/UserFunction.rst @@ -0,0 +1,16 @@ +============ +UserFunction +============ + + +Description +----------- + +A UserFunction is defined by a string formula. The formula is assigned +by setting string attribute Formula: + +`` "name=UserFunction, Formula = h*sin(a*x), h=2, a=1"`` + +Formula must use 'x' for the x-values. The fitting parameters become +defined only after the Formula attribute is set that is why Formula must +go first in UserFunction definition. diff --git a/Code/Mantid/docs/source/functions/Voigt.rst b/Code/Mantid/docs/source/functions/Voigt.rst new file mode 100644 index 000000000000..20b648e4f7f9 --- /dev/null +++ b/Code/Mantid/docs/source/functions/Voigt.rst @@ -0,0 +1,33 @@ +===== +Voigt +===== + + +Description +----------- + +A Voigt function is a convolution between a Lorentzian and Gaussian and +is defined as: + +.. math:: V(X,Y) = \frac{Y}{\pi}\int_{-\infty}^{+\infty}dz\frac{exp^{-z^2}}{Y^2 + (X - z)^2} + +where + +- X - Normalized line separation width; +- Y - Normalized collision separation width. + +Generally, the Voigt function involves a numerical integral and is +therefore a computational intensive task. However, several +approximations to the Voigt function exist making it palatable for +fitting in a least-squares algorithm. The approximation used here is +described in + +- A.B. McLean, C.E.J. Mitchell, D.M. Swanston, Implementation of an + efficient analytical approximation to the Voigt function for + photoemission lineshape analysis, Journal of Electron Spectroscopy + and Related Phenomena, Volume 69, Issue 2, 29 September 1994, Pages + 125-132, ISSN 0368-2048, + 10.1016/0368-2048(94)02189-7.(http://www.sciencedirect.com/science/article/pii/0368204894021897) + +The approximation uses a combination of 4 Lorentzians in two variables +to generate good approximation to the true function. diff --git a/Code/Mantid/docs/qtassistant/images/AbsorptionFlow.png b/Code/Mantid/docs/source/images/AbsorptionFlow.png similarity index 100% rename from Code/Mantid/docs/qtassistant/images/AbsorptionFlow.png rename to Code/Mantid/docs/source/images/AbsorptionFlow.png diff --git a/Code/Mantid/docs/qtassistant/images/BackToBackExponentialWithConstBackground.png b/Code/Mantid/docs/source/images/BackToBackExponentialWithConstBackground.png similarity index 100% rename from Code/Mantid/docs/qtassistant/images/BackToBackExponentialWithConstBackground.png rename to Code/Mantid/docs/source/images/BackToBackExponentialWithConstBackground.png diff --git a/Code/Mantid/docs/qtassistant/images/BinMD_Coordinate_Transforms_withLine.png b/Code/Mantid/docs/source/images/BinMD_Coordinate_Transforms_withLine.png similarity index 100% rename from Code/Mantid/docs/qtassistant/images/BinMD_Coordinate_Transforms_withLine.png rename to Code/Mantid/docs/source/images/BinMD_Coordinate_Transforms_withLine.png diff --git a/Code/Mantid/docs/qtassistant/images/Box.png b/Code/Mantid/docs/source/images/Box.png similarity index 100% rename from Code/Mantid/docs/qtassistant/images/Box.png rename to Code/Mantid/docs/source/images/Box.png diff --git a/Code/Mantid/docs/qtassistant/images/ChopDataIntegrationExplanation.png b/Code/Mantid/docs/source/images/ChopDataIntegrationExplanation.png similarity index 100% rename from Code/Mantid/docs/qtassistant/images/ChopDataIntegrationExplanation.png rename to Code/Mantid/docs/source/images/ChopDataIntegrationExplanation.png diff --git a/Code/Mantid/docs/qtassistant/images/ConvertToEnergyInfoTable.png b/Code/Mantid/docs/source/images/ConvertToEnergyInfoTable.png similarity index 100% rename from Code/Mantid/docs/qtassistant/images/ConvertToEnergyInfoTable.png rename to Code/Mantid/docs/source/images/ConvertToEnergyInfoTable.png diff --git a/Code/Mantid/docs/source/images/Convolution.png b/Code/Mantid/docs/source/images/Convolution.png new file mode 100644 index 000000000000..91a5e7a4d9da Binary files /dev/null and b/Code/Mantid/docs/source/images/Convolution.png differ diff --git a/Code/Mantid/docs/qtassistant/images/FFTGaussian1.png b/Code/Mantid/docs/source/images/FFTGaussian1.png similarity index 100% rename from Code/Mantid/docs/qtassistant/images/FFTGaussian1.png rename to Code/Mantid/docs/source/images/FFTGaussian1.png diff --git a/Code/Mantid/docs/qtassistant/images/FFTGaussian1FFT.png b/Code/Mantid/docs/source/images/FFTGaussian1FFT.png similarity index 100% rename from Code/Mantid/docs/qtassistant/images/FFTGaussian1FFT.png rename to Code/Mantid/docs/source/images/FFTGaussian1FFT.png diff --git a/Code/Mantid/docs/qtassistant/images/FFTGaussian2.png b/Code/Mantid/docs/source/images/FFTGaussian2.png similarity index 100% rename from Code/Mantid/docs/qtassistant/images/FFTGaussian2.png rename to Code/Mantid/docs/source/images/FFTGaussian2.png diff --git a/Code/Mantid/docs/qtassistant/images/FFTGaussian2FFT.png b/Code/Mantid/docs/source/images/FFTGaussian2FFT.png similarity index 100% rename from Code/Mantid/docs/qtassistant/images/FFTGaussian2FFT.png rename to Code/Mantid/docs/source/images/FFTGaussian2FFT.png diff --git a/Code/Mantid/docs/qtassistant/images/GEM_Focused.png b/Code/Mantid/docs/source/images/GEM_Focused.png similarity index 100% rename from Code/Mantid/docs/qtassistant/images/GEM_Focused.png rename to Code/Mantid/docs/source/images/GEM_Focused.png diff --git a/Code/Mantid/docs/qtassistant/images/Gaussian2Fit.jpg b/Code/Mantid/docs/source/images/Gaussian2Fit.jpg similarity index 100% rename from Code/Mantid/docs/qtassistant/images/Gaussian2Fit.jpg rename to Code/Mantid/docs/source/images/Gaussian2Fit.jpg diff --git a/Code/Mantid/docs/qtassistant/images/Gaussian2Fit_Ties.jpg b/Code/Mantid/docs/source/images/Gaussian2Fit_Ties.jpg similarity index 100% rename from Code/Mantid/docs/qtassistant/images/Gaussian2Fit_Ties.jpg rename to Code/Mantid/docs/source/images/Gaussian2Fit_Ties.jpg diff --git a/Code/Mantid/docs/qtassistant/images/GaussianFit.jpg b/Code/Mantid/docs/source/images/GaussianFit.jpg similarity index 100% rename from Code/Mantid/docs/qtassistant/images/GaussianFit.jpg rename to Code/Mantid/docs/source/images/GaussianFit.jpg diff --git a/Code/Mantid/docs/qtassistant/images/GaussianFit_Ties.jpg b/Code/Mantid/docs/source/images/GaussianFit_Ties.jpg similarity index 100% rename from Code/Mantid/docs/qtassistant/images/GaussianFit_Ties.jpg rename to Code/Mantid/docs/source/images/GaussianFit_Ties.jpg diff --git a/Code/Mantid/docs/qtassistant/images/GaussianWithConstBackground.png b/Code/Mantid/docs/source/images/GaussianWithConstBackground.png similarity index 100% rename from Code/Mantid/docs/qtassistant/images/GaussianWithConstBackground.png rename to Code/Mantid/docs/source/images/GaussianWithConstBackground.png diff --git a/Code/Mantid/docs/qtassistant/images/IkedaCarpenterPVwithBackground.png b/Code/Mantid/docs/source/images/IkedaCarpenterPVwithBackground.png similarity index 100% rename from Code/Mantid/docs/qtassistant/images/IkedaCarpenterPVwithBackground.png rename to Code/Mantid/docs/source/images/IkedaCarpenterPVwithBackground.png diff --git a/Code/Mantid/docs/qtassistant/images/ImageNotFound.png b/Code/Mantid/docs/source/images/ImageNotFound.png similarity index 100% rename from Code/Mantid/docs/qtassistant/images/ImageNotFound.png rename to Code/Mantid/docs/source/images/ImageNotFound.png diff --git a/Code/Mantid/docs/qtassistant/images/InstrumentTree.jpg b/Code/Mantid/docs/source/images/InstrumentTree.jpg similarity index 100% rename from Code/Mantid/docs/qtassistant/images/InstrumentTree.jpg rename to Code/Mantid/docs/source/images/InstrumentTree.jpg diff --git a/Code/Mantid/docs/qtassistant/images/IntegrateEllipsoids.png b/Code/Mantid/docs/source/images/IntegrateEllipsoids.png similarity index 100% rename from Code/Mantid/docs/qtassistant/images/IntegrateEllipsoids.png rename to Code/Mantid/docs/source/images/IntegrateEllipsoids.png diff --git a/Code/Mantid/docs/qtassistant/images/IntegratePeaksMD_graph1.png b/Code/Mantid/docs/source/images/IntegratePeaksMD_graph1.png similarity index 100% rename from Code/Mantid/docs/qtassistant/images/IntegratePeaksMD_graph1.png rename to Code/Mantid/docs/source/images/IntegratePeaksMD_graph1.png diff --git a/Code/Mantid/docs/qtassistant/images/IntegratePeaksMD_graph2.png b/Code/Mantid/docs/source/images/IntegratePeaksMD_graph2.png similarity index 100% rename from Code/Mantid/docs/qtassistant/images/IntegratePeaksMD_graph2.png rename to Code/Mantid/docs/source/images/IntegratePeaksMD_graph2.png diff --git a/Code/Mantid/docs/qtassistant/images/LorentzianWithConstBackground.png b/Code/Mantid/docs/source/images/LorentzianWithConstBackground.png similarity index 100% rename from Code/Mantid/docs/qtassistant/images/LorentzianWithConstBackground.png rename to Code/Mantid/docs/source/images/LorentzianWithConstBackground.png diff --git a/Code/Mantid/docs/qtassistant/images/Monitorspect_getei.jpg b/Code/Mantid/docs/source/images/Monitorspect_getei.jpg similarity index 100% rename from Code/Mantid/docs/qtassistant/images/Monitorspect_getei.jpg rename to Code/Mantid/docs/source/images/Monitorspect_getei.jpg diff --git a/Code/Mantid/docs/qtassistant/images/PeakIntensityVsRadius_fig.png b/Code/Mantid/docs/source/images/PeakIntensityVsRadius_fig.png similarity index 100% rename from Code/Mantid/docs/qtassistant/images/PeakIntensityVsRadius_fig.png rename to Code/Mantid/docs/source/images/PeakIntensityVsRadius_fig.png diff --git a/Code/Mantid/docs/qtassistant/images/PlotPeakByLogValue_Output.png b/Code/Mantid/docs/source/images/PlotPeakByLogValue_Output.png similarity index 100% rename from Code/Mantid/docs/qtassistant/images/PlotPeakByLogValue_Output.png rename to Code/Mantid/docs/source/images/PlotPeakByLogValue_Output.png diff --git a/Code/Mantid/docs/source/images/README.md b/Code/Mantid/docs/source/images/README.md index 74c28ac24b79..252b3596b8a3 100644 --- a/Code/Mantid/docs/source/images/README.md +++ b/Code/Mantid/docs/source/images/README.md @@ -1,3 +1,3 @@ Contains images for the documentation -The algorithm screenshots are automatically generated into a `screenshots` subdirectory and this subdirectory has been added to the `.gitignore` in this directory +The path to an image can be referenced in an `rst` file using an absolute path `/images/myimage.png"` as Sphinx treats absolute paths as relative to the root source directory, i.e the directory containing conf.py. \ No newline at end of file diff --git a/Code/Mantid/docs/qtassistant/images/ReadFromFile-Grouping.png b/Code/Mantid/docs/source/images/ReadFromFile-Grouping.png similarity index 100% rename from Code/Mantid/docs/qtassistant/images/ReadFromFile-Grouping.png rename to Code/Mantid/docs/source/images/ReadFromFile-Grouping.png diff --git a/Code/Mantid/docs/qtassistant/images/RebinByPulseTime.png b/Code/Mantid/docs/source/images/RebinByPulseTime.png similarity index 100% rename from Code/Mantid/docs/qtassistant/images/RebinByPulseTime.png rename to Code/Mantid/docs/source/images/RebinByPulseTime.png diff --git a/Code/Mantid/docs/qtassistant/images/SassenaFFTexample.jpg b/Code/Mantid/docs/source/images/SassenaFFTexample.jpg similarity index 100% rename from Code/Mantid/docs/qtassistant/images/SassenaFFTexample.jpg rename to Code/Mantid/docs/source/images/SassenaFFTexample.jpg diff --git a/Code/Mantid/docs/qtassistant/images/SliceViewer-DetectorFace.png b/Code/Mantid/docs/source/images/SliceViewer-DetectorFace.png similarity index 100% rename from Code/Mantid/docs/qtassistant/images/SliceViewer-DetectorFace.png rename to Code/Mantid/docs/source/images/SliceViewer-DetectorFace.png diff --git a/Code/Mantid/docs/qtassistant/images/UnwrapSNS_inst.png b/Code/Mantid/docs/source/images/UnwrapSNS_inst.png similarity index 100% rename from Code/Mantid/docs/qtassistant/images/UnwrapSNS_inst.png rename to Code/Mantid/docs/source/images/UnwrapSNS_inst.png diff --git a/Code/Mantid/docs/qtassistant/images/UserFunction1D.gif b/Code/Mantid/docs/source/images/UserFunction1D.gif similarity index 100% rename from Code/Mantid/docs/qtassistant/images/UserFunction1D.gif rename to Code/Mantid/docs/source/images/UserFunction1D.gif diff --git a/Code/Mantid/docs/qtassistant/images/Wav_Q_bins.png b/Code/Mantid/docs/source/images/Wav_Q_bins.png similarity index 100% rename from Code/Mantid/docs/qtassistant/images/Wav_Q_bins.png rename to Code/Mantid/docs/source/images/Wav_Q_bins.png diff --git a/Code/Mantid/docs/source/index.rst b/Code/Mantid/docs/source/index.rst new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/Code/Mantid/docs/source/usagedata-note.txt b/Code/Mantid/docs/source/usagedata-note.txt new file mode 100644 index 000000000000..d133e4ca2d5a --- /dev/null +++ b/Code/Mantid/docs/source/usagedata-note.txt @@ -0,0 +1,5 @@ +.. note:: + + To run these usage example please first download the + `usage data `_, + and add these to your path. In MantidPlot this is done using `Manage User Directories `_. diff --git a/Code/Mantid/docs/sphinxext/mantiddoc/directives/__init__.py b/Code/Mantid/docs/sphinxext/mantiddoc/directives/__init__.py index 10dcf75288c5..0fba7b067144 100644 --- a/Code/Mantid/docs/sphinxext/mantiddoc/directives/__init__.py +++ b/Code/Mantid/docs/sphinxext/mantiddoc/directives/__init__.py @@ -7,7 +7,7 @@ 'mantiddoc.directives' to be added to the Sphinx extensions configuration. """ -import algorithm, aliases, categories, properties, summary +import algorithm, alias, categories, properties, summary def setup(app): """ @@ -17,7 +17,7 @@ def setup(app): app: The main Sphinx application object """ algorithm.setup(app) - aliases.setup(app) + alias.setup(app) categories.setup(app) properties.setup(app) summary.setup(app) diff --git a/Code/Mantid/docs/sphinxext/mantiddoc/directives/algorithm.py b/Code/Mantid/docs/sphinxext/mantiddoc/directives/algorithm.py index ec14e58566f4..2be0d8c4058e 100644 --- a/Code/Mantid/docs/sphinxext/mantiddoc/directives/algorithm.py +++ b/Code/Mantid/docs/sphinxext/mantiddoc/directives/algorithm.py @@ -36,9 +36,6 @@ def run(self): """ Called by Sphinx when the ..algorithm:: directive is encountered """ - self._track_algorithm() - - self._insert_reference_link() self._insert_pagetitle() imgpath = self._create_screenshot() self._insert_screenshot_link(imgpath) @@ -48,48 +45,31 @@ def run(self): self.commit_rst() return [] - def _track_algorithm(self): - """ - Keep a track of the highest versions of algorithms encountered. - The algorithm name and version are retrieved from the document name. - See BaseDirective::set_algorithm_and_version() - """ - env = self.state.document.settings.env - if not hasattr(env, "algorithm"): - env.algorithms = {} - #endif - - name, version = self.algorithm_name(), self.algorithm_version() - algorithms = env.algorithms - if name in algorithms: - prev_version = algorithms[name][1] - if version > prev_version: - algorithms[name][1] = version - else: - algorithms[name] = (name, version) - - def _insert_reference_link(self): + def _insert_pagetitle(self): """ Outputs a reference to the top of the algorithm's rst of the form ".. _algm-AlgorithmName-vVersion:", so that the page can be referenced using :ref:`algm-AlgorithmName-version`. If this is the highest - version then it also outputs a reference ".. _algm-AlgorithmName: + version then it outputs a reference ".. _algm-AlgorithmName: instead + + It then outputs a title for the page """ from mantid.api import AlgorithmFactory alg_name = self.algorithm_name() version = self.algorithm_version() - self.add_rst(".. _algm-%s-v%d:\n" % (alg_name, version)) + # page reference must come directly before the title if it wants + # to be referenced without defining the link text. Here we put the + # specific version one first so that it always must be referenced + # using the full link text ":ref`LinkText `:" + self.add_rst(".. _algm-%s-v%d:\n\n" % (alg_name, version)) if AlgorithmFactory.highestVersion(alg_name) == version: - self.add_rst(".. _algm-%s:\n" % alg_name) + self.add_rst(".. _algm-%s:\n\n" % alg_name) - def _insert_pagetitle(self): - """ - Outputs a title for the page - """ - title = "%s v%d" % (self.algorithm_name(), self.algorithm_version()) + # title + title = "%s v%d" % (alg_name, version) self.add_rst(self.make_header(title, True)) def _insert_toc(self): @@ -108,18 +88,23 @@ def _create_screenshot(self): Returns: str: The full path to the created image """ - from mantiddoc.tools.screenshot import algorithm_screenshot + notfoundimage = "/images/ImageNotFound.png" + try: + screenshots_dir = self._screenshot_directory() + except RuntimeError: + return notfoundimage - env = self.state.document.settings.env - screenshots_dir = self._screenshot_directory() + # Generate image + from mantiddoc.tools.screenshot import algorithm_screenshot if not os.path.exists(screenshots_dir): os.makedirs(screenshots_dir) try: imgpath = algorithm_screenshot(self.algorithm_name(), screenshots_dir, version=self.algorithm_version()) except Exception, exc: + env = self.state.document.settings.env env.warn(env.docname, "Unable to generate screenshot for '%s' - %s" % (algorithm_name, str(exc))) - imgpath = os.path.join(screenshots_dir, "failed_dialog.png") + imgpath = notfoundimage return imgpath @@ -144,13 +129,18 @@ def _insert_screenshot_link(self, img_path): filename = os.path.split(img_path)[1] cfgdir = env.srcdir - screenshots_dir = self._screenshot_directory() - rel_path = os.path.relpath(screenshots_dir, cfgdir) - # This is a href link so is expected to be in unix style - rel_path = rel_path.replace("\\","/") - # stick a "/" as the first character so Sphinx computes relative location from source directory - path = "/" + rel_path + "/" + filename + try: + screenshots_dir = self._screenshot_directory() + rel_path = os.path.relpath(screenshots_dir, cfgdir) + # This is a href link so is expected to be in unix style + rel_path = rel_path.replace("\\","/") + # stick a "/" as the first character so Sphinx computes relative location from source directory + path = "/" + rel_path + "/" + filename + except RuntimeError: + # Use path as it is + path = img_path + caption = "A screenshot of the **" + self.algorithm_name() + "** dialog." self.add_rst(format_str % (path, caption)) @@ -187,7 +177,7 @@ def _insert_deprecation_warning(self): match = DEPRECATE_USE_ALG_RE.search(msg) if match is not None and len(match.groups()) == 1: name = match.group(0) - msg = DEPRECATE_USE_ALG_RE.sub(r"Use :ref:`algorithm|\1` instead.", msg) + msg = DEPRECATE_USE_ALG_RE.sub(r"Use :ref:`algm-\1` instead.", msg) self.add_rst(".. warning:: %s" % msg) @@ -198,15 +188,15 @@ def html_collect_pages(app): """ Write out unversioned algorithm pages that redirect to the highest version of the algorithm """ - env = app.builder.env - if not hasattr(env, "algorithms"): - return # nothing to do + from mantid.api import AlgorithmFactory template = REDIRECT_TEMPLATE + all_algs = AlgorithmFactory.getRegisteredAlgorithms(True) - algorithms = env.algorithms - for name, highest_version in algorithms.itervalues(): + for name, versions in all_algs.iteritems(): redirect_pagename = "algorithms/%s" % name + versions.sort() + highest_version = versions[-1] target = "%s-v%d.html" % (name, highest_version) context = {"name" : name, "target" : target} yield (redirect_pagename, context, template) diff --git a/Code/Mantid/docs/sphinxext/mantiddoc/directives/aliases.py b/Code/Mantid/docs/sphinxext/mantiddoc/directives/alias.py similarity index 68% rename from Code/Mantid/docs/sphinxext/mantiddoc/directives/aliases.py rename to Code/Mantid/docs/sphinxext/mantiddoc/directives/alias.py index 2481e4ca734f..829c25ee8b78 100644 --- a/Code/Mantid/docs/sphinxext/mantiddoc/directives/aliases.py +++ b/Code/Mantid/docs/sphinxext/mantiddoc/directives/alias.py @@ -1,24 +1,24 @@ from base import BaseDirective -class AliasesDirective(BaseDirective): +class AliasDirective(BaseDirective): """ - Obtains the aliases for a given algorithm based on it's name. + Obtains the alias for a given algorithm based on it's name. """ required_arguments, optional_arguments = 0, 0 def run(self): """ - Called by Sphinx when the ..aliases:: directive is encountered. + Called by Sphinx when the ..alias:: directive is encountered. """ alg = self.create_mantid_algorithm(self.algorithm_name(), self.algorithm_version()) alias = alg.alias() if len(alias) == 0: return [] - self.add_rst(self.make_header("Aliases")) + self.add_rst(self.make_header("Alias")) format_str = "This algorithm is also known as: **%s**" self.add_rst(format_str % alias) self.commit_rst() @@ -32,4 +32,4 @@ def setup(app): Args: app: The main Sphinx application object """ - app.add_directive('aliases', AliasesDirective) + app.add_directive('alias', AliasDirective) diff --git a/Code/Mantid/docs/sphinxext/mantiddoc/directives/base.py b/Code/Mantid/docs/sphinxext/mantiddoc/directives/base.py index f52f4c635420..cad897687a4f 100644 --- a/Code/Mantid/docs/sphinxext/mantiddoc/directives/base.py +++ b/Code/Mantid/docs/sphinxext/mantiddoc/directives/base.py @@ -96,7 +96,7 @@ def make_header(self, name, pagetitle=False): str: ReST formatted header with algorithm_name as content. """ if pagetitle: - line = "\n" + "=" * len(name) + "\n" + line = "\n" + "=" * (len(name) + 1) + "\n" return line + name + line else: line = "\n" + "-" * len(name) + "\n" diff --git a/Code/Mantid/docs/sphinxext/mantiddoc/directives/categories.py b/Code/Mantid/docs/sphinxext/mantiddoc/directives/categories.py index c5b7f51bcb75..3c7f777fcebe 100644 --- a/Code/Mantid/docs/sphinxext/mantiddoc/directives/categories.py +++ b/Code/Mantid/docs/sphinxext/mantiddoc/directives/categories.py @@ -9,8 +9,8 @@ from base import BaseDirective, algorithm_name_and_version CATEGORY_INDEX_TEMPLATE = "category.html" -# relative to the "root" directory -CATEGORIES_HTML_DIR = "categories" +# relative to the directory containing the source file +CATEGORIES_HTML_ROOT = "categories" class LinkItem(object): """ @@ -81,14 +81,17 @@ class Category(LinkItem): pages = None # Collection of PageRef objects that form subcategories of this category subcategories = None + # Set to non-empty string to indicate a subdirectory for the final output + namespace = "" - def __init__(self, name, docname): + def __init__(self, name, docname, namespace): super(Category, self).__init__(name, docname) # override default link self.link = "../categories/%s.html" % name self.pages = set([]) self.subcategories = set([]) + self.namespace = namespace #endclass @@ -180,6 +183,12 @@ def _create_links_and_track(self, page_name, category_list): if not hasattr(env, "categories"): env.categories = {} + # If no arguments currently assume algorithm + if len(self.arguments) == 0: + namespace = "algorithms" + else: + namespace = "" + link_rst = "" ncategs = 0 for item in category_list: @@ -192,7 +201,7 @@ def _create_links_and_track(self, page_name, category_list): parent = None for index, categ_name in enumerate(categs): if categ_name not in env.categories: - category = Category(categ_name, env) + category = Category(categ_name, env, namespace) env.categories[categ_name] = category else: category = env.categories[categ_name] @@ -200,10 +209,13 @@ def _create_links_and_track(self, page_name, category_list): category.pages.add(PageRef(page_name, env.docname)) if index > 0: # first is never a child - parent.subcategories.add(Category(categ_name, env.docname)) + parent.subcategories.add(Category(categ_name, env.docname, namespace)) #endif - link_rst += "`%s <../%s/%s.html>`_ | " % (categ_name, CATEGORIES_HTML_DIR, categ_name) + category_dir = CATEGORIES_HTML_ROOT + if namespace != "": + category_dir += "/" + namespace + link_rst += "`%s <../%s/%s.html>`_ | " % (categ_name, category_dir, categ_name) ncategs += 1 parent = category # endfor @@ -246,8 +258,9 @@ def create_category_pages(app): Arguments: app: A Sphinx application object """ - env = app.builder.env + import os.path + env = app.builder.env # jinja2 html template template = CATEGORY_INDEX_TEMPLATE @@ -259,7 +272,10 @@ def create_category_pages(app): context["subcategories"] = sorted(category.subcategories, key = lambda x: x.name[0]) context["pages"] = sorted(category.pages, key = lambda x: x.name[0]) - yield (CATEGORIES_HTML_DIR + "/" + name, context, template) + outdir = CATEGORIES_HTML_ROOT + "/" + if category.namespace != "": + outdir += category.namespace + "/" + yield (outdir + name, context, template) # enddef #----------------------------------------------------------------------------------------------------------- diff --git a/Code/Mantid/docs/sphinxext/mantiddoc/directives/properties.py b/Code/Mantid/docs/sphinxext/mantiddoc/directives/properties.py index 0f6177b0ed26..f8219d681902 100644 --- a/Code/Mantid/docs/sphinxext/mantiddoc/directives/properties.py +++ b/Code/Mantid/docs/sphinxext/mantiddoc/directives/properties.py @@ -13,18 +13,19 @@ def run(self): """ Called by Sphinx when the ..properties:: directive is encountered. """ - self.add_rst(self.make_header("Properties")) - self.add_rst(self._populate_properties_table()) - self.commit_rst() + if self._create_properties_table(): + self.commit_rst() return [] - def _populate_properties_table(self): + def _create_properties_table(self): """ Populates the ReST table with algorithm properties. """ alg = self.create_mantid_algorithm(self.algorithm_name(), self.algorithm_version()) alg_properties = alg.getProperties() + if len(alg_properties) == 0: + return False # Stores each property of the algorithm in a tuple. properties = [] @@ -43,8 +44,9 @@ def _populate_properties_table(self): str(prop.documentation.replace("\n", " ")) )) - # Build and add the properties to the ReST table. - return self._build_table(properties) + self.add_rst(self.make_header("Properties")) + self.add_rst(self._build_table(properties)) + return True def _build_table(self, table_content): """ diff --git a/Test/AutoTestData/MUSR00015194.nxs b/Test/AutoTestData/MUSR00015194.nxs deleted file mode 100644 index 83cb5e28995b..000000000000 Binary files a/Test/AutoTestData/MUSR00015194.nxs and /dev/null differ diff --git a/Test/AutoTestData/MUSR00015195.nxs b/Test/AutoTestData/MUSR00015195.nxs deleted file mode 100644 index 461b587fbc8f..000000000000 Binary files a/Test/AutoTestData/MUSR00015195.nxs and /dev/null differ diff --git a/Test/AutoTestData/MUSR00015196.nxs b/Test/AutoTestData/MUSR00015196.nxs deleted file mode 100644 index c24a563c6430..000000000000 Binary files a/Test/AutoTestData/MUSR00015196.nxs and /dev/null differ diff --git a/Test/AutoTestData/MUSR00015197.nxs b/Test/AutoTestData/MUSR00015197.nxs deleted file mode 100644 index 0bab6807b634..000000000000 Binary files a/Test/AutoTestData/MUSR00015197.nxs and /dev/null differ diff --git a/Test/AutoTestData/MUSR00015198.nxs b/Test/AutoTestData/MUSR00015198.nxs deleted file mode 100644 index 08a539b8e4f9..000000000000 Binary files a/Test/AutoTestData/MUSR00015198.nxs and /dev/null differ diff --git a/Test/AutoTestData/MUSR00015199.nxs b/Test/AutoTestData/MUSR00015199.nxs deleted file mode 100644 index e18e9b00a697..000000000000 Binary files a/Test/AutoTestData/MUSR00015199.nxs and /dev/null differ diff --git a/Test/AutoTestData/UsageData/4detector_cal_example_file.cal b/Test/AutoTestData/UsageData/4detector_cal_example_file.cal new file mode 100644 index 000000000000..621129e8e6bd --- /dev/null +++ b/Test/AutoTestData/UsageData/4detector_cal_example_file.cal @@ -0,0 +1,6 @@ +# Ariel detector file, written Sat Nov 24 16:52:56 2007 +# Format: number UDET offset select group + 0 4 0.0000000 1 1 + 1 5 0.0000000 1 1 + 2 6 0.0000000 1 2 + 3 7 0.0000000 1 2 diff --git a/Test/AutoTestData/UsageData/HRP39180.RAW b/Test/AutoTestData/UsageData/HRP39180.RAW new file mode 100644 index 000000000000..c4550ac2048a Binary files /dev/null and b/Test/AutoTestData/UsageData/HRP39180.RAW differ diff --git a/Test/AutoTestData/HYS_11092_event.nxs b/Test/AutoTestData/UsageData/HYS_11092_event.nxs similarity index 100% rename from Test/AutoTestData/HYS_11092_event.nxs rename to Test/AutoTestData/UsageData/HYS_11092_event.nxs diff --git a/Test/AutoTestData/LOQ49886.nxs b/Test/AutoTestData/UsageData/LOQ49886.nxs similarity index 100% rename from Test/AutoTestData/LOQ49886.nxs rename to Test/AutoTestData/UsageData/LOQ49886.nxs diff --git a/Test/AutoTestData/MUSR00015189.nxs b/Test/AutoTestData/UsageData/MUSR00015189.nxs similarity index 100% rename from Test/AutoTestData/MUSR00015189.nxs rename to Test/AutoTestData/UsageData/MUSR00015189.nxs diff --git a/Test/AutoTestData/MUSR00015190.nxs b/Test/AutoTestData/UsageData/MUSR00015190.nxs similarity index 100% rename from Test/AutoTestData/MUSR00015190.nxs rename to Test/AutoTestData/UsageData/MUSR00015190.nxs diff --git a/Test/AutoTestData/MUSR00015191.nxs b/Test/AutoTestData/UsageData/MUSR00015191.nxs similarity index 100% rename from Test/AutoTestData/MUSR00015191.nxs rename to Test/AutoTestData/UsageData/MUSR00015191.nxs diff --git a/Test/AutoTestData/MUSR00015192.nxs b/Test/AutoTestData/UsageData/MUSR00015192.nxs similarity index 100% rename from Test/AutoTestData/MUSR00015192.nxs rename to Test/AutoTestData/UsageData/MUSR00015192.nxs diff --git a/Test/AutoTestData/MUSR00015193.nxs b/Test/AutoTestData/UsageData/MUSR00015193.nxs similarity index 100% rename from Test/AutoTestData/MUSR00015193.nxs rename to Test/AutoTestData/UsageData/MUSR00015193.nxs diff --git a/Test/AutoTestData/POLREF00004699.nxs b/Test/AutoTestData/UsageData/POLREF00004699.nxs similarity index 100% rename from Test/AutoTestData/POLREF00004699.nxs rename to Test/AutoTestData/UsageData/POLREF00004699.nxs diff --git a/Test/AutoTestData/UsageData/README.md b/Test/AutoTestData/UsageData/README.md new file mode 100644 index 000000000000..5561c80bf2a1 --- /dev/null +++ b/Test/AutoTestData/UsageData/README.md @@ -0,0 +1,3 @@ +This directory should contain only the data files required to run the documentation usage tests. + +The files in here are zipped up and supplied to users for download in order that they may run the usage tests on the help pages. **Do not add files here unless absolutely necessary. First check whether an existing file will do the job. ** \ No newline at end of file diff --git a/Test/AutoTestData/focussed.nxs b/Test/AutoTestData/UsageData/focussed.nxs similarity index 100% rename from Test/AutoTestData/focussed.nxs rename to Test/AutoTestData/UsageData/focussed.nxs diff --git a/Test/AutoTestData/UsageData/hrpd_new_072_01_corr.cal b/Test/AutoTestData/UsageData/hrpd_new_072_01_corr.cal new file mode 100644 index 000000000000..9b148037f6a9 --- /dev/null +++ b/Test/AutoTestData/UsageData/hrpd_new_072_01_corr.cal @@ -0,0 +1,2780 @@ +# Ariel detector file, written Sat Nov 24 16:52:56 2007 +# Format: number UDET offset select group + 0 1100 0.0000000 0 1 + 1 1101 0.0000000 0 1 + 2 1102 0.0000000 0 1 + 3 1103 0.0000000 0 1 + 4 1104 0.0000000 0 1 + 5 1105 0.0000000 0 1 + 6 1106 0.0000000 0 1 + 7 1107 0.0000000 0 1 + 8 1108 0.0000000 0 1 + 9 1109 0.0000000 0 1 + 10 1110 0.0000000 0 1 + 11 1111 0.0000000 0 1 + 12 1112 0.0000000 0 1 + 13 1113 0.0000000 0 1 + 14 1114 0.0000000 0 1 + 15 1115 0.0000000 0 1 + 16 1116 0.0000000 0 1 + 17 1117 0.0000000 0 1 + 18 1118 0.0000000 0 1 + 19 1119 0.0000000 0 1 + 20 1120 0.0000000 0 1 + 21 1121 0.0000000 0 1 + 22 1122 0.0000000 0 1 + 23 1123 0.0000000 0 1 + 24 1124 0.0000000 0 1 + 25 1125 0.0000000 0 1 + 26 1126 0.0000000 0 1 + 27 1127 0.0000000 0 1 + 28 1128 0.0000000 0 1 + 29 1129 0.0000000 0 1 + 30 1130 0.0000000 0 1 + 31 1131 0.0000000 0 1 + 32 1132 0.0000000 0 1 + 33 1133 0.0000000 0 1 + 34 1134 0.0000000 0 1 + 35 1135 0.0000000 0 1 + 36 1136 0.0000000 0 1 + 37 1137 0.0000000 0 1 + 38 1138 0.0000000 0 1 + 39 1139 0.0000000 0 1 + 40 1140 0.0000000 0 1 + 41 1141 0.0000000 0 1 + 42 1142 0.0000000 0 1 + 43 1143 0.0000000 0 1 + 44 1144 0.0000000 0 1 + 45 1145 0.0000000 0 1 + 46 1146 0.0000000 0 1 + 47 1147 0.0000000 0 1 + 48 1148 0.0000000 0 1 + 49 1149 0.0000000 0 1 + 50 1150 0.0000000 0 1 + 51 1151 0.0000000 0 1 + 52 1152 0.0000000 0 1 + 53 1153 0.0000000 0 1 + 54 1154 0.0000000 0 1 + 55 1155 0.0000000 0 1 + 56 1156 0.0000000 0 1 + 57 1157 0.0000000 0 1 + 58 1158 0.0000000 0 1 + 59 1159 0.0000000 0 1 + 60 1160 0.0000000 0 1 + 61 1161 0.0000000 0 1 + 62 1162 0.0000000 0 1 + 63 1163 0.0000000 0 1 + 64 1164 0.0000000 0 1 + 65 1165 0.0000000 0 1 + 66 1166 0.0000000 0 1 + 67 1167 0.0000000 0 1 + 68 1168 0.0000000 0 1 + 69 1169 0.0000000 0 1 + 70 1170 0.0000000 0 1 + 71 1171 0.0000000 0 1 + 72 1172 0.0000000 0 1 + 73 1173 0.0000000 0 1 + 74 1174 0.0000000 0 1 + 75 1175 0.0000000 0 1 + 76 1176 0.0000000 0 1 + 77 1177 0.0000000 0 1 + 78 1178 0.0000000 0 1 + 79 1179 0.0000000 0 1 + 80 1180 0.0000000 0 1 + 81 1181 0.0000000 0 1 + 82 1182 0.0000000 0 1 + 83 1183 0.0000000 0 1 + 84 1184 0.0000000 0 1 + 85 1185 0.0000000 0 1 + 86 1186 0.0000000 0 1 + 87 1187 0.0000000 0 1 + 88 1188 0.0000000 0 1 + 89 1189 0.0000000 0 1 + 90 1190 0.0000000 0 1 + 91 1191 0.0000000 0 1 + 92 1192 0.0000000 0 1 + 93 1193 0.0000000 0 1 + 94 1194 0.0000000 0 1 + 95 1195 0.0000000 0 1 + 96 1196 0.0000000 0 1 + 97 1197 0.0000000 0 1 + 98 1198 0.0000000 0 1 + 99 1199 0.0000000 0 1 + 100 1200 0.0000000 0 1 + 101 1201 0.0000000 0 1 + 102 1202 0.0000000 0 1 + 103 1203 0.0000000 0 1 + 104 1204 0.0000000 0 1 + 105 1205 0.0000000 0 1 + 106 1206 0.0000000 0 1 + 107 1207 0.0000000 0 1 + 108 1208 0.0000000 0 1 + 109 1209 0.0000000 0 1 + 110 1210 0.0000000 0 1 + 111 1211 0.0000000 0 1 + 112 1212 0.0000000 0 1 + 113 1213 0.0000000 0 1 + 114 1214 0.0000000 0 1 + 115 1215 0.0000000 0 1 + 116 1216 0.0000000 0 1 + 117 1217 0.0000000 0 1 + 118 1218 0.0000000 0 1 + 119 1219 0.0000000 0 1 + 120 1220 0.0000000 0 1 + 121 1221 0.0000000 0 1 + 122 1222 0.0000000 0 1 + 123 1223 0.0000000 0 1 + 124 1224 0.0000000 0 1 + 125 1225 0.0000000 0 1 + 126 1226 0.0000000 0 1 + 127 1227 0.0000000 0 1 + 128 2100 0.0000000 0 1 + 129 2101 0.0000000 0 1 + 130 2102 0.0000161 1 1 + 131 2103 -0.0000139 1 1 + 132 2104 0.0001156 1 1 + 133 2105 0.0001294 1 1 + 134 2106 0.0002665 1 1 + 135 2107 0.0001922 1 1 + 136 2108 0.0001922 1 1 + 137 2109 0.0003095 1 1 + 138 2110 0.0003095 1 1 + 139 2111 0.0003039 1 1 + 140 2112 0.0003039 1 1 + 141 2113 0.0004182 1 1 + 142 2114 0.0004182 1 1 + 143 2115 0.0004080 1 1 + 144 2116 0.0004080 1 1 + 145 2117 0.0005247 1 1 + 146 2118 0.0005247 1 1 + 147 2119 0.0005014 1 1 + 148 2120 0.0005014 1 1 + 149 2121 0.0006162 1 1 + 150 2122 0.0006162 1 1 + 151 2123 0.0005947 1 1 + 152 2124 0.0005947 1 1 + 153 2125 0.0007070 1 1 + 154 2126 0.0007070 1 1 + 155 2127 0.0006847 1 1 + 156 2128 0.0006847 1 1 + 157 2129 0.0007974 1 1 + 158 2130 0.0007974 1 1 + 159 2131 0.0007927 1 1 + 160 2132 0.0007927 1 1 + 161 2133 0.0009075 1 1 + 162 2134 0.0009075 1 1 + 163 2135 0.0008940 1 1 + 164 2136 0.0008940 1 1 + 165 2137 0.0010187 1 1 + 166 2138 0.0010187 1 1 + 167 2139 0.0010151 1 1 + 168 2140 0.0010151 1 1 + 169 2141 0.0011360 1 1 + 170 2142 0.0011360 1 1 + 171 2143 0.0011349 1 1 + 172 2144 0.0011349 1 1 + 173 2145 0.0012556 1 1 + 174 2146 0.0012556 1 1 + 175 2147 0.0012609 1 1 + 176 2148 0.0012609 1 1 + 177 2149 0.0013878 1 1 + 178 2150 0.0013878 1 1 + 179 2151 0.0013908 1 1 + 180 2152 0.0013908 1 1 + 181 2153 0.0015181 1 1 + 182 2154 0.0015181 1 1 + 183 2155 0.0015310 1 1 + 184 2156 0.0015310 1 1 + 185 2157 0.0016659 1 1 + 186 2158 0.0016659 1 1 + 187 2159 0.0016707 1 1 + 188 2160 0.0016707 1 1 + 189 2161 0.0018101 1 1 + 190 2162 0.0018101 1 1 + 191 2163 0.0018154 1 1 + 192 2164 0.0018154 1 1 + 193 2165 0.0019505 1 1 + 194 2166 0.0019505 1 1 + 195 2167 0.0019682 1 1 + 196 2168 0.0019682 1 1 + 197 2169 0.0021005 1 1 + 198 2170 0.0021005 1 1 + 199 2171 0.0021203 1 1 + 200 2172 0.0021203 1 1 + 201 2173 0.0022603 1 1 + 202 2174 0.0022603 1 1 + 203 2175 0.0022824 1 1 + 204 2176 0.0022824 1 1 + 205 2177 0.0024297 1 1 + 206 2178 0.0024297 1 1 + 207 2179 0.0024609 1 1 + 208 2180 0.0024609 1 1 + 209 2181 0.0026038 1 1 + 210 2182 0.0026038 1 1 + 211 2183 0.0026364 1 1 + 212 2184 0.0026364 1 1 + 213 2185 0.0027874 1 1 + 214 2186 0.0027874 1 1 + 215 2187 0.0028215 1 1 + 216 2188 0.0028215 1 1 + 217 2189 0.0029767 1 1 + 218 2190 0.0029767 1 1 + 219 2191 0.0030203 1 1 + 220 2192 0.0030203 1 1 + 221 2193 0.0031762 1 1 + 222 2194 0.0031762 1 1 + 223 2195 0.0032049 1 1 + 224 2196 0.0032049 1 1 + 225 2197 0.0033555 1 1 + 226 2198 0.0033555 1 1 + 227 2199 0.0034055 1 1 + 228 2200 0.0034055 1 1 + 229 2201 0.0035574 1 1 + 230 2202 0.0035574 1 1 + 231 2203 0.0036128 1 1 + 232 2204 0.0036128 1 1 + 233 2205 0.0037786 1 1 + 234 2206 0.0037786 1 1 + 235 2207 0.0038282 1 1 + 236 2208 0.0038282 1 1 + 237 2209 0.0039876 1 1 + 238 2210 0.0039876 1 1 + 239 2211 0.0040535 1 1 + 240 2212 0.0040535 1 1 + 241 2213 0.0042063 1 1 + 242 2214 0.0042063 1 1 + 243 2215 0.0041808 1 1 + 244 2216 0.0041808 1 1 + 245 2217 0.0000000 0 1 + 246 2218 0.0000000 0 1 + 247 2219 0.0000000 0 1 + 248 2220 0.0000000 0 1 + 249 2221 0.0000000 0 1 + 250 2222 0.0000000 0 1 + 251 2223 0.0000000 0 1 + 252 2224 0.0000000 0 1 + 253 2225 0.0000000 0 1 + 254 2226 0.0000000 0 1 + 255 2227 0.0000000 0 1 + 256 3100 0.0000000 0 1 + 257 3101 0.0000000 0 1 + 258 3102 0.0000161 1 1 + 259 3103 -0.0000139 1 1 + 260 3104 0.0001156 1 1 + 261 3105 0.0001294 1 1 + 262 3106 0.0002665 1 1 + 263 3107 0.0001922 1 1 + 264 3108 0.0001922 1 1 + 265 3109 0.0003095 1 1 + 266 3110 0.0003095 1 1 + 267 3111 0.0003039 1 1 + 268 3112 0.0003039 1 1 + 269 3113 0.0004182 1 1 + 270 3114 0.0004182 1 1 + 271 3115 0.0004080 1 1 + 272 3116 0.0004080 1 1 + 273 3117 0.0005247 1 1 + 274 3118 0.0005247 1 1 + 275 3119 0.0005014 1 1 + 276 3120 0.0005014 1 1 + 277 3121 0.0006162 1 1 + 278 3122 0.0006162 1 1 + 279 3123 0.0005947 1 1 + 280 3124 0.0005947 1 1 + 281 3125 0.0007070 1 1 + 282 3126 0.0007070 1 1 + 283 3127 0.0006847 1 1 + 284 3128 0.0006847 1 1 + 285 3129 0.0007974 1 1 + 286 3130 0.0007974 1 1 + 287 3131 0.0007927 1 1 + 288 3132 0.0007927 1 1 + 289 3133 0.0009075 1 1 + 290 3134 0.0009075 1 1 + 291 3135 0.0008940 1 1 + 292 3136 0.0008940 1 1 + 293 3137 0.0010187 1 1 + 294 3138 0.0010187 1 1 + 295 3139 0.0010151 1 1 + 296 3140 0.0010151 1 1 + 297 3141 0.0011360 1 1 + 298 3142 0.0011360 1 1 + 299 3143 0.0011349 1 1 + 300 3144 0.0011349 1 1 + 301 3145 0.0012556 1 1 + 302 3146 0.0012556 1 1 + 303 3147 0.0012609 1 1 + 304 3148 0.0012609 1 1 + 305 3149 0.0013878 1 1 + 306 3150 0.0013878 1 1 + 307 3151 0.0013908 1 1 + 308 3152 0.0013908 1 1 + 309 3153 0.0015181 1 1 + 310 3154 0.0015181 1 1 + 311 3155 0.0015310 1 1 + 312 3156 0.0015310 1 1 + 313 3157 0.0016659 1 1 + 314 3158 0.0016659 1 1 + 315 3159 0.0016707 1 1 + 316 3160 0.0016707 1 1 + 317 3161 0.0018101 1 1 + 318 3162 0.0018101 1 1 + 319 3163 0.0018154 1 1 + 320 3164 0.0018154 1 1 + 321 3165 0.0019505 1 1 + 322 3166 0.0019505 1 1 + 323 3167 0.0019682 1 1 + 324 3168 0.0019682 1 1 + 325 3169 0.0021005 1 1 + 326 3170 0.0021005 1 1 + 327 3171 0.0021203 1 1 + 328 3172 0.0021203 1 1 + 329 3173 0.0022603 1 1 + 330 3174 0.0022603 1 1 + 331 3175 0.0022824 1 1 + 332 3176 0.0022824 1 1 + 333 3177 0.0024297 1 1 + 334 3178 0.0024297 1 1 + 335 3179 0.0024609 1 1 + 336 3180 0.0024609 1 1 + 337 3181 0.0026038 1 1 + 338 3182 0.0026038 1 1 + 339 3183 0.0026364 1 1 + 340 3184 0.0026364 1 1 + 341 3185 0.0027874 1 1 + 342 3186 0.0027874 1 1 + 343 3187 0.0028215 1 1 + 344 3188 0.0028215 1 1 + 345 3189 0.0029767 1 1 + 346 3190 0.0029767 1 1 + 347 3191 0.0030203 1 1 + 348 3192 0.0030203 1 1 + 349 3193 0.0031762 1 1 + 350 3194 0.0031762 1 1 + 351 3195 0.0032049 1 1 + 352 3196 0.0032049 1 1 + 353 3197 0.0033555 1 1 + 354 3198 0.0033555 1 1 + 355 3199 0.0034055 1 1 + 356 3200 0.0034055 1 1 + 357 3201 0.0035574 1 1 + 358 3202 0.0035574 1 1 + 359 3203 0.0036128 1 1 + 360 3204 0.0036128 1 1 + 361 3205 0.0037786 1 1 + 362 3206 0.0037786 1 1 + 363 3207 0.0038282 1 1 + 364 3208 0.0038282 1 1 + 365 3209 0.0039876 1 1 + 366 3210 0.0039876 1 1 + 367 3211 0.0040535 1 1 + 368 3212 0.0040535 1 1 + 369 3213 0.0042063 1 1 + 370 3214 0.0042063 1 1 + 371 3215 0.0041808 1 1 + 372 3216 0.0041808 1 1 + 373 3217 0.0000000 0 1 + 374 3218 0.0000000 0 1 + 375 3219 0.0000000 0 1 + 376 3220 0.0000000 0 1 + 377 3221 0.0000000 0 1 + 378 3222 0.0000000 0 1 + 379 3223 0.0000000 0 1 + 380 3224 0.0000000 0 1 + 381 3225 0.0000000 0 1 + 382 3226 0.0000000 0 1 + 383 3227 0.0000000 0 1 + 384 4100 0.0000000 0 1 + 385 4101 0.0000000 0 1 + 386 4102 0.0000161 1 1 + 387 4103 -0.0000139 1 1 + 388 4104 0.0001156 1 1 + 389 4105 0.0001294 1 1 + 390 4106 0.0002665 1 1 + 391 4107 0.0001922 1 1 + 392 4108 0.0001922 1 1 + 393 4109 0.0003095 1 1 + 394 4110 0.0003095 1 1 + 395 4111 0.0003039 1 1 + 396 4112 0.0003039 1 1 + 397 4113 0.0004182 1 1 + 398 4114 0.0004182 1 1 + 399 4115 0.0004080 1 1 + 400 4116 0.0004080 1 1 + 401 4117 0.0005247 1 1 + 402 4118 0.0005247 1 1 + 403 4119 0.0005014 1 1 + 404 4120 0.0005014 1 1 + 405 4121 0.0006162 1 1 + 406 4122 0.0006162 1 1 + 407 4123 0.0005947 1 1 + 408 4124 0.0005947 1 1 + 409 4125 0.0007070 1 1 + 410 4126 0.0007070 1 1 + 411 4127 0.0006847 1 1 + 412 4128 0.0006847 1 1 + 413 4129 0.0007974 1 1 + 414 4130 0.0007974 1 1 + 415 4131 0.0007927 1 1 + 416 4132 0.0007927 1 1 + 417 4133 0.0009075 1 1 + 418 4134 0.0009075 1 1 + 419 4135 0.0008940 1 1 + 420 4136 0.0008940 1 1 + 421 4137 0.0010187 1 1 + 422 4138 0.0010187 1 1 + 423 4139 0.0010151 1 1 + 424 4140 0.0010151 1 1 + 425 4141 0.0011360 1 1 + 426 4142 0.0011360 1 1 + 427 4143 0.0011349 1 1 + 428 4144 0.0011349 1 1 + 429 4145 0.0012556 1 1 + 430 4146 0.0012556 1 1 + 431 4147 0.0012609 1 1 + 432 4148 0.0012609 1 1 + 433 4149 0.0013878 1 1 + 434 4150 0.0013878 1 1 + 435 4151 0.0013908 1 1 + 436 4152 0.0013908 1 1 + 437 4153 0.0015181 1 1 + 438 4154 0.0015181 1 1 + 439 4155 0.0015310 1 1 + 440 4156 0.0015310 1 1 + 441 4157 0.0016659 1 1 + 442 4158 0.0016659 1 1 + 443 4159 0.0016707 1 1 + 444 4160 0.0016707 1 1 + 445 4161 0.0018101 1 1 + 446 4162 0.0018101 1 1 + 447 4163 0.0018154 1 1 + 448 4164 0.0018154 1 1 + 449 4165 0.0019505 1 1 + 450 4166 0.0019505 1 1 + 451 4167 0.0019682 1 1 + 452 4168 0.0019682 1 1 + 453 4169 0.0021005 1 1 + 454 4170 0.0021005 1 1 + 455 4171 0.0021203 1 1 + 456 4172 0.0021203 1 1 + 457 4173 0.0022603 1 1 + 458 4174 0.0022603 1 1 + 459 4175 0.0022824 1 1 + 460 4176 0.0022824 1 1 + 461 4177 0.0024297 1 1 + 462 4178 0.0024297 1 1 + 463 4179 0.0024609 1 1 + 464 4180 0.0024609 1 1 + 465 4181 0.0026038 1 1 + 466 4182 0.0026038 1 1 + 467 4183 0.0026364 1 1 + 468 4184 0.0026364 1 1 + 469 4185 0.0027874 1 1 + 470 4186 0.0027874 1 1 + 471 4187 0.0028215 1 1 + 472 4188 0.0028215 1 1 + 473 4189 0.0029767 1 1 + 474 4190 0.0029767 1 1 + 475 4191 0.0030203 1 1 + 476 4192 0.0030203 1 1 + 477 4193 0.0031762 1 1 + 478 4194 0.0031762 1 1 + 479 4195 0.0032049 1 1 + 480 4196 0.0032049 1 1 + 481 4197 0.0033555 1 1 + 482 4198 0.0033555 1 1 + 483 4199 0.0034055 1 1 + 484 4200 0.0034055 1 1 + 485 4201 0.0035574 1 1 + 486 4202 0.0035574 1 1 + 487 4203 0.0036128 1 1 + 488 4204 0.0036128 1 1 + 489 4205 0.0037786 1 1 + 490 4206 0.0037786 1 1 + 491 4207 0.0038282 1 1 + 492 4208 0.0038282 1 1 + 493 4209 0.0039876 1 1 + 494 4210 0.0039876 1 1 + 495 4211 0.0040535 1 1 + 496 4212 0.0040535 1 1 + 497 4213 0.0042063 1 1 + 498 4214 0.0042063 1 1 + 499 4215 0.0041808 1 1 + 500 4216 0.0041808 1 1 + 501 4217 0.0000000 0 1 + 502 4218 0.0000000 0 1 + 503 4219 0.0000000 0 1 + 504 4220 0.0000000 0 1 + 505 4221 0.0000000 0 1 + 506 4222 0.0000000 0 1 + 507 4223 0.0000000 0 1 + 508 4224 0.0000000 0 1 + 509 4225 0.0000000 0 1 + 510 4226 0.0000000 0 1 + 511 4227 0.0000000 0 1 + 512 5100 0.0000000 0 1 + 513 5101 0.0000000 0 1 + 514 5102 0.0000000 0 1 + 515 5103 0.0000000 0 1 + 516 5104 0.0000000 0 1 + 517 5105 0.0000000 0 1 + 518 5106 0.0000000 0 1 + 519 5107 0.0000000 0 1 + 520 5108 0.0000000 0 1 + 521 5109 0.0000000 0 1 + 522 5110 0.0000000 0 1 + 523 5111 0.0000000 0 1 + 524 5112 0.0000000 0 1 + 525 5113 0.0000000 0 1 + 526 5114 0.0000000 0 1 + 527 5115 0.0000000 0 1 + 528 5116 0.0000000 0 1 + 529 5117 0.0000000 0 1 + 530 5118 0.0000000 0 1 + 531 5119 0.0000000 0 1 + 532 5120 0.0000000 0 1 + 533 5121 0.0000000 0 1 + 534 5122 0.0000000 0 1 + 535 5123 0.0000000 0 1 + 536 5124 0.0000000 0 1 + 537 5125 0.0000000 0 1 + 538 5126 0.0000000 0 1 + 539 5127 0.0000000 0 1 + 540 5128 0.0000000 0 1 + 541 5129 0.0000000 0 1 + 542 5130 0.0000000 0 1 + 543 5131 0.0000000 0 1 + 544 5132 0.0000000 0 1 + 545 5133 0.0000000 0 1 + 546 5134 0.0000000 0 1 + 547 5135 0.0000000 0 1 + 548 5136 0.0000000 0 1 + 549 5137 0.0000000 0 1 + 550 5138 0.0000000 0 1 + 551 5139 0.0000000 0 1 + 552 5140 0.0000000 0 1 + 553 5141 0.0000000 0 1 + 554 5142 0.0000000 0 1 + 555 5143 0.0000000 0 1 + 556 5144 0.0000000 0 1 + 557 5145 0.0000000 0 1 + 558 5146 0.0000000 0 1 + 559 5147 0.0000000 0 1 + 560 5148 0.0000000 0 1 + 561 5149 0.0000000 0 1 + 562 5150 0.0000000 0 1 + 563 5151 0.0000000 0 1 + 564 5152 0.0000000 0 1 + 565 5153 0.0000000 0 1 + 566 5154 0.0000000 0 1 + 567 5155 0.0000000 0 1 + 568 5156 0.0000000 0 1 + 569 5157 0.0000000 0 1 + 570 5158 0.0000000 0 1 + 571 5159 0.0000000 0 1 + 572 5160 0.0000000 0 1 + 573 5161 0.0000000 0 1 + 574 5162 0.0000000 0 1 + 575 5163 0.0000000 0 1 + 576 5164 0.0000000 0 1 + 577 5165 0.0000000 0 1 + 578 5166 0.0000000 0 1 + 579 5167 0.0000000 0 1 + 580 5168 0.0000000 0 1 + 581 5169 0.0000000 0 1 + 582 5170 0.0000000 0 1 + 583 5171 0.0000000 0 1 + 584 5172 0.0000000 0 1 + 585 5173 0.0000000 0 1 + 586 5174 0.0000000 0 1 + 587 5175 0.0000000 0 1 + 588 5176 0.0000000 0 1 + 589 5177 0.0000000 0 1 + 590 5178 0.0000000 0 1 + 591 5179 0.0000000 0 1 + 592 5180 0.0000000 0 1 + 593 5181 0.0000000 0 1 + 594 5182 0.0000000 0 1 + 595 5183 0.0000000 0 1 + 596 5184 0.0000000 0 1 + 597 5185 0.0000000 0 1 + 598 5186 0.0000000 0 1 + 599 5187 0.0000000 0 1 + 600 5188 0.0000000 0 1 + 601 5189 0.0000000 0 1 + 602 5190 0.0000000 0 1 + 603 5191 0.0000000 0 1 + 604 5192 0.0000000 0 1 + 605 5193 0.0000000 0 1 + 606 5194 0.0000000 0 1 + 607 5195 0.0000000 0 1 + 608 5196 0.0000000 0 1 + 609 5197 0.0000000 0 1 + 610 5198 0.0000000 0 1 + 611 5199 0.0000000 0 1 + 612 5200 0.0000000 0 1 + 613 5201 0.0000000 0 1 + 614 5202 0.0000000 0 1 + 615 5203 0.0000000 0 1 + 616 5204 0.0000000 0 1 + 617 5205 0.0000000 0 1 + 618 5206 0.0000000 0 1 + 619 5207 0.0000000 0 1 + 620 5208 0.0000000 0 1 + 621 5209 0.0000000 0 1 + 622 5210 0.0000000 0 1 + 623 5211 0.0000000 0 1 + 624 5212 0.0000000 0 1 + 625 5213 0.0000000 0 1 + 626 5214 0.0000000 0 1 + 627 5215 0.0000000 0 1 + 628 5216 0.0000000 0 1 + 629 5217 0.0000000 0 1 + 630 5218 0.0000000 0 1 + 631 5219 0.0000000 0 1 + 632 5220 0.0000000 0 1 + 633 5221 0.0000000 0 1 + 634 5222 0.0000000 0 1 + 635 5223 0.0000000 0 1 + 636 5224 0.0000000 0 1 + 637 5225 0.0000000 0 1 + 638 5226 0.0000000 0 1 + 639 5227 0.0000000 0 1 + 640 6100 0.0000000 0 1 + 641 6101 0.0000000 0 1 + 642 6102 0.0000161 1 1 + 643 6103 -0.0000139 1 1 + 644 6104 0.0001156 1 1 + 645 6105 0.0001294 1 1 + 646 6106 0.0002665 1 1 + 647 6107 0.0001922 1 1 + 648 6108 0.0001922 1 1 + 649 6109 0.0003095 1 1 + 650 6110 0.0003095 1 1 + 651 6111 0.0003039 1 1 + 652 6112 0.0003039 1 1 + 653 6113 0.0004182 1 1 + 654 6114 0.0004182 1 1 + 655 6115 0.0004080 1 1 + 656 6116 0.0004080 1 1 + 657 6117 0.0005247 1 1 + 658 6118 0.0005247 1 1 + 659 6119 0.0005014 1 1 + 660 6120 0.0005014 1 1 + 661 6121 0.0006162 1 1 + 662 6122 0.0006162 1 1 + 663 6123 0.0005947 1 1 + 664 6124 0.0005947 1 1 + 665 6125 0.0007070 1 1 + 666 6126 0.0007070 1 1 + 667 6127 0.0006847 1 1 + 668 6128 0.0006847 1 1 + 669 6129 0.0007974 1 1 + 670 6130 0.0007974 1 1 + 671 6131 0.0007927 1 1 + 672 6132 0.0007927 1 1 + 673 6133 0.0009075 1 1 + 674 6134 0.0009075 1 1 + 675 6135 0.0008940 1 1 + 676 6136 0.0008940 1 1 + 677 6137 0.0010187 1 1 + 678 6138 0.0010187 1 1 + 679 6139 0.0010151 1 1 + 680 6140 0.0010151 1 1 + 681 6141 0.0011360 1 1 + 682 6142 0.0011360 1 1 + 683 6143 0.0011349 1 1 + 684 6144 0.0011349 1 1 + 685 6145 0.0012556 1 1 + 686 6146 0.0012556 1 1 + 687 6147 0.0012609 1 1 + 688 6148 0.0012609 1 1 + 689 6149 0.0013878 1 1 + 690 6150 0.0013878 1 1 + 691 6151 0.0013908 1 1 + 692 6152 0.0013908 1 1 + 693 6153 0.0015181 1 1 + 694 6154 0.0015181 1 1 + 695 6155 0.0015310 1 1 + 696 6156 0.0015310 1 1 + 697 6157 0.0016659 1 1 + 698 6158 0.0016659 1 1 + 699 6159 0.0016707 1 1 + 700 6160 0.0016707 1 1 + 701 6161 0.0018101 1 1 + 702 6162 0.0018101 1 1 + 703 6163 0.0018154 1 1 + 704 6164 0.0018154 1 1 + 705 6165 0.0019505 1 1 + 706 6166 0.0019505 1 1 + 707 6167 0.0019682 1 1 + 708 6168 0.0019682 1 1 + 709 6169 0.0021005 1 1 + 710 6170 0.0021005 1 1 + 711 6171 0.0021203 1 1 + 712 6172 0.0021203 1 1 + 713 6173 0.0022603 1 1 + 714 6174 0.0022603 1 1 + 715 6175 0.0022824 1 1 + 716 6176 0.0022824 1 1 + 717 6177 0.0024297 1 1 + 718 6178 0.0024297 1 1 + 719 6179 0.0024609 1 1 + 720 6180 0.0024609 1 1 + 721 6181 0.0026038 1 1 + 722 6182 0.0026038 1 1 + 723 6183 0.0026364 1 1 + 724 6184 0.0026364 1 1 + 725 6185 0.0027874 1 1 + 726 6186 0.0027874 1 1 + 727 6187 0.0028215 1 1 + 728 6188 0.0028215 1 1 + 729 6189 0.0029767 1 1 + 730 6190 0.0029767 1 1 + 731 6191 0.0030203 1 1 + 732 6192 0.0030203 1 1 + 733 6193 0.0031762 1 1 + 734 6194 0.0031762 1 1 + 735 6195 0.0032049 1 1 + 736 6196 0.0032049 1 1 + 737 6197 0.0033555 1 1 + 738 6198 0.0033555 1 1 + 739 6199 0.0034055 1 1 + 740 6200 0.0034055 1 1 + 741 6201 0.0035574 1 1 + 742 6202 0.0035574 1 1 + 743 6203 0.0036128 1 1 + 744 6204 0.0036128 1 1 + 745 6205 0.0037786 1 1 + 746 6206 0.0037786 1 1 + 747 6207 0.0038282 1 1 + 748 6208 0.0038282 1 1 + 749 6209 0.0039876 1 1 + 750 6210 0.0039876 1 1 + 751 6211 0.0040535 1 1 + 752 6212 0.0040535 1 1 + 753 6213 0.0042063 1 1 + 754 6214 0.0042063 1 1 + 755 6215 0.0041808 1 1 + 756 6216 0.0041808 1 1 + 757 6217 0.0000000 0 1 + 758 6218 0.0000000 0 1 + 759 6219 0.0000000 0 1 + 760 6220 0.0000000 0 1 + 761 6221 0.0000000 0 1 + 762 6222 0.0000000 0 1 + 763 6223 0.0000000 0 1 + 764 6224 0.0000000 0 1 + 765 6225 0.0000000 0 1 + 766 6226 0.0000000 0 1 + 767 6227 0.0000000 0 1 + 768 7100 0.0000000 0 1 + 769 7101 0.0000000 0 1 + 770 7102 0.0000161 1 1 + 771 7103 -0.0000139 1 1 + 772 7104 0.0001156 1 1 + 773 7105 0.0001294 1 1 + 774 7106 0.0002665 1 1 + 775 7107 0.0001922 1 1 + 776 7108 0.0001922 1 1 + 777 7109 0.0003095 1 1 + 778 7110 0.0003095 1 1 + 779 7111 0.0003039 1 1 + 780 7112 0.0003039 1 1 + 781 7113 0.0004182 1 1 + 782 7114 0.0004182 1 1 + 783 7115 0.0004080 1 1 + 784 7116 0.0004080 1 1 + 785 7117 0.0005247 1 1 + 786 7118 0.0005247 1 1 + 787 7119 0.0005014 1 1 + 788 7120 0.0005014 1 1 + 789 7121 0.0006162 1 1 + 790 7122 0.0006162 1 1 + 791 7123 0.0005947 1 1 + 792 7124 0.0005947 1 1 + 793 7125 0.0007070 1 1 + 794 7126 0.0007070 1 1 + 795 7127 0.0006847 1 1 + 796 7128 0.0006847 1 1 + 797 7129 0.0007974 1 1 + 798 7130 0.0007974 1 1 + 799 7131 0.0007927 1 1 + 800 7132 0.0007927 1 1 + 801 7133 0.0009075 1 1 + 802 7134 0.0009075 1 1 + 803 7135 0.0008940 1 1 + 804 7136 0.0008940 1 1 + 805 7137 0.0010187 1 1 + 806 7138 0.0010187 1 1 + 807 7139 0.0010151 1 1 + 808 7140 0.0010151 1 1 + 809 7141 0.0011360 1 1 + 810 7142 0.0011360 1 1 + 811 7143 0.0011349 1 1 + 812 7144 0.0011349 1 1 + 813 7145 0.0012556 1 1 + 814 7146 0.0012556 1 1 + 815 7147 0.0012609 1 1 + 816 7148 0.0012609 1 1 + 817 7149 0.0013878 1 1 + 818 7150 0.0013878 1 1 + 819 7151 0.0013908 1 1 + 820 7152 0.0013908 1 1 + 821 7153 0.0015181 1 1 + 822 7154 0.0015181 1 1 + 823 7155 0.0015310 1 1 + 824 7156 0.0015310 1 1 + 825 7157 0.0016659 1 1 + 826 7158 0.0016659 1 1 + 827 7159 0.0016707 1 1 + 828 7160 0.0016707 1 1 + 829 7161 0.0018101 1 1 + 830 7162 0.0018101 1 1 + 831 7163 0.0018154 1 1 + 832 7164 0.0018154 1 1 + 833 7165 0.0019505 1 1 + 834 7166 0.0019505 1 1 + 835 7167 0.0019682 1 1 + 836 7168 0.0019682 1 1 + 837 7169 0.0021005 1 1 + 838 7170 0.0021005 1 1 + 839 7171 0.0021203 1 1 + 840 7172 0.0021203 1 1 + 841 7173 0.0022603 1 1 + 842 7174 0.0022603 1 1 + 843 7175 0.0022824 1 1 + 844 7176 0.0022824 1 1 + 845 7177 0.0024297 1 1 + 846 7178 0.0024297 1 1 + 847 7179 0.0024609 1 1 + 848 7180 0.0024609 1 1 + 849 7181 0.0026038 1 1 + 850 7182 0.0026038 1 1 + 851 7183 0.0026364 1 1 + 852 7184 0.0026364 1 1 + 853 7185 0.0027874 1 1 + 854 7186 0.0027874 1 1 + 855 7187 0.0028215 1 1 + 856 7188 0.0028215 1 1 + 857 7189 0.0029767 1 1 + 858 7190 0.0029767 1 1 + 859 7191 0.0030203 1 1 + 860 7192 0.0030203 1 1 + 861 7193 0.0031762 1 1 + 862 7194 0.0031762 1 1 + 863 7195 0.0032049 1 1 + 864 7196 0.0032049 1 1 + 865 7197 0.0033555 1 1 + 866 7198 0.0033555 1 1 + 867 7199 0.0034055 1 1 + 868 7200 0.0034055 1 1 + 869 7201 0.0035574 1 1 + 870 7202 0.0035574 1 1 + 871 7203 0.0036128 1 1 + 872 7204 0.0036128 1 1 + 873 7205 0.0037786 1 1 + 874 7206 0.0037786 1 1 + 875 7207 0.0038282 1 1 + 876 7208 0.0038282 1 1 + 877 7209 0.0039876 1 1 + 878 7210 0.0039876 1 1 + 879 7211 0.0040535 1 1 + 880 7212 0.0040535 1 1 + 881 7213 0.0042063 1 1 + 882 7214 0.0042063 1 1 + 883 7215 0.0041808 1 1 + 884 7216 0.0041808 1 1 + 885 7217 0.0000000 0 1 + 886 7218 0.0000000 0 1 + 887 7219 0.0000000 0 1 + 888 7220 0.0000000 0 1 + 889 7221 0.0000000 0 1 + 890 7222 0.0000000 0 1 + 891 7223 0.0000000 0 1 + 892 7224 0.0000000 0 1 + 893 7225 0.0000000 0 1 + 894 7226 0.0000000 0 1 + 895 7227 0.0000000 0 1 + 896 8100 0.0000000 0 1 + 897 8101 0.0000000 0 1 + 898 8102 0.0000161 1 1 + 899 8103 -0.0000139 1 1 + 900 8104 0.0001156 1 1 + 901 8105 0.0001294 1 1 + 902 8106 0.0002665 1 1 + 903 8107 0.0001922 1 1 + 904 8108 0.0001922 1 1 + 905 8109 0.0003095 1 1 + 906 8110 0.0003095 1 1 + 907 8111 0.0003039 1 1 + 908 8112 0.0003039 1 1 + 909 8113 0.0004182 1 1 + 910 8114 0.0004182 1 1 + 911 8115 0.0004080 1 1 + 912 8116 0.0004080 1 1 + 913 8117 0.0005247 1 1 + 914 8118 0.0005247 1 1 + 915 8119 0.0005014 1 1 + 916 8120 0.0005014 1 1 + 917 8121 0.0006162 1 1 + 918 8122 0.0006162 1 1 + 919 8123 0.0005947 1 1 + 920 8124 0.0005947 1 1 + 921 8125 0.0007070 1 1 + 922 8126 0.0007070 1 1 + 923 8127 0.0006847 1 1 + 924 8128 0.0006847 1 1 + 925 8129 0.0007974 1 1 + 926 8130 0.0007974 1 1 + 927 8131 0.0007927 1 1 + 928 8132 0.0007927 1 1 + 929 8133 0.0009075 1 1 + 930 8134 0.0009075 1 1 + 931 8135 0.0008940 1 1 + 932 8136 0.0008940 1 1 + 933 8137 0.0010187 1 1 + 934 8138 0.0010187 1 1 + 935 8139 0.0010151 1 1 + 936 8140 0.0010151 1 1 + 937 8141 0.0011360 1 1 + 938 8142 0.0011360 1 1 + 939 8143 0.0011349 1 1 + 940 8144 0.0011349 1 1 + 941 8145 0.0012556 1 1 + 942 8146 0.0012556 1 1 + 943 8147 0.0012609 1 1 + 944 8148 0.0012609 1 1 + 945 8149 0.0013878 1 1 + 946 8150 0.0013878 1 1 + 947 8151 0.0013908 1 1 + 948 8152 0.0013908 1 1 + 949 8153 0.0015181 1 1 + 950 8154 0.0015181 1 1 + 951 8155 0.0015310 1 1 + 952 8156 0.0015310 1 1 + 953 8157 0.0016659 1 1 + 954 8158 0.0016659 1 1 + 955 8159 0.0016707 1 1 + 956 8160 0.0016707 1 1 + 957 8161 0.0018101 1 1 + 958 8162 0.0018101 1 1 + 959 8163 0.0018154 1 1 + 960 8164 0.0018154 1 1 + 961 8165 0.0019505 1 1 + 962 8166 0.0019505 1 1 + 963 8167 0.0019682 1 1 + 964 8168 0.0019682 1 1 + 965 8169 0.0021005 1 1 + 966 8170 0.0021005 1 1 + 967 8171 0.0021203 1 1 + 968 8172 0.0021203 1 1 + 969 8173 0.0022603 1 1 + 970 8174 0.0022603 1 1 + 971 8175 0.0022824 1 1 + 972 8176 0.0022824 1 1 + 973 8177 0.0024297 1 1 + 974 8178 0.0024297 1 1 + 975 8179 0.0024609 1 1 + 976 8180 0.0024609 1 1 + 977 8181 0.0026038 1 1 + 978 8182 0.0026038 1 1 + 979 8183 0.0026364 1 1 + 980 8184 0.0026364 1 1 + 981 8185 0.0027874 1 1 + 982 8186 0.0027874 1 1 + 983 8187 0.0028215 1 1 + 984 8188 0.0028215 1 1 + 985 8189 0.0029767 1 1 + 986 8190 0.0029767 1 1 + 987 8191 0.0030203 1 1 + 988 8192 0.0030203 1 1 + 989 8193 0.0031762 1 1 + 990 8194 0.0031762 1 1 + 991 8195 0.0032049 1 1 + 992 8196 0.0032049 1 1 + 993 8197 0.0033555 1 1 + 994 8198 0.0033555 1 1 + 995 8199 0.0034055 1 1 + 996 8200 0.0034055 1 1 + 997 8201 0.0035574 1 1 + 998 8202 0.0035574 1 1 + 999 8203 0.0036128 1 1 + 1000 8204 0.0036128 1 1 + 1001 8205 0.0037786 1 1 + 1002 8206 0.0037786 1 1 + 1003 8207 0.0038282 1 1 + 1004 8208 0.0038282 1 1 + 1005 8209 0.0039876 1 1 + 1006 8210 0.0039876 1 1 + 1007 8211 0.0040535 1 1 + 1008 8212 0.0040535 1 1 + 1009 8213 0.0042063 1 1 + 1010 8214 0.0042063 1 1 + 1011 8215 0.0041808 1 1 + 1012 8216 0.0041808 1 1 + 1013 8217 0.0000000 0 1 + 1014 8218 0.0000000 0 1 + 1015 8219 0.0000000 0 1 + 1016 8220 0.0000000 0 1 + 1017 8221 0.0000000 0 1 + 1018 8222 0.0000000 0 1 + 1019 8223 0.0000000 0 1 + 1020 8224 0.0000000 0 1 + 1021 8225 0.0000000 0 1 + 1022 8226 0.0000000 0 1 + 1023 8227 0.0000000 0 1 + 1024 1001 0.0000000 1 0 + 1025 1002 0.0000000 1 0 + 1026 901000 0.0000000 0 2 + 1027 901001 0.0000000 0 2 + 1028 901002 0.0000000 0 2 + 1029 901003 0.0000000 0 2 + 1030 901004 0.0000000 0 2 + 1031 901005 0.0000000 0 2 + 1032 901006 0.0000000 0 2 + 1033 901007 0.0022486 1 2 + 1034 901008 0.0022273 1 2 + 1035 901009 0.0022462 1 2 + 1036 901010 0.0021854 1 2 + 1037 901011 0.0022457 1 2 + 1038 901012 0.0021593 1 2 + 1039 901013 0.0022211 1 2 + 1040 901014 0.0021513 1 2 + 1041 901015 0.0021885 1 2 + 1042 901016 0.0020993 1 2 + 1043 901017 0.0021661 1 2 + 1044 901018 0.0020462 1 2 + 1045 901019 0.0000000 0 2 + 1046 901020 0.0020236 1 2 + 1047 901021 0.0019770 1 2 + 1048 901022 0.0019817 1 2 + 1049 901023 0.0020584 1 2 + 1050 901024 0.0019922 1 2 + 1051 901025 0.0020410 1 2 + 1052 901026 0.0019241 1 2 + 1053 901027 0.0019624 1 2 + 1054 901028 0.0018643 1 2 + 1055 901029 0.0018939 1 2 + 1056 901030 0.0018352 1 2 + 1057 901031 0.0019177 1 2 + 1058 901032 0.0000000 0 2 + 1059 901033 0.0018605 1 2 + 1060 901034 0.0018476 1 2 + 1061 901035 0.0018287 1 2 + 1062 901036 0.0017540 1 2 + 1063 901037 0.0018020 1 2 + 1064 901038 0.0016889 1 2 + 1065 901039 0.0017606 1 2 + 1066 901040 0.0016948 1 2 + 1067 901041 0.0017184 1 2 + 1068 901042 0.0016261 1 2 + 1069 901043 0.0016629 1 2 + 1070 901044 0.0000000 0 2 + 1071 901045 0.0016676 1 2 + 1072 901046 0.0013772 1 2 + 1073 901047 0.0016006 1 2 + 1074 901048 0.0015382 1 2 + 1075 901049 0.0016176 1 2 + 1076 901050 0.0015127 1 2 + 1077 901051 0.0015834 1 2 + 1078 901052 0.0014696 1 2 + 1079 901053 0.0015254 1 2 + 1080 901054 0.0014474 1 2 + 1081 901055 0.0000000 0 2 + 1082 901056 0.0014321 1 2 + 1083 901057 0.0014370 1 2 + 1084 901058 0.0013876 1 2 + 1085 901059 0.0014307 1 2 + 1086 901060 0.0013450 1 2 + 1087 901061 0.0013833 1 2 + 1088 901062 0.0012971 1 2 + 1089 901063 0.0013459 1 2 + 1090 901064 0.0012596 1 2 + 1091 901065 0.0013146 1 2 + 1092 901066 0.0000000 0 2 + 1093 901067 0.0000000 0 2 + 1094 901068 0.0000000 0 2 + 1095 901069 0.0000000 0 2 + 1096 901070 0.0000000 0 2 + 1097 901071 0.0000000 0 2 + 1098 901072 0.0000000 0 2 + 1099 901073 0.0000000 0 2 + 1100 901074 0.0000000 0 2 + 1101 901075 0.0000000 0 2 + 1102 901076 0.0007140 1 2 + 1103 901077 0.0011524 1 2 + 1104 901078 0.0010672 1 2 + 1105 901079 0.0011550 1 2 + 1106 901080 0.0010681 1 2 + 1107 901081 0.0011141 1 2 + 1108 901082 0.0010259 1 2 + 1109 901083 0.0010745 1 2 + 1110 901084 0.0010038 1 2 + 1111 901085 0.0010211 1 2 + 1112 901086 0.0009552 1 2 + 1113 901087 0.0009692 1 2 + 1114 901088 0.0009291 1 2 + 1115 901089 0.0009166 1 2 + 1116 901090 0.0009318 1 2 + 1117 901091 0.0009520 1 2 + 1118 901092 0.0008833 1 2 + 1119 901093 0.0009466 1 2 + 1120 901094 0.0008382 1 2 + 1121 901095 0.0008896 1 2 + 1122 901096 0.0008141 1 2 + 1123 901097 0.0009025 1 2 + 1124 901098 0.0007935 1 2 + 1125 901099 0.0008507 1 2 + 1126 901100 0.0007731 1 2 + 1127 901101 0.0008290 1 2 + 1128 901102 0.0007683 1 2 + 1129 901103 0.0008275 1 2 + 1130 901104 0.0007196 1 2 + 1131 901105 0.0007890 1 2 + 1132 901106 0.0006939 1 2 + 1133 901107 0.0007512 1 2 + 1134 901108 0.0006808 1 2 + 1135 901109 0.0007359 1 2 + 1136 901110 0.0006437 1 2 + 1137 901111 0.0006973 1 2 + 1138 901112 0.0006210 1 2 + 1139 901113 0.0006858 1 2 + 1140 901114 0.0005868 1 2 + 1141 901115 0.0006558 1 2 + 1142 901116 0.0005743 1 2 + 1143 901117 0.0006885 1 2 + 1144 901118 0.0009516 1 2 + 1145 901119 0.0016927 1 2 + 1146 902000 0.0000000 0 2 + 1147 902001 0.0000000 0 2 + 1148 902002 0.0000000 0 2 + 1149 902003 0.0000000 0 2 + 1150 902004 0.0000000 0 2 + 1151 902005 0.0000000 0 2 + 1152 902006 0.0000000 0 2 + 1153 902007 0.0022486 1 2 + 1154 902008 0.0022273 1 2 + 1155 902009 0.0022462 1 2 + 1156 902010 0.0021854 1 2 + 1157 902011 0.0022457 1 2 + 1158 902012 0.0021593 1 2 + 1159 902013 0.0022211 1 2 + 1160 902014 0.0021513 1 2 + 1161 902015 0.0021885 1 2 + 1162 902016 0.0020993 1 2 + 1163 902017 0.0021661 1 2 + 1164 902018 0.0020462 1 2 + 1165 902019 0.0000000 0 2 + 1166 902020 0.0020236 1 2 + 1167 902021 0.0019770 1 2 + 1168 902022 0.0019817 1 2 + 1169 902023 0.0020584 1 2 + 1170 902024 0.0019922 1 2 + 1171 902025 0.0020410 1 2 + 1172 902026 0.0019241 1 2 + 1173 902027 0.0019624 1 2 + 1174 902028 0.0018643 1 2 + 1175 902029 0.0018939 1 2 + 1176 902030 0.0018352 1 2 + 1177 902031 0.0019177 1 2 + 1178 902032 0.0000000 0 2 + 1179 902033 0.0018605 1 2 + 1180 902034 0.0018476 1 2 + 1181 902035 0.0018287 1 2 + 1182 902036 0.0017540 1 2 + 1183 902037 0.0018020 1 2 + 1184 902038 0.0016889 1 2 + 1185 902039 0.0017606 1 2 + 1186 902040 0.0016948 1 2 + 1187 902041 0.0017184 1 2 + 1188 902042 0.0016261 1 2 + 1189 902043 0.0016629 1 2 + 1190 902044 0.0000000 0 2 + 1191 902045 0.0016676 1 2 + 1192 902046 0.0013772 1 2 + 1193 902047 0.0016006 1 2 + 1194 902048 0.0015382 1 2 + 1195 902049 0.0016176 1 2 + 1196 902050 0.0015127 1 2 + 1197 902051 0.0015834 1 2 + 1198 902052 0.0014696 1 2 + 1199 902053 0.0015254 1 2 + 1200 902054 0.0014474 1 2 + 1201 902055 0.0000000 0 2 + 1202 902056 0.0014321 1 2 + 1203 902057 0.0014370 1 2 + 1204 902058 0.0013876 1 2 + 1205 902059 0.0014307 1 2 + 1206 902060 0.0013450 1 2 + 1207 902061 0.0013833 1 2 + 1208 902062 0.0012971 1 2 + 1209 902063 0.0013459 1 2 + 1210 902064 0.0012596 1 2 + 1211 902065 0.0013146 1 2 + 1212 902066 0.0000000 0 2 + 1213 902067 0.0000000 0 2 + 1214 902068 0.0000000 0 2 + 1215 902069 0.0000000 0 2 + 1216 902070 0.0000000 0 2 + 1217 902071 0.0000000 0 2 + 1218 902072 0.0000000 0 2 + 1219 902073 0.0000000 0 2 + 1220 902074 0.0000000 0 2 + 1221 902075 0.0000000 0 2 + 1222 902076 0.0007140 1 2 + 1223 902077 0.0011524 1 2 + 1224 902078 0.0010672 1 2 + 1225 902079 0.0011550 1 2 + 1226 902080 0.0010681 1 2 + 1227 902081 0.0011141 1 2 + 1228 902082 0.0010259 1 2 + 1229 902083 0.0010745 1 2 + 1230 902084 0.0010038 1 2 + 1231 902085 0.0010211 1 2 + 1232 902086 0.0009552 1 2 + 1233 902087 0.0009692 1 2 + 1234 902088 0.0009291 1 2 + 1235 902089 0.0009166 1 2 + 1236 902090 0.0009318 1 2 + 1237 902091 0.0009520 1 2 + 1238 902092 0.0008833 1 2 + 1239 902093 0.0009466 1 2 + 1240 902094 0.0008382 1 2 + 1241 902095 0.0008896 1 2 + 1242 902096 0.0008141 1 2 + 1243 902097 0.0009025 1 2 + 1244 902098 0.0007935 1 2 + 1245 902099 0.0008507 1 2 + 1246 902100 0.0007731 1 2 + 1247 902101 0.0008290 1 2 + 1248 902102 0.0007683 1 2 + 1249 902103 0.0008275 1 2 + 1250 902104 0.0007196 1 2 + 1251 902105 0.0007890 1 2 + 1252 902106 0.0006939 1 2 + 1253 902107 0.0007512 1 2 + 1254 902108 0.0006808 1 2 + 1255 902109 0.0007359 1 2 + 1256 902110 0.0006437 1 2 + 1257 902111 0.0006973 1 2 + 1258 902112 0.0006210 1 2 + 1259 902113 0.0006858 1 2 + 1260 902114 0.0005868 1 2 + 1261 902115 0.0006558 1 2 + 1262 902116 0.0005743 1 2 + 1263 902117 0.0006885 1 2 + 1264 902118 0.0009516 1 2 + 1265 902119 0.0016927 1 2 + 1266 903000 0.0000000 0 2 + 1267 903001 0.0000000 0 2 + 1268 903002 0.0000000 0 2 + 1269 903003 0.0000000 0 2 + 1270 903004 0.0000000 0 2 + 1271 903005 0.0000000 0 2 + 1272 903006 0.0000000 0 2 + 1273 903007 0.0022486 1 2 + 1274 903008 0.0022273 1 2 + 1275 903009 0.0022462 1 2 + 1276 903010 0.0021854 1 2 + 1277 903011 0.0022457 1 2 + 1278 903012 0.0021593 1 2 + 1279 903013 0.0022211 1 2 + 1280 903014 0.0021513 1 2 + 1281 903015 0.0021885 1 2 + 1282 903016 0.0020993 1 2 + 1283 903017 0.0021661 1 2 + 1284 903018 0.0020462 1 2 + 1285 903019 0.0000000 0 2 + 1286 903020 0.0020236 1 2 + 1287 903021 0.0019770 1 2 + 1288 903022 0.0019817 1 2 + 1289 903023 0.0020584 1 2 + 1290 903024 0.0019922 1 2 + 1291 903025 0.0020410 1 2 + 1292 903026 0.0019241 1 2 + 1293 903027 0.0019624 1 2 + 1294 903028 0.0018643 1 2 + 1295 903029 0.0018939 1 2 + 1296 903030 0.0018352 1 2 + 1297 903031 0.0019177 1 2 + 1298 903032 0.0000000 0 2 + 1299 903033 0.0018605 1 2 + 1300 903034 0.0018476 1 2 + 1301 903035 0.0018287 1 2 + 1302 903036 0.0017540 1 2 + 1303 903037 0.0018020 1 2 + 1304 903038 0.0016889 1 2 + 1305 903039 0.0017606 1 2 + 1306 903040 0.0016948 1 2 + 1307 903041 0.0017184 1 2 + 1308 903042 0.0016261 1 2 + 1309 903043 0.0016629 1 2 + 1310 903044 0.0000000 0 2 + 1311 903045 0.0016676 1 2 + 1312 903046 0.0013772 1 2 + 1313 903047 0.0016006 1 2 + 1314 903048 0.0015382 1 2 + 1315 903049 0.0016176 1 2 + 1316 903050 0.0015127 1 2 + 1317 903051 0.0015834 1 2 + 1318 903052 0.0014696 1 2 + 1319 903053 0.0015254 1 2 + 1320 903054 0.0014474 1 2 + 1321 903055 0.0000000 0 2 + 1322 903056 0.0014321 1 2 + 1323 903057 0.0014370 1 2 + 1324 903058 0.0013876 1 2 + 1325 903059 0.0014307 1 2 + 1326 903060 0.0013450 1 2 + 1327 903061 0.0013833 1 2 + 1328 903062 0.0012971 1 2 + 1329 903063 0.0013459 1 2 + 1330 903064 0.0012596 1 2 + 1331 903065 0.0013146 1 2 + 1332 903066 0.0000000 0 2 + 1333 903067 0.0000000 0 2 + 1334 903068 0.0000000 0 2 + 1335 903069 0.0000000 0 2 + 1336 903070 0.0000000 0 2 + 1337 903071 0.0000000 0 2 + 1338 903072 0.0000000 0 2 + 1339 903073 0.0000000 0 2 + 1340 903074 0.0000000 0 2 + 1341 903075 0.0000000 0 2 + 1342 903076 0.0007140 1 2 + 1343 903077 0.0011524 1 2 + 1344 903078 0.0010672 1 2 + 1345 903079 0.0011550 1 2 + 1346 903080 0.0010681 1 2 + 1347 903081 0.0011141 1 2 + 1348 903082 0.0010259 1 2 + 1349 903083 0.0010745 1 2 + 1350 903084 0.0010038 1 2 + 1351 903085 0.0010211 1 2 + 1352 903086 0.0009552 1 2 + 1353 903087 0.0009692 1 2 + 1354 903088 0.0009291 1 2 + 1355 903089 0.0009166 1 2 + 1356 903090 0.0009318 1 2 + 1357 903091 0.0009520 1 2 + 1358 903092 0.0008833 1 2 + 1359 903093 0.0009466 1 2 + 1360 903094 0.0008382 1 2 + 1361 903095 0.0008896 1 2 + 1362 903096 0.0008141 1 2 + 1363 903097 0.0009025 1 2 + 1364 903098 0.0007935 1 2 + 1365 903099 0.0008507 1 2 + 1366 903100 0.0007731 1 2 + 1367 903101 0.0008290 1 2 + 1368 903102 0.0007683 1 2 + 1369 903103 0.0008275 1 2 + 1370 903104 0.0007196 1 2 + 1371 903105 0.0007890 1 2 + 1372 903106 0.0006939 1 2 + 1373 903107 0.0007512 1 2 + 1374 903108 0.0006808 1 2 + 1375 903109 0.0007359 1 2 + 1376 903110 0.0006437 1 2 + 1377 903111 0.0006973 1 2 + 1378 903112 0.0006210 1 2 + 1379 903113 0.0006858 1 2 + 1380 903114 0.0005868 1 2 + 1381 903115 0.0006558 1 2 + 1382 903116 0.0005743 1 2 + 1383 903117 0.0006885 1 2 + 1384 903118 0.0009516 1 2 + 1385 903119 0.0016927 1 2 + 1386 904000 0.0000000 0 2 + 1387 904001 0.0000000 0 2 + 1388 904002 0.0000000 0 2 + 1389 904003 0.0000000 0 2 + 1390 904004 0.0000000 0 2 + 1391 904005 0.0000000 0 2 + 1392 904006 0.0000000 0 2 + 1393 904007 0.0022486 1 2 + 1394 904008 0.0022273 1 2 + 1395 904009 0.0022462 1 2 + 1396 904010 0.0021854 1 2 + 1397 904011 0.0022457 1 2 + 1398 904012 0.0021593 1 2 + 1399 904013 0.0022211 1 2 + 1400 904014 0.0021513 1 2 + 1401 904015 0.0021885 1 2 + 1402 904016 0.0020993 1 2 + 1403 904017 0.0021661 1 2 + 1404 904018 0.0020462 1 2 + 1405 904019 0.0000000 0 2 + 1406 904020 0.0020236 1 2 + 1407 904021 0.0019770 1 2 + 1408 904022 0.0019817 1 2 + 1409 904023 0.0020584 1 2 + 1410 904024 0.0019922 1 2 + 1411 904025 0.0020410 1 2 + 1412 904026 0.0019241 1 2 + 1413 904027 0.0019624 1 2 + 1414 904028 0.0018643 1 2 + 1415 904029 0.0018939 1 2 + 1416 904030 0.0018352 1 2 + 1417 904031 0.0019177 1 2 + 1418 904032 0.0000000 0 2 + 1419 904033 0.0018605 1 2 + 1420 904034 0.0018476 1 2 + 1421 904035 0.0018287 1 2 + 1422 904036 0.0017540 1 2 + 1423 904037 0.0018020 1 2 + 1424 904038 0.0016889 1 2 + 1425 904039 0.0017606 1 2 + 1426 904040 0.0016948 1 2 + 1427 904041 0.0017184 1 2 + 1428 904042 0.0016261 1 2 + 1429 904043 0.0016629 1 2 + 1430 904044 0.0000000 0 2 + 1431 904045 0.0016676 1 2 + 1432 904046 0.0013772 1 2 + 1433 904047 0.0016006 1 2 + 1434 904048 0.0015382 1 2 + 1435 904049 0.0016176 1 2 + 1436 904050 0.0015127 1 2 + 1437 904051 0.0015834 1 2 + 1438 904052 0.0014696 1 2 + 1439 904053 0.0015254 1 2 + 1440 904054 0.0014474 1 2 + 1441 904055 0.0000000 0 2 + 1442 904056 0.0014321 1 2 + 1443 904057 0.0014370 1 2 + 1444 904058 0.0013876 1 2 + 1445 904059 0.0014307 1 2 + 1446 904060 0.0013450 1 2 + 1447 904061 0.0013833 1 2 + 1448 904062 0.0012971 1 2 + 1449 904063 0.0013459 1 2 + 1450 904064 0.0012596 1 2 + 1451 904065 0.0013146 1 2 + 1452 904066 0.0000000 0 2 + 1453 904067 0.0000000 0 2 + 1454 904068 0.0000000 0 2 + 1455 904069 0.0000000 0 2 + 1456 904070 0.0000000 0 2 + 1457 904071 0.0000000 0 2 + 1458 904072 0.0000000 0 2 + 1459 904073 0.0000000 0 2 + 1460 904074 0.0000000 0 2 + 1461 904075 0.0000000 0 2 + 1462 904076 0.0007140 1 2 + 1463 904077 0.0011524 1 2 + 1464 904078 0.0010672 1 2 + 1465 904079 0.0011550 1 2 + 1466 904080 0.0010681 1 2 + 1467 904081 0.0011141 1 2 + 1468 904082 0.0010259 1 2 + 1469 904083 0.0010745 1 2 + 1470 904084 0.0010038 1 2 + 1471 904085 0.0010211 1 2 + 1472 904086 0.0009552 1 2 + 1473 904087 0.0009692 1 2 + 1474 904088 0.0009291 1 2 + 1475 904089 0.0009166 1 2 + 1476 904090 0.0009318 1 2 + 1477 904091 0.0009520 1 2 + 1478 904092 0.0008833 1 2 + 1479 904093 0.0009466 1 2 + 1480 904094 0.0008382 1 2 + 1481 904095 0.0008896 1 2 + 1482 904096 0.0008141 1 2 + 1483 904097 0.0009025 1 2 + 1484 904098 0.0007935 1 2 + 1485 904099 0.0008507 1 2 + 1486 904100 0.0007731 1 2 + 1487 904101 0.0008290 1 2 + 1488 904102 0.0007683 1 2 + 1489 904103 0.0008275 1 2 + 1490 904104 0.0007196 1 2 + 1491 904105 0.0007890 1 2 + 1492 904106 0.0006939 1 2 + 1493 904107 0.0007512 1 2 + 1494 904108 0.0006808 1 2 + 1495 904109 0.0007359 1 2 + 1496 904110 0.0006437 1 2 + 1497 904111 0.0006973 1 2 + 1498 904112 0.0006210 1 2 + 1499 904113 0.0006858 1 2 + 1500 904114 0.0005868 1 2 + 1501 904115 0.0006558 1 2 + 1502 904116 0.0005743 1 2 + 1503 904117 0.0006885 1 2 + 1504 904118 0.0009516 1 2 + 1505 904119 0.0016927 1 2 + 1506 905000 0.0000000 0 2 + 1507 905001 0.0000000 0 2 + 1508 905002 0.0000000 0 2 + 1509 905003 0.0000000 0 2 + 1510 905004 0.0000000 0 2 + 1511 905005 0.0000000 0 2 + 1512 905006 0.0000000 0 2 + 1513 905007 0.0022486 1 2 + 1514 905008 0.0022273 1 2 + 1515 905009 0.0022462 1 2 + 1516 905010 0.0021854 1 2 + 1517 905011 0.0022457 1 2 + 1518 905012 0.0021593 1 2 + 1519 905013 0.0022211 1 2 + 1520 905014 0.0021513 1 2 + 1521 905015 0.0021885 1 2 + 1522 905016 0.0020993 1 2 + 1523 905017 0.0021661 1 2 + 1524 905018 0.0020462 1 2 + 1525 905019 0.0000000 0 2 + 1526 905020 0.0020236 1 2 + 1527 905021 0.0019770 1 2 + 1528 905022 0.0019817 1 2 + 1529 905023 0.0020584 1 2 + 1530 905024 0.0019922 1 2 + 1531 905025 0.0020410 1 2 + 1532 905026 0.0019241 1 2 + 1533 905027 0.0019624 1 2 + 1534 905028 0.0018643 1 2 + 1535 905029 0.0018939 1 2 + 1536 905030 0.0018352 1 2 + 1537 905031 0.0019177 1 2 + 1538 905032 0.0000000 0 2 + 1539 905033 0.0018605 1 2 + 1540 905034 0.0018476 1 2 + 1541 905035 0.0018287 1 2 + 1542 905036 0.0017540 1 2 + 1543 905037 0.0018020 1 2 + 1544 905038 0.0016889 1 2 + 1545 905039 0.0017606 1 2 + 1546 905040 0.0016948 1 2 + 1547 905041 0.0017184 1 2 + 1548 905042 0.0016261 1 2 + 1549 905043 0.0016629 1 2 + 1550 905044 0.0000000 0 2 + 1551 905045 0.0016676 1 2 + 1552 905046 0.0013772 1 2 + 1553 905047 0.0016006 1 2 + 1554 905048 0.0015382 1 2 + 1555 905049 0.0016176 1 2 + 1556 905050 0.0015127 1 2 + 1557 905051 0.0015834 1 2 + 1558 905052 0.0014696 1 2 + 1559 905053 0.0015254 1 2 + 1560 905054 0.0014474 1 2 + 1561 905055 0.0000000 0 2 + 1562 905056 0.0014321 1 2 + 1563 905057 0.0014370 1 2 + 1564 905058 0.0013876 1 2 + 1565 905059 0.0014307 1 2 + 1566 905060 0.0013450 1 2 + 1567 905061 0.0013833 1 2 + 1568 905062 0.0012971 1 2 + 1569 905063 0.0013459 1 2 + 1570 905064 0.0012596 1 2 + 1571 905065 0.0013146 1 2 + 1572 905066 0.0000000 0 2 + 1573 905067 0.0000000 0 2 + 1574 905068 0.0000000 0 2 + 1575 905069 0.0000000 0 2 + 1576 905070 0.0000000 0 2 + 1577 905071 0.0000000 0 2 + 1578 905072 0.0000000 0 2 + 1579 905073 0.0000000 0 2 + 1580 905074 0.0000000 0 2 + 1581 905075 0.0000000 0 2 + 1582 905076 0.0007140 1 2 + 1583 905077 0.0011524 1 2 + 1584 905078 0.0010672 1 2 + 1585 905079 0.0011550 1 2 + 1586 905080 0.0010681 1 2 + 1587 905081 0.0011141 1 2 + 1588 905082 0.0010259 1 2 + 1589 905083 0.0010745 1 2 + 1590 905084 0.0010038 1 2 + 1591 905085 0.0010211 1 2 + 1592 905086 0.0009552 1 2 + 1593 905087 0.0009692 1 2 + 1594 905088 0.0009291 1 2 + 1595 905089 0.0009166 1 2 + 1596 905090 0.0009318 1 2 + 1597 905091 0.0009520 1 2 + 1598 905092 0.0008833 1 2 + 1599 905093 0.0009466 1 2 + 1600 905094 0.0008382 1 2 + 1601 905095 0.0008896 1 2 + 1602 905096 0.0008141 1 2 + 1603 905097 0.0009025 1 2 + 1604 905098 0.0007935 1 2 + 1605 905099 0.0008507 1 2 + 1606 905100 0.0007731 1 2 + 1607 905101 0.0008290 1 2 + 1608 905102 0.0007683 1 2 + 1609 905103 0.0008275 1 2 + 1610 905104 0.0007196 1 2 + 1611 905105 0.0007890 1 2 + 1612 905106 0.0006939 1 2 + 1613 905107 0.0007512 1 2 + 1614 905108 0.0006808 1 2 + 1615 905109 0.0007359 1 2 + 1616 905110 0.0006437 1 2 + 1617 905111 0.0006973 1 2 + 1618 905112 0.0006210 1 2 + 1619 905113 0.0006858 1 2 + 1620 905114 0.0005868 1 2 + 1621 905115 0.0006558 1 2 + 1622 905116 0.0005743 1 2 + 1623 905117 0.0006885 1 2 + 1624 905118 0.0009516 1 2 + 1625 905119 0.0016927 1 2 + 1626 906000 0.0000000 0 2 + 1627 906001 0.0000000 0 2 + 1628 906002 0.0000000 0 2 + 1629 906003 0.0000000 0 2 + 1630 906004 0.0000000 0 2 + 1631 906005 0.0000000 0 2 + 1632 906006 0.0000000 0 2 + 1633 906007 0.0022486 1 2 + 1634 906008 0.0022273 1 2 + 1635 906009 0.0022462 1 2 + 1636 906010 0.0021854 1 2 + 1637 906011 0.0022457 1 2 + 1638 906012 0.0021593 1 2 + 1639 906013 0.0022211 1 2 + 1640 906014 0.0021513 1 2 + 1641 906015 0.0021885 1 2 + 1642 906016 0.0020993 1 2 + 1643 906017 0.0021661 1 2 + 1644 906018 0.0020462 1 2 + 1645 906019 0.0000000 0 2 + 1646 906020 0.0020236 1 2 + 1647 906021 0.0019770 1 2 + 1648 906022 0.0019817 1 2 + 1649 906023 0.0020584 1 2 + 1650 906024 0.0019922 1 2 + 1651 906025 0.0020410 1 2 + 1652 906026 0.0019241 1 2 + 1653 906027 0.0019624 1 2 + 1654 906028 0.0018643 1 2 + 1655 906029 0.0018939 1 2 + 1656 906030 0.0018352 1 2 + 1657 906031 0.0019177 1 2 + 1658 906032 0.0000000 0 2 + 1659 906033 0.0018605 1 2 + 1660 906034 0.0018476 1 2 + 1661 906035 0.0018287 1 2 + 1662 906036 0.0017540 1 2 + 1663 906037 0.0018020 1 2 + 1664 906038 0.0016889 1 2 + 1665 906039 0.0017606 1 2 + 1666 906040 0.0016948 1 2 + 1667 906041 0.0017184 1 2 + 1668 906042 0.0016261 1 2 + 1669 906043 0.0016629 1 2 + 1670 906044 0.0000000 0 2 + 1671 906045 0.0016676 1 2 + 1672 906046 0.0013772 1 2 + 1673 906047 0.0016006 1 2 + 1674 906048 0.0015382 1 2 + 1675 906049 0.0016176 1 2 + 1676 906050 0.0015127 1 2 + 1677 906051 0.0015834 1 2 + 1678 906052 0.0014696 1 2 + 1679 906053 0.0015254 1 2 + 1680 906054 0.0014474 1 2 + 1681 906055 0.0000000 0 2 + 1682 906056 0.0014321 1 2 + 1683 906057 0.0014370 1 2 + 1684 906058 0.0013876 1 2 + 1685 906059 0.0014307 1 2 + 1686 906060 0.0013450 1 2 + 1687 906061 0.0013833 1 2 + 1688 906062 0.0012971 1 2 + 1689 906063 0.0013459 1 2 + 1690 906064 0.0012596 1 2 + 1691 906065 0.0013146 1 2 + 1692 906066 0.0000000 0 2 + 1693 906067 0.0000000 0 2 + 1694 906068 0.0000000 0 2 + 1695 906069 0.0000000 0 2 + 1696 906070 0.0000000 0 2 + 1697 906071 0.0000000 0 2 + 1698 906072 0.0000000 0 2 + 1699 906073 0.0000000 0 2 + 1700 906074 0.0000000 0 2 + 1701 906075 0.0000000 0 2 + 1702 906076 0.0007140 1 2 + 1703 906077 0.0011524 1 2 + 1704 906078 0.0010672 1 2 + 1705 906079 0.0011550 1 2 + 1706 906080 0.0010681 1 2 + 1707 906081 0.0011141 1 2 + 1708 906082 0.0010259 1 2 + 1709 906083 0.0010745 1 2 + 1710 906084 0.0010038 1 2 + 1711 906085 0.0010211 1 2 + 1712 906086 0.0009552 1 2 + 1713 906087 0.0009692 1 2 + 1714 906088 0.0009291 1 2 + 1715 906089 0.0009166 1 2 + 1716 906090 0.0009318 1 2 + 1717 906091 0.0009520 1 2 + 1718 906092 0.0008833 1 2 + 1719 906093 0.0009466 1 2 + 1720 906094 0.0008382 1 2 + 1721 906095 0.0008896 1 2 + 1722 906096 0.0008141 1 2 + 1723 906097 0.0009025 1 2 + 1724 906098 0.0007935 1 2 + 1725 906099 0.0008507 1 2 + 1726 906100 0.0007731 1 2 + 1727 906101 0.0008290 1 2 + 1728 906102 0.0007683 1 2 + 1729 906103 0.0008275 1 2 + 1730 906104 0.0007196 1 2 + 1731 906105 0.0007890 1 2 + 1732 906106 0.0006939 1 2 + 1733 906107 0.0007512 1 2 + 1734 906108 0.0006808 1 2 + 1735 906109 0.0007359 1 2 + 1736 906110 0.0006437 1 2 + 1737 906111 0.0006973 1 2 + 1738 906112 0.0006210 1 2 + 1739 906113 0.0006858 1 2 + 1740 906114 0.0005868 1 2 + 1741 906115 0.0006558 1 2 + 1742 906116 0.0005743 1 2 + 1743 906117 0.0006885 1 2 + 1744 906118 0.0009516 1 2 + 1745 906119 0.0016927 1 2 + 1746 907000 0.0000000 0 2 + 1747 907001 0.0000000 0 2 + 1748 907002 0.0000000 0 2 + 1749 907003 0.0000000 0 2 + 1750 907004 0.0000000 0 2 + 1751 907005 0.0000000 0 2 + 1752 907006 0.0000000 0 2 + 1753 907007 0.0022486 1 2 + 1754 907008 0.0022273 1 2 + 1755 907009 0.0022462 1 2 + 1756 907010 0.0021854 1 2 + 1757 907011 0.0022457 1 2 + 1758 907012 0.0021593 1 2 + 1759 907013 0.0022211 1 2 + 1760 907014 0.0021513 1 2 + 1761 907015 0.0021885 1 2 + 1762 907016 0.0020993 1 2 + 1763 907017 0.0021661 1 2 + 1764 907018 0.0020462 1 2 + 1765 907019 0.0000000 0 2 + 1766 907020 0.0020236 1 2 + 1767 907021 0.0019770 1 2 + 1768 907022 0.0019817 1 2 + 1769 907023 0.0020584 1 2 + 1770 907024 0.0019922 1 2 + 1771 907025 0.0020410 1 2 + 1772 907026 0.0019241 1 2 + 1773 907027 0.0019624 1 2 + 1774 907028 0.0018643 1 2 + 1775 907029 0.0018939 1 2 + 1776 907030 0.0018352 1 2 + 1777 907031 0.0019177 1 2 + 1778 907032 0.0000000 0 2 + 1779 907033 0.0018605 1 2 + 1780 907034 0.0018476 1 2 + 1781 907035 0.0018287 1 2 + 1782 907036 0.0017540 1 2 + 1783 907037 0.0018020 1 2 + 1784 907038 0.0016889 1 2 + 1785 907039 0.0017606 1 2 + 1786 907040 0.0016948 1 2 + 1787 907041 0.0017184 1 2 + 1788 907042 0.0016261 1 2 + 1789 907043 0.0016629 1 2 + 1790 907044 0.0000000 0 2 + 1791 907045 0.0016676 1 2 + 1792 907046 0.0013772 1 2 + 1793 907047 0.0016006 1 2 + 1794 907048 0.0015382 1 2 + 1795 907049 0.0016176 1 2 + 1796 907050 0.0015127 1 2 + 1797 907051 0.0015834 1 2 + 1798 907052 0.0014696 1 2 + 1799 907053 0.0015254 1 2 + 1800 907054 0.0014474 1 2 + 1801 907055 0.0000000 0 2 + 1802 907056 0.0014321 1 2 + 1803 907057 0.0014370 1 2 + 1804 907058 0.0013876 1 2 + 1805 907059 0.0014307 1 2 + 1806 907060 0.0013450 1 2 + 1807 907061 0.0013833 1 2 + 1808 907062 0.0012971 1 2 + 1809 907063 0.0013459 1 2 + 1810 907064 0.0012596 1 2 + 1811 907065 0.0013146 1 2 + 1812 907066 0.0000000 0 2 + 1813 907067 0.0000000 0 2 + 1814 907068 0.0000000 0 2 + 1815 907069 0.0000000 0 2 + 1816 907070 0.0000000 0 2 + 1817 907071 0.0000000 0 2 + 1818 907072 0.0000000 0 2 + 1819 907073 0.0000000 0 2 + 1820 907074 0.0000000 0 2 + 1821 907075 0.0000000 0 2 + 1822 907076 0.0007140 1 2 + 1823 907077 0.0011524 1 2 + 1824 907078 0.0010672 1 2 + 1825 907079 0.0011550 1 2 + 1826 907080 0.0010681 1 2 + 1827 907081 0.0011141 1 2 + 1828 907082 0.0010259 1 2 + 1829 907083 0.0010745 1 2 + 1830 907084 0.0010038 1 2 + 1831 907085 0.0010211 1 2 + 1832 907086 0.0009552 1 2 + 1833 907087 0.0009692 1 2 + 1834 907088 0.0009291 1 2 + 1835 907089 0.0009166 1 2 + 1836 907090 0.0009318 1 2 + 1837 907091 0.0009520 1 2 + 1838 907092 0.0008833 1 2 + 1839 907093 0.0009466 1 2 + 1840 907094 0.0008382 1 2 + 1841 907095 0.0008896 1 2 + 1842 907096 0.0008141 1 2 + 1843 907097 0.0009025 1 2 + 1844 907098 0.0007935 1 2 + 1845 907099 0.0008507 1 2 + 1846 907100 0.0007731 1 2 + 1847 907101 0.0008290 1 2 + 1848 907102 0.0007683 1 2 + 1849 907103 0.0008275 1 2 + 1850 907104 0.0007196 1 2 + 1851 907105 0.0007890 1 2 + 1852 907106 0.0006939 1 2 + 1853 907107 0.0007512 1 2 + 1854 907108 0.0006808 1 2 + 1855 907109 0.0007359 1 2 + 1856 907110 0.0006437 1 2 + 1857 907111 0.0006973 1 2 + 1858 907112 0.0006210 1 2 + 1859 907113 0.0006858 1 2 + 1860 907114 0.0005868 1 2 + 1861 907115 0.0006558 1 2 + 1862 907116 0.0005743 1 2 + 1863 907117 0.0006885 1 2 + 1864 907118 0.0009516 1 2 + 1865 907119 0.0016927 1 2 + 1866 911000 0.0000000 0 2 + 1867 911001 0.0000000 0 2 + 1868 911002 0.0000000 0 2 + 1869 911003 0.0039947 1 2 + 1870 911004 0.0039848 1 2 + 1871 911005 0.0040814 1 2 + 1872 911006 0.0039844 1 2 + 1873 911007 0.0040137 1 2 + 1874 911008 0.0039602 1 2 + 1875 911009 0.0040504 1 2 + 1876 911010 0.0039271 1 2 + 1877 911011 0.0039722 1 2 + 1878 911012 0.0039028 1 2 + 1879 911013 0.0040588 1 2 + 1880 911014 0.0039318 1 2 + 1881 911015 0.0039531 1 2 + 1882 911016 0.0000000 0 2 + 1883 911017 0.0039819 1 2 + 1884 911018 0.0038749 1 2 + 1885 911019 0.0039018 1 2 + 1886 911020 0.0038421 1 2 + 1887 911021 0.0039204 1 2 + 1888 911022 0.0038189 1 2 + 1889 911023 0.0038995 1 2 + 1890 911024 0.0038129 1 2 + 1891 911025 0.0038507 1 2 + 1892 911026 0.0037578 1 2 + 1893 911027 0.0038265 1 2 + 1894 911028 0.0037352 1 2 + 1895 911029 0.0038140 1 2 + 1896 911030 0.0000000 0 2 + 1897 911031 0.0000000 0 2 + 1898 911032 0.0000000 0 2 + 1899 911033 0.0000000 0 2 + 1900 911034 0.0000000 0 2 + 1901 911035 0.0000000 0 2 + 1902 911036 0.0000000 0 2 + 1903 911037 0.0000000 0 2 + 1904 911038 0.0000000 0 2 + 1905 911039 0.0000000 0 2 + 1906 911040 0.0000000 0 2 + 1907 911041 0.0000000 0 2 + 1908 911042 0.0000000 0 2 + 1909 911043 0.0035259 1 2 + 1910 911044 0.0034181 1 2 + 1911 911045 0.0034913 1 2 + 1912 911046 0.0033863 1 2 + 1913 911047 0.0034605 1 2 + 1914 911048 0.0033369 1 2 + 1915 911049 0.0033952 1 2 + 1916 911050 0.0033419 1 2 + 1917 911051 0.0034441 1 2 + 1918 911052 0.0033443 1 2 + 1919 911053 0.0033803 1 2 + 1920 911054 0.0033289 1 2 + 1921 911055 0.0034190 1 2 + 1922 911056 0.0033215 1 2 + 1923 911057 0.0033734 1 2 + 1924 911058 0.0032995 1 2 + 1925 911059 0.0033824 1 2 + 1926 911060 0.0032673 1 2 + 1927 911061 0.0033293 1 2 + 1928 911062 0.0032556 1 2 + 1929 911063 0.0033203 1 2 + 1930 911064 0.0032176 1 2 + 1931 911065 0.0033174 1 2 + 1932 911066 0.0031937 1 2 + 1933 911067 0.0032719 1 2 + 1934 911068 0.0031562 1 2 + 1935 911069 0.0032456 1 2 + 1936 911070 0.0031332 1 2 + 1937 911071 0.0031814 1 2 + 1938 911072 0.0030990 1 2 + 1939 911073 0.0031843 1 2 + 1940 911074 0.0030801 1 2 + 1941 911075 0.0031829 1 2 + 1942 911076 0.0030810 1 2 + 1943 911077 0.0031397 1 2 + 1944 911078 0.0030485 1 2 + 1945 911079 0.0031512 1 2 + 1946 911080 0.0030298 1 2 + 1947 911081 0.0031008 1 2 + 1948 911082 0.0029977 1 2 + 1949 911083 0.0030246 1 2 + 1950 911084 0.0029369 1 2 + 1951 911085 0.0029995 1 2 + 1952 911086 0.0028994 1 2 + 1953 911087 0.0029417 1 2 + 1954 911088 0.0028616 1 2 + 1955 911089 0.0029336 1 2 + 1956 911090 0.0028544 1 2 + 1957 911091 0.0029079 1 2 + 1958 911092 0.0028382 1 2 + 1959 911093 0.0028865 1 2 + 1960 911094 0.0028010 1 2 + 1961 911095 0.0028700 1 2 + 1962 911096 0.0027905 1 2 + 1963 911097 0.0028608 1 2 + 1964 911098 0.0027379 1 2 + 1965 911099 0.0028289 1 2 + 1966 911100 0.0027271 1 2 + 1967 911101 0.0027823 1 2 + 1968 911102 0.0026680 1 2 + 1969 911103 0.0026991 1 2 + 1970 911104 0.0026567 1 2 + 1971 911105 0.0027472 1 2 + 1972 911106 0.0026411 1 2 + 1973 911107 0.0026961 1 2 + 1974 911108 0.0026007 1 2 + 1975 911109 0.0026639 1 2 + 1976 911110 0.0025651 1 2 + 1977 911111 0.0026130 1 2 + 1978 911112 0.0025402 1 2 + 1979 911113 0.0026076 1 2 + 1980 911114 0.0025143 1 2 + 1981 911115 0.0025748 1 2 + 1982 911116 0.0024974 1 2 + 1983 911117 0.0025790 1 2 + 1984 911118 0.0000000 0 2 + 1985 911119 0.0000000 0 2 + 1986 912000 0.0000000 0 2 + 1987 912001 0.0000000 0 2 + 1988 912002 0.0000000 0 2 + 1989 912003 0.0039947 1 2 + 1990 912004 0.0039848 1 2 + 1991 912005 0.0040814 1 2 + 1992 912006 0.0039844 1 2 + 1993 912007 0.0040137 1 2 + 1994 912008 0.0039602 1 2 + 1995 912009 0.0040504 1 2 + 1996 912010 0.0039271 1 2 + 1997 912011 0.0039722 1 2 + 1998 912012 0.0039028 1 2 + 1999 912013 0.0040588 1 2 + 2000 912014 0.0039318 1 2 + 2001 912015 0.0039531 1 2 + 2002 912016 0.0000000 0 2 + 2003 912017 0.0039819 1 2 + 2004 912018 0.0038749 1 2 + 2005 912019 0.0039018 1 2 + 2006 912020 0.0038421 1 2 + 2007 912021 0.0039204 1 2 + 2008 912022 0.0038189 1 2 + 2009 912023 0.0038995 1 2 + 2010 912024 0.0038129 1 2 + 2011 912025 0.0038507 1 2 + 2012 912026 0.0037578 1 2 + 2013 912027 0.0038265 1 2 + 2014 912028 0.0037352 1 2 + 2015 912029 0.0038140 1 2 + 2016 912030 0.0000000 0 2 + 2017 912031 0.0000000 0 2 + 2018 912032 0.0000000 0 2 + 2019 912033 0.0000000 0 2 + 2020 912034 0.0000000 0 2 + 2021 912035 0.0000000 0 2 + 2022 912036 0.0000000 0 2 + 2023 912037 0.0000000 0 2 + 2024 912038 0.0000000 0 2 + 2025 912039 0.0000000 0 2 + 2026 912040 0.0000000 0 2 + 2027 912041 0.0000000 0 2 + 2028 912042 0.0000000 0 2 + 2029 912043 0.0035259 1 2 + 2030 912044 0.0034181 1 2 + 2031 912045 0.0034913 1 2 + 2032 912046 0.0033863 1 2 + 2033 912047 0.0034605 1 2 + 2034 912048 0.0033369 1 2 + 2035 912049 0.0033952 1 2 + 2036 912050 0.0033419 1 2 + 2037 912051 0.0034441 1 2 + 2038 912052 0.0033443 1 2 + 2039 912053 0.0033803 1 2 + 2040 912054 0.0033289 1 2 + 2041 912055 0.0034190 1 2 + 2042 912056 0.0033215 1 2 + 2043 912057 0.0033734 1 2 + 2044 912058 0.0032995 1 2 + 2045 912059 0.0033824 1 2 + 2046 912060 0.0032673 1 2 + 2047 912061 0.0033293 1 2 + 2048 912062 0.0032556 1 2 + 2049 912063 0.0033203 1 2 + 2050 912064 0.0032176 1 2 + 2051 912065 0.0033174 1 2 + 2052 912066 0.0031937 1 2 + 2053 912067 0.0032719 1 2 + 2054 912068 0.0031562 1 2 + 2055 912069 0.0032456 1 2 + 2056 912070 0.0031332 1 2 + 2057 912071 0.0031814 1 2 + 2058 912072 0.0030990 1 2 + 2059 912073 0.0031843 1 2 + 2060 912074 0.0030801 1 2 + 2061 912075 0.0031829 1 2 + 2062 912076 0.0030810 1 2 + 2063 912077 0.0031397 1 2 + 2064 912078 0.0030485 1 2 + 2065 912079 0.0031512 1 2 + 2066 912080 0.0030298 1 2 + 2067 912081 0.0031008 1 2 + 2068 912082 0.0029977 1 2 + 2069 912083 0.0030246 1 2 + 2070 912084 0.0029369 1 2 + 2071 912085 0.0029995 1 2 + 2072 912086 0.0028994 1 2 + 2073 912087 0.0029417 1 2 + 2074 912088 0.0028616 1 2 + 2075 912089 0.0029336 1 2 + 2076 912090 0.0028544 1 2 + 2077 912091 0.0029079 1 2 + 2078 912092 0.0028382 1 2 + 2079 912093 0.0028865 1 2 + 2080 912094 0.0028010 1 2 + 2081 912095 0.0028700 1 2 + 2082 912096 0.0027905 1 2 + 2083 912097 0.0028608 1 2 + 2084 912098 0.0027379 1 2 + 2085 912099 0.0028289 1 2 + 2086 912100 0.0027271 1 2 + 2087 912101 0.0027823 1 2 + 2088 912102 0.0026680 1 2 + 2089 912103 0.0026991 1 2 + 2090 912104 0.0026567 1 2 + 2091 912105 0.0027472 1 2 + 2092 912106 0.0026411 1 2 + 2093 912107 0.0026961 1 2 + 2094 912108 0.0026007 1 2 + 2095 912109 0.0026639 1 2 + 2096 912110 0.0025651 1 2 + 2097 912111 0.0026130 1 2 + 2098 912112 0.0025402 1 2 + 2099 912113 0.0026076 1 2 + 2100 912114 0.0025143 1 2 + 2101 912115 0.0025748 1 2 + 2102 912116 0.0024974 1 2 + 2103 912117 0.0025790 1 2 + 2104 912118 0.0000000 0 2 + 2105 912119 0.0000000 0 2 + 2106 913000 0.0000000 0 2 + 2107 913001 0.0000000 0 2 + 2108 913002 0.0000000 0 2 + 2109 913003 0.0039947 1 2 + 2110 913004 0.0039848 1 2 + 2111 913005 0.0040814 1 2 + 2112 913006 0.0039844 1 2 + 2113 913007 0.0040137 1 2 + 2114 913008 0.0039602 1 2 + 2115 913009 0.0040504 1 2 + 2116 913010 0.0039271 1 2 + 2117 913011 0.0039722 1 2 + 2118 913012 0.0039028 1 2 + 2119 913013 0.0040588 1 2 + 2120 913014 0.0039318 1 2 + 2121 913015 0.0039531 1 2 + 2122 913016 0.0000000 0 2 + 2123 913017 0.0039819 1 2 + 2124 913018 0.0038749 1 2 + 2125 913019 0.0039018 1 2 + 2126 913020 0.0038421 1 2 + 2127 913021 0.0039204 1 2 + 2128 913022 0.0038189 1 2 + 2129 913023 0.0038995 1 2 + 2130 913024 0.0038129 1 2 + 2131 913025 0.0038507 1 2 + 2132 913026 0.0037578 1 2 + 2133 913027 0.0038265 1 2 + 2134 913028 0.0037352 1 2 + 2135 913029 0.0038140 1 2 + 2136 913030 0.0000000 0 2 + 2137 913031 0.0000000 0 2 + 2138 913032 0.0000000 0 2 + 2139 913033 0.0000000 0 2 + 2140 913034 0.0000000 0 2 + 2141 913035 0.0000000 0 2 + 2142 913036 0.0000000 0 2 + 2143 913037 0.0000000 0 2 + 2144 913038 0.0000000 0 2 + 2145 913039 0.0000000 0 2 + 2146 913040 0.0000000 0 2 + 2147 913041 0.0000000 0 2 + 2148 913042 0.0000000 0 2 + 2149 913043 0.0035259 1 2 + 2150 913044 0.0034181 1 2 + 2151 913045 0.0034913 1 2 + 2152 913046 0.0033863 1 2 + 2153 913047 0.0034605 1 2 + 2154 913048 0.0033369 1 2 + 2155 913049 0.0033952 1 2 + 2156 913050 0.0033419 1 2 + 2157 913051 0.0034441 1 2 + 2158 913052 0.0033443 1 2 + 2159 913053 0.0033803 1 2 + 2160 913054 0.0033289 1 2 + 2161 913055 0.0034190 1 2 + 2162 913056 0.0033215 1 2 + 2163 913057 0.0033734 1 2 + 2164 913058 0.0032995 1 2 + 2165 913059 0.0033824 1 2 + 2166 913060 0.0032673 1 2 + 2167 913061 0.0033293 1 2 + 2168 913062 0.0032556 1 2 + 2169 913063 0.0033203 1 2 + 2170 913064 0.0032176 1 2 + 2171 913065 0.0033174 1 2 + 2172 913066 0.0031937 1 2 + 2173 913067 0.0032719 1 2 + 2174 913068 0.0031562 1 2 + 2175 913069 0.0032456 1 2 + 2176 913070 0.0031332 1 2 + 2177 913071 0.0031814 1 2 + 2178 913072 0.0030990 1 2 + 2179 913073 0.0031843 1 2 + 2180 913074 0.0030801 1 2 + 2181 913075 0.0031829 1 2 + 2182 913076 0.0030810 1 2 + 2183 913077 0.0031397 1 2 + 2184 913078 0.0030485 1 2 + 2185 913079 0.0031512 1 2 + 2186 913080 0.0030298 1 2 + 2187 913081 0.0031008 1 2 + 2188 913082 0.0029977 1 2 + 2189 913083 0.0030246 1 2 + 2190 913084 0.0029369 1 2 + 2191 913085 0.0029995 1 2 + 2192 913086 0.0028994 1 2 + 2193 913087 0.0029417 1 2 + 2194 913088 0.0028616 1 2 + 2195 913089 0.0029336 1 2 + 2196 913090 0.0028544 1 2 + 2197 913091 0.0029079 1 2 + 2198 913092 0.0028382 1 2 + 2199 913093 0.0028865 1 2 + 2200 913094 0.0028010 1 2 + 2201 913095 0.0028700 1 2 + 2202 913096 0.0027905 1 2 + 2203 913097 0.0028608 1 2 + 2204 913098 0.0027379 1 2 + 2205 913099 0.0028289 1 2 + 2206 913100 0.0027271 1 2 + 2207 913101 0.0027823 1 2 + 2208 913102 0.0026680 1 2 + 2209 913103 0.0026991 1 2 + 2210 913104 0.0026567 1 2 + 2211 913105 0.0027472 1 2 + 2212 913106 0.0026411 1 2 + 2213 913107 0.0026961 1 2 + 2214 913108 0.0026007 1 2 + 2215 913109 0.0026639 1 2 + 2216 913110 0.0025651 1 2 + 2217 913111 0.0026130 1 2 + 2218 913112 0.0025402 1 2 + 2219 913113 0.0026076 1 2 + 2220 913114 0.0025143 1 2 + 2221 913115 0.0025748 1 2 + 2222 913116 0.0024974 1 2 + 2223 913117 0.0025790 1 2 + 2224 913118 0.0000000 0 2 + 2225 913119 0.0000000 0 2 + 2226 914000 0.0000000 0 2 + 2227 914001 0.0000000 0 2 + 2228 914002 0.0000000 0 2 + 2229 914003 0.0039947 1 2 + 2230 914004 0.0039848 1 2 + 2231 914005 0.0040814 1 2 + 2232 914006 0.0039844 1 2 + 2233 914007 0.0040137 1 2 + 2234 914008 0.0039602 1 2 + 2235 914009 0.0040504 1 2 + 2236 914010 0.0039271 1 2 + 2237 914011 0.0039722 1 2 + 2238 914012 0.0039028 1 2 + 2239 914013 0.0040588 1 2 + 2240 914014 0.0039318 1 2 + 2241 914015 0.0039531 1 2 + 2242 914016 0.0000000 0 2 + 2243 914017 0.0039819 1 2 + 2244 914018 0.0038749 1 2 + 2245 914019 0.0039018 1 2 + 2246 914020 0.0038421 1 2 + 2247 914021 0.0039204 1 2 + 2248 914022 0.0038189 1 2 + 2249 914023 0.0038995 1 2 + 2250 914024 0.0038129 1 2 + 2251 914025 0.0038507 1 2 + 2252 914026 0.0037578 1 2 + 2253 914027 0.0038265 1 2 + 2254 914028 0.0037352 1 2 + 2255 914029 0.0038140 1 2 + 2256 914030 0.0000000 0 2 + 2257 914031 0.0000000 0 2 + 2258 914032 0.0000000 0 2 + 2259 914033 0.0000000 0 2 + 2260 914034 0.0000000 0 2 + 2261 914035 0.0000000 0 2 + 2262 914036 0.0000000 0 2 + 2263 914037 0.0000000 0 2 + 2264 914038 0.0000000 0 2 + 2265 914039 0.0000000 0 2 + 2266 914040 0.0000000 0 2 + 2267 914041 0.0000000 0 2 + 2268 914042 0.0000000 0 2 + 2269 914043 0.0035259 1 2 + 2270 914044 0.0034181 1 2 + 2271 914045 0.0034913 1 2 + 2272 914046 0.0033863 1 2 + 2273 914047 0.0034605 1 2 + 2274 914048 0.0033369 1 2 + 2275 914049 0.0033952 1 2 + 2276 914050 0.0033419 1 2 + 2277 914051 0.0034441 1 2 + 2278 914052 0.0033443 1 2 + 2279 914053 0.0033803 1 2 + 2280 914054 0.0033289 1 2 + 2281 914055 0.0034190 1 2 + 2282 914056 0.0033215 1 2 + 2283 914057 0.0033734 1 2 + 2284 914058 0.0032995 1 2 + 2285 914059 0.0033824 1 2 + 2286 914060 0.0032673 1 2 + 2287 914061 0.0033293 1 2 + 2288 914062 0.0032556 1 2 + 2289 914063 0.0033203 1 2 + 2290 914064 0.0032176 1 2 + 2291 914065 0.0033174 1 2 + 2292 914066 0.0031937 1 2 + 2293 914067 0.0032719 1 2 + 2294 914068 0.0031562 1 2 + 2295 914069 0.0032456 1 2 + 2296 914070 0.0031332 1 2 + 2297 914071 0.0031814 1 2 + 2298 914072 0.0030990 1 2 + 2299 914073 0.0031843 1 2 + 2300 914074 0.0030801 1 2 + 2301 914075 0.0031829 1 2 + 2302 914076 0.0030810 1 2 + 2303 914077 0.0031397 1 2 + 2304 914078 0.0030485 1 2 + 2305 914079 0.0031512 1 2 + 2306 914080 0.0030298 1 2 + 2307 914081 0.0031008 1 2 + 2308 914082 0.0029977 1 2 + 2309 914083 0.0030246 1 2 + 2310 914084 0.0029369 1 2 + 2311 914085 0.0029995 1 2 + 2312 914086 0.0028994 1 2 + 2313 914087 0.0029417 1 2 + 2314 914088 0.0028616 1 2 + 2315 914089 0.0029336 1 2 + 2316 914090 0.0028544 1 2 + 2317 914091 0.0029079 1 2 + 2318 914092 0.0028382 1 2 + 2319 914093 0.0028865 1 2 + 2320 914094 0.0028010 1 2 + 2321 914095 0.0028700 1 2 + 2322 914096 0.0027905 1 2 + 2323 914097 0.0028608 1 2 + 2324 914098 0.0027379 1 2 + 2325 914099 0.0028289 1 2 + 2326 914100 0.0027271 1 2 + 2327 914101 0.0027823 1 2 + 2328 914102 0.0026680 1 2 + 2329 914103 0.0026991 1 2 + 2330 914104 0.0026567 1 2 + 2331 914105 0.0027472 1 2 + 2332 914106 0.0026411 1 2 + 2333 914107 0.0026961 1 2 + 2334 914108 0.0026007 1 2 + 2335 914109 0.0026639 1 2 + 2336 914110 0.0025651 1 2 + 2337 914111 0.0026130 1 2 + 2338 914112 0.0025402 1 2 + 2339 914113 0.0026076 1 2 + 2340 914114 0.0025143 1 2 + 2341 914115 0.0025748 1 2 + 2342 914116 0.0024974 1 2 + 2343 914117 0.0025790 1 2 + 2344 914118 0.0000000 0 2 + 2345 914119 0.0000000 0 2 + 2346 915000 0.0000000 0 2 + 2347 915001 0.0000000 0 2 + 2348 915002 0.0000000 0 2 + 2349 915003 0.0039947 1 2 + 2350 915004 0.0039848 1 2 + 2351 915005 0.0040814 1 2 + 2352 915006 0.0039844 1 2 + 2353 915007 0.0040137 1 2 + 2354 915008 0.0039602 1 2 + 2355 915009 0.0040504 1 2 + 2356 915010 0.0039271 1 2 + 2357 915011 0.0039722 1 2 + 2358 915012 0.0039028 1 2 + 2359 915013 0.0040588 1 2 + 2360 915014 0.0039318 1 2 + 2361 915015 0.0039531 1 2 + 2362 915016 0.0000000 0 2 + 2363 915017 0.0039819 1 2 + 2364 915018 0.0038749 1 2 + 2365 915019 0.0039018 1 2 + 2366 915020 0.0038421 1 2 + 2367 915021 0.0039204 1 2 + 2368 915022 0.0038189 1 2 + 2369 915023 0.0038995 1 2 + 2370 915024 0.0038129 1 2 + 2371 915025 0.0038507 1 2 + 2372 915026 0.0037578 1 2 + 2373 915027 0.0038265 1 2 + 2374 915028 0.0037352 1 2 + 2375 915029 0.0038140 1 2 + 2376 915030 0.0000000 0 2 + 2377 915031 0.0000000 0 2 + 2378 915032 0.0000000 0 2 + 2379 915033 0.0000000 0 2 + 2380 915034 0.0000000 0 2 + 2381 915035 0.0000000 0 2 + 2382 915036 0.0000000 0 2 + 2383 915037 0.0000000 0 2 + 2384 915038 0.0000000 0 2 + 2385 915039 0.0000000 0 2 + 2386 915040 0.0000000 0 2 + 2387 915041 0.0000000 0 2 + 2388 915042 0.0000000 0 2 + 2389 915043 0.0035259 1 2 + 2390 915044 0.0034181 1 2 + 2391 915045 0.0034913 1 2 + 2392 915046 0.0033863 1 2 + 2393 915047 0.0034605 1 2 + 2394 915048 0.0033369 1 2 + 2395 915049 0.0033952 1 2 + 2396 915050 0.0033419 1 2 + 2397 915051 0.0034441 1 2 + 2398 915052 0.0033443 1 2 + 2399 915053 0.0033803 1 2 + 2400 915054 0.0033289 1 2 + 2401 915055 0.0034190 1 2 + 2402 915056 0.0033215 1 2 + 2403 915057 0.0033734 1 2 + 2404 915058 0.0032995 1 2 + 2405 915059 0.0033824 1 2 + 2406 915060 0.0032673 1 2 + 2407 915061 0.0033293 1 2 + 2408 915062 0.0032556 1 2 + 2409 915063 0.0033203 1 2 + 2410 915064 0.0032176 1 2 + 2411 915065 0.0033174 1 2 + 2412 915066 0.0031937 1 2 + 2413 915067 0.0032719 1 2 + 2414 915068 0.0031562 1 2 + 2415 915069 0.0032456 1 2 + 2416 915070 0.0031332 1 2 + 2417 915071 0.0031814 1 2 + 2418 915072 0.0030990 1 2 + 2419 915073 0.0031843 1 2 + 2420 915074 0.0030801 1 2 + 2421 915075 0.0031829 1 2 + 2422 915076 0.0030810 1 2 + 2423 915077 0.0031397 1 2 + 2424 915078 0.0030485 1 2 + 2425 915079 0.0031512 1 2 + 2426 915080 0.0030298 1 2 + 2427 915081 0.0031008 1 2 + 2428 915082 0.0029977 1 2 + 2429 915083 0.0030246 1 2 + 2430 915084 0.0029369 1 2 + 2431 915085 0.0029995 1 2 + 2432 915086 0.0028994 1 2 + 2433 915087 0.0029417 1 2 + 2434 915088 0.0028616 1 2 + 2435 915089 0.0029336 1 2 + 2436 915090 0.0028544 1 2 + 2437 915091 0.0029079 1 2 + 2438 915092 0.0028382 1 2 + 2439 915093 0.0028865 1 2 + 2440 915094 0.0028010 1 2 + 2441 915095 0.0028700 1 2 + 2442 915096 0.0027905 1 2 + 2443 915097 0.0028608 1 2 + 2444 915098 0.0027379 1 2 + 2445 915099 0.0028289 1 2 + 2446 915100 0.0027271 1 2 + 2447 915101 0.0027823 1 2 + 2448 915102 0.0026680 1 2 + 2449 915103 0.0026991 1 2 + 2450 915104 0.0026567 1 2 + 2451 915105 0.0027472 1 2 + 2452 915106 0.0026411 1 2 + 2453 915107 0.0026961 1 2 + 2454 915108 0.0026007 1 2 + 2455 915109 0.0026639 1 2 + 2456 915110 0.0025651 1 2 + 2457 915111 0.0026130 1 2 + 2458 915112 0.0025402 1 2 + 2459 915113 0.0026076 1 2 + 2460 915114 0.0025143 1 2 + 2461 915115 0.0025748 1 2 + 2462 915116 0.0024974 1 2 + 2463 915117 0.0025790 1 2 + 2464 915118 0.0000000 0 2 + 2465 915119 0.0000000 0 2 + 2466 916000 0.0000000 0 2 + 2467 916001 0.0000000 0 2 + 2468 916002 0.0000000 0 2 + 2469 916003 0.0039947 1 2 + 2470 916004 0.0039848 1 2 + 2471 916005 0.0040814 1 2 + 2472 916006 0.0039844 1 2 + 2473 916007 0.0040137 1 2 + 2474 916008 0.0039602 1 2 + 2475 916009 0.0040504 1 2 + 2476 916010 0.0039271 1 2 + 2477 916011 0.0039722 1 2 + 2478 916012 0.0039028 1 2 + 2479 916013 0.0040588 1 2 + 2480 916014 0.0039318 1 2 + 2481 916015 0.0039531 1 2 + 2482 916016 0.0000000 0 2 + 2483 916017 0.0039819 1 2 + 2484 916018 0.0038749 1 2 + 2485 916019 0.0039018 1 2 + 2486 916020 0.0038421 1 2 + 2487 916021 0.0039204 1 2 + 2488 916022 0.0038189 1 2 + 2489 916023 0.0038995 1 2 + 2490 916024 0.0038129 1 2 + 2491 916025 0.0038507 1 2 + 2492 916026 0.0037578 1 2 + 2493 916027 0.0038265 1 2 + 2494 916028 0.0037352 1 2 + 2495 916029 0.0038140 1 2 + 2496 916030 0.0000000 0 2 + 2497 916031 0.0000000 0 2 + 2498 916032 0.0000000 0 2 + 2499 916033 0.0000000 0 2 + 2500 916034 0.0000000 0 2 + 2501 916035 0.0000000 0 2 + 2502 916036 0.0000000 0 2 + 2503 916037 0.0000000 0 2 + 2504 916038 0.0000000 0 2 + 2505 916039 0.0000000 0 2 + 2506 916040 0.0000000 0 2 + 2507 916041 0.0000000 0 2 + 2508 916042 0.0000000 0 2 + 2509 916043 0.0035259 1 2 + 2510 916044 0.0034181 1 2 + 2511 916045 0.0034913 1 2 + 2512 916046 0.0033863 1 2 + 2513 916047 0.0034605 1 2 + 2514 916048 0.0033369 1 2 + 2515 916049 0.0033952 1 2 + 2516 916050 0.0033419 1 2 + 2517 916051 0.0034441 1 2 + 2518 916052 0.0033443 1 2 + 2519 916053 0.0033803 1 2 + 2520 916054 0.0033289 1 2 + 2521 916055 0.0034190 1 2 + 2522 916056 0.0033215 1 2 + 2523 916057 0.0033734 1 2 + 2524 916058 0.0032995 1 2 + 2525 916059 0.0033824 1 2 + 2526 916060 0.0032673 1 2 + 2527 916061 0.0033293 1 2 + 2528 916062 0.0032556 1 2 + 2529 916063 0.0033203 1 2 + 2530 916064 0.0032176 1 2 + 2531 916065 0.0033174 1 2 + 2532 916066 0.0031937 1 2 + 2533 916067 0.0032719 1 2 + 2534 916068 0.0031562 1 2 + 2535 916069 0.0032456 1 2 + 2536 916070 0.0031332 1 2 + 2537 916071 0.0031814 1 2 + 2538 916072 0.0030990 1 2 + 2539 916073 0.0031843 1 2 + 2540 916074 0.0030801 1 2 + 2541 916075 0.0031829 1 2 + 2542 916076 0.0030810 1 2 + 2543 916077 0.0031397 1 2 + 2544 916078 0.0030485 1 2 + 2545 916079 0.0031512 1 2 + 2546 916080 0.0030298 1 2 + 2547 916081 0.0031008 1 2 + 2548 916082 0.0029977 1 2 + 2549 916083 0.0030246 1 2 + 2550 916084 0.0029369 1 2 + 2551 916085 0.0029995 1 2 + 2552 916086 0.0028994 1 2 + 2553 916087 0.0029417 1 2 + 2554 916088 0.0028616 1 2 + 2555 916089 0.0029336 1 2 + 2556 916090 0.0028544 1 2 + 2557 916091 0.0029079 1 2 + 2558 916092 0.0028382 1 2 + 2559 916093 0.0028865 1 2 + 2560 916094 0.0028010 1 2 + 2561 916095 0.0028700 1 2 + 2562 916096 0.0027905 1 2 + 2563 916097 0.0028608 1 2 + 2564 916098 0.0027379 1 2 + 2565 916099 0.0028289 1 2 + 2566 916100 0.0027271 1 2 + 2567 916101 0.0027823 1 2 + 2568 916102 0.0026680 1 2 + 2569 916103 0.0026991 1 2 + 2570 916104 0.0026567 1 2 + 2571 916105 0.0027472 1 2 + 2572 916106 0.0026411 1 2 + 2573 916107 0.0026961 1 2 + 2574 916108 0.0026007 1 2 + 2575 916109 0.0026639 1 2 + 2576 916110 0.0025651 1 2 + 2577 916111 0.0026130 1 2 + 2578 916112 0.0025402 1 2 + 2579 916113 0.0026076 1 2 + 2580 916114 0.0025143 1 2 + 2581 916115 0.0025748 1 2 + 2582 916116 0.0024974 1 2 + 2583 916117 0.0025790 1 2 + 2584 916118 0.0000000 0 2 + 2585 916119 0.0000000 0 2 + 2586 917000 0.0000000 0 2 + 2587 917001 0.0000000 0 2 + 2588 917002 0.0000000 0 2 + 2589 917003 0.0039947 1 2 + 2590 917004 0.0039848 1 2 + 2591 917005 0.0040814 1 2 + 2592 917006 0.0039844 1 2 + 2593 917007 0.0040137 1 2 + 2594 917008 0.0039602 1 2 + 2595 917009 0.0040504 1 2 + 2596 917010 0.0039271 1 2 + 2597 917011 0.0039722 1 2 + 2598 917012 0.0039028 1 2 + 2599 917013 0.0040588 1 2 + 2600 917014 0.0039318 1 2 + 2601 917015 0.0039531 1 2 + 2602 917016 0.0000000 0 2 + 2603 917017 0.0039819 1 2 + 2604 917018 0.0038749 1 2 + 2605 917019 0.0039018 1 2 + 2606 917020 0.0038421 1 2 + 2607 917021 0.0039204 1 2 + 2608 917022 0.0038189 1 2 + 2609 917023 0.0038995 1 2 + 2610 917024 0.0038129 1 2 + 2611 917025 0.0038507 1 2 + 2612 917026 0.0037578 1 2 + 2613 917027 0.0038265 1 2 + 2614 917028 0.0037352 1 2 + 2615 917029 0.0038140 1 2 + 2616 917030 0.0000000 0 2 + 2617 917031 0.0000000 0 2 + 2618 917032 0.0000000 0 2 + 2619 917033 0.0000000 0 2 + 2620 917034 0.0000000 0 2 + 2621 917035 0.0000000 0 2 + 2622 917036 0.0000000 0 2 + 2623 917037 0.0000000 0 2 + 2624 917038 0.0000000 0 2 + 2625 917039 0.0000000 0 2 + 2626 917040 0.0000000 0 2 + 2627 917041 0.0000000 0 2 + 2628 917042 0.0000000 0 2 + 2629 917043 0.0035259 1 2 + 2630 917044 0.0034181 1 2 + 2631 917045 0.0034913 1 2 + 2632 917046 0.0033863 1 2 + 2633 917047 0.0034605 1 2 + 2634 917048 0.0033369 1 2 + 2635 917049 0.0033952 1 2 + 2636 917050 0.0033419 1 2 + 2637 917051 0.0034441 1 2 + 2638 917052 0.0033443 1 2 + 2639 917053 0.0033803 1 2 + 2640 917054 0.0033289 1 2 + 2641 917055 0.0034190 1 2 + 2642 917056 0.0033215 1 2 + 2643 917057 0.0033734 1 2 + 2644 917058 0.0032995 1 2 + 2645 917059 0.0033824 1 2 + 2646 917060 0.0032673 1 2 + 2647 917061 0.0033293 1 2 + 2648 917062 0.0032556 1 2 + 2649 917063 0.0033203 1 2 + 2650 917064 0.0032176 1 2 + 2651 917065 0.0033174 1 2 + 2652 917066 0.0031937 1 2 + 2653 917067 0.0032719 1 2 + 2654 917068 0.0031562 1 2 + 2655 917069 0.0032456 1 2 + 2656 917070 0.0031332 1 2 + 2657 917071 0.0031814 1 2 + 2658 917072 0.0030990 1 2 + 2659 917073 0.0031843 1 2 + 2660 917074 0.0030801 1 2 + 2661 917075 0.0031829 1 2 + 2662 917076 0.0030810 1 2 + 2663 917077 0.0031397 1 2 + 2664 917078 0.0030485 1 2 + 2665 917079 0.0031512 1 2 + 2666 917080 0.0030298 1 2 + 2667 917081 0.0031008 1 2 + 2668 917082 0.0029977 1 2 + 2669 917083 0.0030246 1 2 + 2670 917084 0.0029369 1 2 + 2671 917085 0.0029995 1 2 + 2672 917086 0.0028994 1 2 + 2673 917087 0.0029417 1 2 + 2674 917088 0.0028616 1 2 + 2675 917089 0.0029336 1 2 + 2676 917090 0.0028544 1 2 + 2677 917091 0.0029079 1 2 + 2678 917092 0.0028382 1 2 + 2679 917093 0.0028865 1 2 + 2680 917094 0.0028010 1 2 + 2681 917095 0.0028700 1 2 + 2682 917096 0.0027905 1 2 + 2683 917097 0.0028608 1 2 + 2684 917098 0.0027379 1 2 + 2685 917099 0.0028289 1 2 + 2686 917100 0.0027271 1 2 + 2687 917101 0.0027823 1 2 + 2688 917102 0.0026680 1 2 + 2689 917103 0.0026991 1 2 + 2690 917104 0.0026567 1 2 + 2691 917105 0.0027472 1 2 + 2692 917106 0.0026411 1 2 + 2693 917107 0.0026961 1 2 + 2694 917108 0.0026007 1 2 + 2695 917109 0.0026639 1 2 + 2696 917110 0.0025651 1 2 + 2697 917111 0.0026130 1 2 + 2698 917112 0.0025402 1 2 + 2699 917113 0.0026076 1 2 + 2700 917114 0.0025143 1 2 + 2701 917115 0.0025748 1 2 + 2702 917116 0.0024974 1 2 + 2703 917117 0.0025790 1 2 + 2704 917118 0.0000000 0 2 + 2705 917119 0.0000000 0 2 + 2706 10100 0.0000000 0 3 + 2707 10101 0.0000000 0 3 + 2708 10102 -0.0090601 1 3 + 2709 10103 -0.0056713 1 3 + 2710 10104 0.0000000 0 3 + 2711 10105 -0.0050900 1 3 + 2712 10106 0.0000000 0 3 + 2713 10107 -0.0014836 1 3 + 2714 10200 0.0000000 0 3 + 2715 10201 0.0000000 0 3 + 2716 10202 0.0006628 1 3 + 2717 10203 0.0012634 1 3 + 2718 10204 0.0000000 0 3 + 2719 10205 0.0005052 1 3 + 2720 10206 0.0026750 1 3 + 2721 10207 0.0017685 1 3 + 2722 10300 0.0032539 1 3 + 2723 10301 0.0106415 1 3 + 2724 10302 0.0000000 0 3 + 2725 10303 0.0041239 1 3 + 2726 10304 0.0044355 1 3 + 2727 10305 0.0038747 1 3 + 2728 10306 0.0043783 1 3 + 2729 10307 0.0043520 1 3 + 2730 10400 0.0000000 0 3 + 2731 10401 0.0000000 0 3 + 2732 10402 -0.0090601 1 3 + 2733 10403 -0.0056713 1 3 + 2734 10404 0.0000000 0 3 + 2735 10405 -0.0050900 1 3 + 2736 10406 0.0000000 0 3 + 2737 10407 -0.0014836 1 3 + 2738 10500 0.0000000 0 3 + 2739 10501 0.0000000 0 3 + 2740 10502 0.0006628 1 3 + 2741 10503 0.0012634 1 3 + 2742 10504 0.0000000 0 3 + 2743 10505 0.0005052 1 3 + 2744 10506 0.0026750 1 3 + 2745 10507 0.0017685 1 3 + 2746 10600 0.0032539 1 3 + 2747 10601 0.0106415 1 3 + 2748 10602 0.0000000 0 3 + 2749 10603 0.0041239 1 3 + 2750 10604 0.0044355 1 3 + 2751 10605 0.0038747 1 3 + 2752 10606 0.0043783 1 3 + 2753 10607 0.0043520 1 3 + 2754 10700 0.0000000 0 3 + 2755 10701 0.0000000 0 3 + 2756 10702 -0.0090601 1 3 + 2757 10703 -0.0056713 1 3 + 2758 10704 0.0000000 0 3 + 2759 10705 -0.0050900 1 3 + 2760 10706 0.0000000 0 3 + 2761 10707 -0.0014836 1 3 + 2762 10800 0.0000000 0 3 + 2763 10801 0.0000000 0 3 + 2764 10802 0.0006628 1 3 + 2765 10803 0.0012634 1 3 + 2766 10804 0.0000000 0 3 + 2767 10805 0.0005052 1 3 + 2768 10806 0.0026750 1 3 + 2769 10807 0.0017685 1 3 + 2770 10900 0.0032539 1 3 + 2771 10901 0.0106415 1 3 + 2772 10902 0.0000000 0 3 + 2773 10903 0.0041239 1 3 + 2774 10904 0.0044355 1 3 + 2775 10905 0.0038747 1 3 + 2776 10906 0.0043783 1 3 + 2777 10907 0.0043520 1 3