From a469335e903cd73e80d0b1f7f3534c3416a2f1de Mon Sep 17 00:00:00 2001
From: Nick Draper <nick.draper@stfc.ac.uk>
Date: Tue, 15 Jul 2014 15:42:12 +0100
Subject: [PATCH] initial translation using pandoc links need fixing. re #9923

---
 .../Mantid/docs/source/concepts/Algorithm.rst |  153 ++
 .../source/concepts/Analysis_Data_Service.rst |   34 +
 .../docs/source/concepts/Data_Service.rst     |   28 +
 .../docs/source/concepts/Dynamic_Factory.rst  |   25 +
 .../source/concepts/Error_Propagation.rst     |   66 +
 .../docs/source/concepts/EventWorkspace.rst   |  126 ++
 .../docs/source/concepts/Facilities_File.rst  |  106 +
 .../docs/source/concepts/FitConstraint.rst    |   54 +
 .../source/concepts/Framework_Manager.rst     |   35 +
 Code/Mantid/docs/source/concepts/Geometry.rst |   39 +
 .../source/concepts/Geometry_of_Position.rst  |   68 +
 .../source/concepts/Geometry_of_Shape.rst     |   57 +
 .../concepts/HowToDefineGeometricShape.rst    |  468 +++++
 .../docs/source/concepts/Instrument.rst       |   47 +
 .../concepts/InstrumentDefinitionFile.rst     | 1698 +++++++++++++++++
 .../concepts/Instrument_Data_Service.rst      |   33 +
 Code/Mantid/docs/source/concepts/Lattice.rst  |  265 +++
 .../docs/source/concepts/MDHistoWorkspace.rst |  131 ++
 .../docs/source/concepts/MDWorkspace.rst      |  106 +
 .../docs/source/concepts/MatrixWorkspace.rst  |   41 +
 .../docs/source/concepts/Nexus_file.rst       |   26 +
 Code/Mantid/docs/source/concepts/Plugin.rst   |   74 +
 Code/Mantid/docs/source/concepts/Project.rst  |   24 +
 .../docs/source/concepts/Properties.rst       |  191 ++
 .../docs/source/concepts/Properties_File.rst  |    7 +
 Code/Mantid/docs/source/concepts/RAW_File.rst |   85 +
 Code/Mantid/docs/source/concepts/Run.rst      |   71 +
 .../docs/source/concepts/Shared_Pointer.rst   |   61 +
 .../docs/source/concepts/Table_Workspaces.rst |   99 +
 .../docs/source/concepts/Unit_Factory.rst     |   76 +
 .../source/concepts/Workflow_Algorithm.rst    |   47 +
 .../Mantid/docs/source/concepts/Workspace.rst |  105 +
 .../docs/source/concepts/Workspace2D.rst      |   20 +
 .../docs/source/concepts/WorkspaceGroup.rst   |   26 +
 .../source/images/MDWorkspace_structure.png   |  Bin 0 -> 44483 bytes
 .../docs/source/images/NestedHistory.png      |  Bin 0 -> 27834 bytes
 .../docs/source/images/XMLconeDescription.png |  Bin 0 -> 46074 bytes
 .../source/images/XMLcuboidDescription.png    |  Bin 0 -> 8455 bytes
 .../source/images/XMLcylinderDescription.png  |  Bin 0 -> 15171 bytes
 .../images/XMLhexahedronDescription.png       |  Bin 0 -> 44044 bytes
 .../XMLsliceCylinderRingDescription.png       |  Bin 0 -> 9185 bytes
 .../mantiddoc/directives/categories.py        |    2 +-
 .../scripts/AddAlgorithmWikiLinksToText.py    |   17 +
 .../scripts/FindIncompleteAlgRSTPages.py      |   51 +
 44 files changed, 4561 insertions(+), 1 deletion(-)
 create mode 100644 Code/Mantid/docs/source/concepts/Algorithm.rst
 create mode 100644 Code/Mantid/docs/source/concepts/Analysis_Data_Service.rst
 create mode 100644 Code/Mantid/docs/source/concepts/Data_Service.rst
 create mode 100644 Code/Mantid/docs/source/concepts/Dynamic_Factory.rst
 create mode 100644 Code/Mantid/docs/source/concepts/Error_Propagation.rst
 create mode 100644 Code/Mantid/docs/source/concepts/EventWorkspace.rst
 create mode 100644 Code/Mantid/docs/source/concepts/Facilities_File.rst
 create mode 100644 Code/Mantid/docs/source/concepts/FitConstraint.rst
 create mode 100644 Code/Mantid/docs/source/concepts/Framework_Manager.rst
 create mode 100644 Code/Mantid/docs/source/concepts/Geometry.rst
 create mode 100644 Code/Mantid/docs/source/concepts/Geometry_of_Position.rst
 create mode 100644 Code/Mantid/docs/source/concepts/Geometry_of_Shape.rst
 create mode 100644 Code/Mantid/docs/source/concepts/HowToDefineGeometricShape.rst
 create mode 100644 Code/Mantid/docs/source/concepts/Instrument.rst
 create mode 100644 Code/Mantid/docs/source/concepts/InstrumentDefinitionFile.rst
 create mode 100644 Code/Mantid/docs/source/concepts/Instrument_Data_Service.rst
 create mode 100644 Code/Mantid/docs/source/concepts/Lattice.rst
 create mode 100644 Code/Mantid/docs/source/concepts/MDHistoWorkspace.rst
 create mode 100644 Code/Mantid/docs/source/concepts/MDWorkspace.rst
 create mode 100644 Code/Mantid/docs/source/concepts/MatrixWorkspace.rst
 create mode 100644 Code/Mantid/docs/source/concepts/Nexus_file.rst
 create mode 100644 Code/Mantid/docs/source/concepts/Plugin.rst
 create mode 100644 Code/Mantid/docs/source/concepts/Project.rst
 create mode 100644 Code/Mantid/docs/source/concepts/Properties.rst
 create mode 100644 Code/Mantid/docs/source/concepts/Properties_File.rst
 create mode 100644 Code/Mantid/docs/source/concepts/RAW_File.rst
 create mode 100644 Code/Mantid/docs/source/concepts/Run.rst
 create mode 100644 Code/Mantid/docs/source/concepts/Shared_Pointer.rst
 create mode 100644 Code/Mantid/docs/source/concepts/Table_Workspaces.rst
 create mode 100644 Code/Mantid/docs/source/concepts/Unit_Factory.rst
 create mode 100644 Code/Mantid/docs/source/concepts/Workflow_Algorithm.rst
 create mode 100644 Code/Mantid/docs/source/concepts/Workspace.rst
 create mode 100644 Code/Mantid/docs/source/concepts/Workspace2D.rst
 create mode 100644 Code/Mantid/docs/source/concepts/WorkspaceGroup.rst
 create mode 100644 Code/Mantid/docs/source/images/MDWorkspace_structure.png
 create mode 100644 Code/Mantid/docs/source/images/NestedHistory.png
 create mode 100644 Code/Mantid/docs/source/images/XMLconeDescription.png
 create mode 100644 Code/Mantid/docs/source/images/XMLcuboidDescription.png
 create mode 100644 Code/Mantid/docs/source/images/XMLcylinderDescription.png
 create mode 100644 Code/Mantid/docs/source/images/XMLhexahedronDescription.png
 create mode 100644 Code/Mantid/docs/source/images/XMLsliceCylinderRingDescription.png
 create mode 100644 Code/Tools/scripts/AddAlgorithmWikiLinksToText.py
 create mode 100644 Code/Tools/scripts/FindIncompleteAlgRSTPages.py

diff --git a/Code/Mantid/docs/source/concepts/Algorithm.rst b/Code/Mantid/docs/source/concepts/Algorithm.rst
new file mode 100644
index 00000000000..15613d8674d
--- /dev/null
+++ b/Code/Mantid/docs/source/concepts/Algorithm.rst
@@ -0,0 +1,153 @@
+.. _Algorithm:
+
+Algorithm
+=========
+
+What are they?
+--------------
+
+Algorithms are the verbs of Mantid. They are the actors. If you want to
+manipulate your data in any way it will be done through an algorithm.
+Algorithms operate primarily on data in `workspaces <Workspace>`__. They
+will normally take one or more `workspaces <Workspace>`__ as an input,
+perform some processing on them and provide an output as another
+`workspace <Workspace>`__ (although it is possible to have multiple
+outputs).
+
+Categories, Name and Versions
+-----------------------------
+
+Each algorithm has a category, a name and a version. The name and
+version of an algorithm when taken together have to be unique.
+
+Category
+~~~~~~~~
+
+A category is a group of algorithms that have some connection in their
+usage. This is primarily used to make the list of algorithms easier to
+work with in graphical user interfaces. Example categories include,
+DataHandling, Diffraction, Muon, Workflow and are currently
+subcategories of
+`Algorithms <http://docs.mantidproject.org/algorithms>`__ category.
+
+Name
+~~~~
+
+The name of an algorithm is what is used to refer to it. This can be
+different from the class name in C++, as for example if you had two
+versions of the same algorithm they would have the same name, but would
+have to have different class names (or at least be in different
+namespaces).
+
+Version
+~~~~~~~
+
+Mantid allows multiple versions of the same algorithm. These are
+differentiated by using a single integer as a version number, where a
+higher version number denotes a more recent version. This allows you to
+normally use the most recent version of an algorithm but also to access
+previous versions if you prefer.
+
+Parameters
+----------
+
+Each algorithm will have one or more parameters, known within Mantid as
+`properties <properties>`__, that will control how it performs its
+processing. These parameters specify both what the inputs and outputs of
+the algorithm will be as well any other options that alter the
+processing.
+
+For examples of the parameters of an algorithm, look at the page for one
+of the example algorithms below.
+
+Usage
+-----
+
+From MantidScript(Python)
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. raw:: html
+
+   <div style="border:1pt dashed blue; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: python
+
+     # where p1,p2 & p3 are values for algorithm "Alg"'s properties
+     mtd.execute("Alg","p1;p2;p3") # using parameter ordinal position
+     #or
+     mtd.execute("Alg","Property1=p1;Property2=p2;Property3=p3") #using parameter names
+     #or 
+     alg = mtd.createAlgorithm("Alg") # explicitly setting each parameter, then executing
+     alg.setPropertyValue("Property1","p1")
+     alg.setPropertyValue("Property2","p2")
+     alg.setPropertyValue("Property3","p3")
+     alg.execute()
+
+     # Properties of Algorithms can be read (but not written to) through a Python dictionary. So you may do:
+     print alg["Property1"]
+     # prints 'p1'
+     print alg["Property2"]
+     # prints 'p2', etc
+
+.. raw:: html
+
+   </div>
+
+Using the C++ API
+^^^^^^^^^^^^^^^^^
+
+(for algorithm "Alg" having properties InputWorkspace, OutputWorkspace &
+prop)
+
+.. raw:: html
+
+   <div style="border:1pt dashed blue; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: cpp
+
+     // Explicitly setting the parameters and then executing
+     API::IAlgorithm* alg = API::FrameworkManager::Instance().createAlgorithm("Alg");
+     alg->setPropertyValue("InputWorkspace", "InWS"); 
+     alg->setPropertyValue("OutputWorkspace", "OutWS");    
+     alg->setPropertyValue("prop", "aValue");
+     alg->execute();
+     API::Workspace* ws = API::FrameworkManager::Instance().getWorkspace("OutWS");
+
+     // Or in one shot
+     API::FrameworkManager::Instance().exec("Alg","InWS,OutWS,aValue");
+     API::Workspace* ws = API::FrameworkManager::Instance().getWorkspace("OutWS");
+
+.. raw:: html
+
+   </div>
+
+Example Algorithms
+------------------
+
+-  `Plus <http://docs.mantidproject.org/nightly/algorithms/Plus.html>`__
+   - An algorithm for adding data in two `workspaces <Workspace>`__
+   together
+-  `Rebin <http://docs.mantidproject.org/nightly/algorithms/Rebin.html>`__
+   - An algorithm for altering the binning of the data in a
+   `workspace <Workspace>`__.
+-  `LoadRaw <http://docs.mantidproject.org/nightly/algorithms/LoadRaw.html>`__
+   - An algorithm for loading the data from a RAW file into a
+   `workspace <Workspace>`__.
+-  `GroupDetectors <http://docs.mantidproject.org/nightly/algorithms/GroupDetectors.html>`__
+   - An algorithm for grouping two or more detectors into a larger
+   'logical' detector.
+
+A full list of algorithms is avilable
+`here <http://docs.mantidproject.org/nightly/algorithms/index.html>`__
+category
+
+Writing your own algorithm
+--------------------------
+
+A primer for this is `here <Writing an Algorithm>`__. Also look at the
+examples in the `UserAlgorithms <UserAlgorithms>`__ directory of your
+Mantid installation.
+
+
+
+.. categories:: Concepts
\ No newline at end of file
diff --git a/Code/Mantid/docs/source/concepts/Analysis_Data_Service.rst b/Code/Mantid/docs/source/concepts/Analysis_Data_Service.rst
new file mode 100644
index 00000000000..f219bd05b5f
--- /dev/null
+++ b/Code/Mantid/docs/source/concepts/Analysis_Data_Service.rst
@@ -0,0 +1,34 @@
+.. _Analysis Data Service:
+
+Analysis_Data_Service
+=====================
+
+What is it?
+-----------
+
+The Analysis Data Service is a `Data Service <Data Service>`__ that is
+specialized to hold all of the `workspaces <Workspace>`__ that are
+created by user run `algorithms <Algorithm>`__. Whenever an algorithm is
+executed it automatically extracts its input workspaces from the
+Analysis Data Service, and inserts its output workspaces upon
+completion.
+
+Extracting a workspace from the Analysis Data Service
+-----------------------------------------------------
+
+The most usual way in user code would be to use the `Framework
+Manager <Framework Manager>`__.
+
+``Workspace* result = FrameworkManager::Instance().getWorkspace("workspaceName")``
+
+Or you could get it directly from the AnalysisDataService (as a `Shared
+Pointer <Shared Pointer>`__)
+
+``Workspace_sptr result = AnalysisDataService::Instance().retrieve("test_out1");``
+
+If you were writing an algorithm however you would most likely use a
+Workspace `Property <Properties>`__ to access or store your workspaces.
+
+
+
+.. categories:: Concepts
\ No newline at end of file
diff --git a/Code/Mantid/docs/source/concepts/Data_Service.rst b/Code/Mantid/docs/source/concepts/Data_Service.rst
new file mode 100644
index 00000000000..4462ece86a8
--- /dev/null
+++ b/Code/Mantid/docs/source/concepts/Data_Service.rst
@@ -0,0 +1,28 @@
+.. _Data Service:
+
+Data_Service
+============
+
+What are they?
+--------------
+
+Data Services are the internal storage locations within Mantid. Each
+data service holds a list of objects that share a common base class (for
+example the Instrument Data Service can hold anything which inherits
+from instrument). Each item that is held is associated with a name that
+uniquely describes the object. This name is them used when the object
+needs to be retrieved, or for other operations such as overwriting it or
+deleting it.
+
+Data Services in Mantid
+-----------------------
+
+-  `Analysis Data Service <Analysis Data Service>`__ - A data service
+   holding all of the `workspaces <Workspace>`__ used in this session.
+-  `Instrument Data Service <Instrument Data Service>`__ - A data
+   service holding all of the `instruments <Instrument>`__ used in this
+   session.
+
+
+
+.. categories:: Concepts
\ No newline at end of file
diff --git a/Code/Mantid/docs/source/concepts/Dynamic_Factory.rst b/Code/Mantid/docs/source/concepts/Dynamic_Factory.rst
new file mode 100644
index 00000000000..e52bdeb1c37
--- /dev/null
+++ b/Code/Mantid/docs/source/concepts/Dynamic_Factory.rst
@@ -0,0 +1,25 @@
+.. _Dynamic Factory:
+
+Dynamic_Factory
+===============
+
+What is it?
+-----------
+
+A dynamic factory is a software concept that in instrumental in
+implementing the `Plugin <Plugin>`__ technology in Mantid.
+
+A factory in software terms is an class that is responsible for creating
+other objects on demand. In mantid terms the AlgorithmFactory is
+responsible for creating instances of `Algorithms <Algorithm>`__ when
+you need them.
+
+As the factory is dynamic it does not have a set list of objects that it
+can create instead it knows how to create instances of a particular base
+class. During execution of the code any object of the appropriate base
+class can be registered with the factory, and then the factory can be
+used to create fresh instances of that object.
+
+
+
+.. categories:: Concepts
\ No newline at end of file
diff --git a/Code/Mantid/docs/source/concepts/Error_Propagation.rst b/Code/Mantid/docs/source/concepts/Error_Propagation.rst
new file mode 100644
index 00000000000..636e35c7212
--- /dev/null
+++ b/Code/Mantid/docs/source/concepts/Error_Propagation.rst
@@ -0,0 +1,66 @@
+.. _Error Propagation:
+
+Error_Propagation
+=================
+
+The purpose of this document is to explain how Mantid deals with Error
+Propogation and how it is used in its algorithms.
+
+Theory
+------
+
+In order to deal with error propagation, Mantid treats errors as a
+guassian curve (also known as a bell curve or normal curve). Meaning
+that if X = 100 +- 1 then it is still possible for a value of 102 to
+occur, but far less likely than 101 or 99, then a value of 105 is far
+less likely still than 102, and then 110 is simply unheard of.
+
+This allows Mantid to work with the errors quite simply.
+
+Plus and Minus Algorithm
+------------------------
+
+The plus algorithm adds a selection of datasets together, including
+their margin of errors. Mantid has to therefore adapt the margin of
+error so it continues to work with just one margin of error. The way it
+does this is by simply adding together the certain values, for this
+example we will use X\ :sub:`1` and X\ :sub:`2`. X\ :sub:`1` = 101 ± 2
+and X\ :sub:`2` = 99 ± 2, Just to make it easier. Mantid takes the
+average of the two definite values, 101 and 99.
+
+X = 200 = (101 + 99).
+
+The average of the error is calculated by taking the root of the sum of
+the squares of the two error margins:
+
+(√2:sup:`2` + 2\ :sup:`2`) = √8
+
+X = 200 ± √8
+
+Mantid deals with the minus algorithm similarly, doing the inverse
+function of Plus.
+
+Multiply and Divide Algorithm
+-----------------------------
+
+The Multiply and Divide Algorithm work slightly different from the Plus
+and Minus Algorithms, in the sense that they have to be more complex.
+
+To calculate error propagation, of say X\ :sub:`1` and X\ :sub:`2`.
+X\ :sub:`1` = 101 ± 2 and X\ :sub:`2` = 99 ± 2 again, Mantid would
+undertake the following calculation for divide:
+
+Q = X\ :sub:`1`/X:sub:`2` = 101/99
+
+Error Propogation = (√ ± 2/99 + ±2/101) All multiplied by Q = 0.22425
+
+For the multiply algorithm, the only difference is in how Q is created,
+which in turn affects the Error Propogation,
+
+Q = X\ :sub:`1`\ \*X\ :sub:`2` = 101\*99
+
+Error Propogation = (√ ± 2/99 + ±2/101) All multiplied by Q = 0.22425
+
+
+
+.. categories:: Concepts
\ No newline at end of file
diff --git a/Code/Mantid/docs/source/concepts/EventWorkspace.rst b/Code/Mantid/docs/source/concepts/EventWorkspace.rst
new file mode 100644
index 00000000000..a364ae053ae
--- /dev/null
+++ b/Code/Mantid/docs/source/concepts/EventWorkspace.rst
@@ -0,0 +1,126 @@
+.. _EventWorkspace:
+
+EventWorkspace
+==============
+
+Quick Summary For Users
+-----------------------
+
+The EventWorkspace is a type of `MatrixWorkspace <MatrixWorkspace>`__,
+where the information about each individual neutron detection event is
+maintained. For you as a user, this means that:
+
+-  You can `rebin <rebin>`__ an EventWorkspace over and over and no
+   information is ever lost.
+-  The histogram (Y and E values) of an EventWorkspace are only
+   calculated when they are requested.
+
+   -  You typically get better performance, even for very fine binning.
+
+-  You can convert an EventWorkspace to a `Workspace2D <Workspace2D>`__
+   by using the `Rebin <Rebin>`__ algorithm and changing the output
+   workspace name.
+-  You cannot modify the histogram Y values (for example, with the
+   Divide algorithm) and keep the event data. If you use an algorithm
+   that modifies the Y values, the output workspace will be a
+   `Workspace2D <Workspace2D>`__ using the current binning parameters.
+   If you set the same name on the output as the input of your
+   algorithm, then you will overwrite the EventWorkspace and lose that
+   event-based information.
+-  Some algorithms are EventWorkspace-aware, meaning that the output of
+   it can be another EventWorkspace. For example, the `Plus <Plus>`__
+   algorithm will append the event lists if given two input
+   EventWorkspaces.
+-  Since it retains the most information, it is advantageous to keep
+   your data as an EventWorkspace for as much processing as is possible
+   (as long as you have enough memory!).
+
+For Developers/Writing Algorithms
+---------------------------------
+
+The following information will be useful to you if you want to write an
+algorithm that is EventWorkspace-aware.
+
+Individual Neutron Event Data (TofEvent)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The TofEvent class holds information for each neutron detection event
+data:
+
+-  PulseTime: An absolute time of the pulse that generated this neutron.
+   This is saved as an INT64 of the number of nanoseconds since Jan 1,
+   1990; this can be converted to other date and time formats as needed.
+-  tof: Time-of-flight of the neutron, in microseconds, as a double.
+   Note that this field can be converted to other units, e.g. d-spacing.
+
+Lists of Events (EventList)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+-  The EventList class consists of a list of TofEvent's. The order of
+   this list is not significant, since various algorithms will resort by
+   time of flight or pulse time, as needed.
+
+-  Also contained in the EventList is a std::set of detector ID's. This
+   tracks which `detector <detector>`__\ (s) were hit by the events in
+   the list.
+
+-  The histogram bins (X axis) are also stored in EventList. The Y and E
+   histogram data are not, however, as they are calculated by the MRU
+   (below).
+
+The += operator can be used to append two EventList's together. The
+lists of TofEvent's get appended, as is the list of
+`detector <detector>`__ ID's. Don't mess with the udetmap manually if
+you start appending event lists - just call
+EventWorkpspace->makeSpectraMap to generate the spectra map (map between
+spectrum # and detector IDs) by using the info in each EventList.
+
+Most Recently Used List (MRUList)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+An EventWorkspace contains a list of the 100 most-recently used
+histograms, a `MRUList <MRUList>`__. This MRU caches the last histogram
+data generated for fastest display.
+
+A note about workspace index / spectrum number / detector ID
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The loading algorithms **match** the workspace index and spectrum number
+in the EventWorkspace. Therefore, in an EventWorkspace, the two numbers
+will be the same, and your workspace's Axis[1] is a simple 1:1 map. As
+mentioned above, the detectorID is saved in EventList, but the
+makeSpectraMap() method generates the usual SpectraDetectorMap object.
+
+Workspace2D compatibility
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+EventWorkspace is designed to be able to be read (but not written to)
+like a `Workspace2D <Workspace2D>`__. By default, if an algorithm
+performs an operation and outputs a new workspace, the
+`WorkspaceFactory <WorkspaceFactory>`__ will create a Workspace2D *copy*
+of your EventWorkspace's histogram representation. If you attempt to
+change an EventWorkspace's Y or E data in place, you will get an error
+message, since that is not possible.
+
+A Note about Thread Safety
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Thread safety can be surprising when using an EventWorkspace:
+
+If two threads *read* a Y histogram at the same time, this *can* cause
+problems. This is because the histogramming code will try to sort the
+event list. If two threads try to sort the same event list, you can get
+segfaults.
+
+Remember that the PARALLEL\_FOR1(), PARALLEL\_FOR2() etc. macros will
+perform the check Workspace->threadSafe() on the input EventWorkspace.
+This function will return *false* (thereby disabling parallelization) if
+any of the event lists are unsorted.
+
+You can go around this by forcing the parallel loop with a plain
+PARALLEL\_FOR() macro. **Make sure you do not read from the same
+spectrum in parallel!**
+
+
+
+.. categories:: Concepts
\ No newline at end of file
diff --git a/Code/Mantid/docs/source/concepts/Facilities_File.rst b/Code/Mantid/docs/source/concepts/Facilities_File.rst
new file mode 100644
index 00000000000..19f134edf29
--- /dev/null
+++ b/Code/Mantid/docs/source/concepts/Facilities_File.rst
@@ -0,0 +1,106 @@
+.. _Facilities File:
+
+Facilities_File
+===============
+
+Summary
+-------
+
+The facilities file, called **facilities.xml**, contains properties of
+facilities and instruments that Mantid is aware of. In order for Mantid
+to function correctly for your facility then the facilites file should
+contain the appropriate definitions as defined below.
+
+File syntax
+-----------
+
+Each facility is described using XML with an instrument defined as a sub
+component of a facility. A simple facility definition would be
+
+.. raw:: html
+
+   <div style="border:1pt dashed blue; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: XML
+
+    <?xml version="1.0" encoding="UTF-8"?>
+    <facilities>
+
+     <facility name="BrandNew" delimiter="_" zeropadding="8" FileExtensions=".nxs,.n*">
+
+      <instrument name="ABCDEF"/>
+
+     </facility>
+
+    </facilities>
+
+.. raw:: html
+
+   </div>
+
+which would define a facility called *BrandNew* with an instrument
+called *ABCDEF*. The facilities attributes have the following meanings:
+
+-  ``delimiter`` gives the delimiter that is inserted between the
+   instrument name and the run number when constructing a file name;
+-  ``zeroPadding`` gives the number of digits that a run number is
+   padded to when constructing a file name;
+-  ``FileExtensions`` should list the extensions of the data files for
+   the facility. The first is taken as the preferred extension.
+
+An instrument can have further attributes which define properties of the
+that instrument rather than the facility as a whole, e.g.
+
+.. raw:: html
+
+   <div style="border:1pt dashed blue; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: XML
+
+    <?xml version="1.0" encoding="UTF-8"?>
+    <facilities>
+
+     <facility name="BrandNew" zeropadding="8" FileExtensions=".nxs,.n*">
+
+      <instrument name="ABCDEF" shortName="ABC">
+      <technique>Tech 1</technique>
+      <technique>Tech 2</technique>
+      <zeropadding size="12" startRunNumber="12345" prefix="FEDCBA"></zeropadding>
+      <zeropadding size="15" startRunNumber="54321" prefix="ZYXWUV"></zeropadding>
+      </instrument>
+
+     </facility>
+
+    </facilities>
+
+.. raw:: html
+
+   </div>
+
+where the attributes are defined as:
+
+-  ``shortName`` gives a shortened version of the instrument name
+   sometimes used in run filename generation;
+-  ``<technique>NAME<\technique>`` tags give a named technique supported
+   by the instrument. Mantid uses this to retrieve lists of instruments
+   based on a particular technique. Multiple techniques can be
+   specified.
+-  ``<zeropadding size="12" startRunNumber="12345" prefix="FEDCBA"\>``
+   is an optional tag to specify zero padding different from the default
+   for the facility. ``startRunNumber`` is an optional attribute
+   specifying the smallest run number at which this zero padding must be
+   used. If ``startRunNumber`` is omitted this zero padding is applied
+   from run number 0. The optional ``prefix`` attribute allows a
+   filename to have a different prefix. An ``instrument`` tag can have
+   multiple ``zeropadding`` tags.
+
+Location
+--------
+
+The file should be located in the directory pointed to by the
+**instrumentDefinition.directory** key in the
+`.properties <Properties_File>`__ file.
+
+
+
+.. categories:: Concepts
\ No newline at end of file
diff --git a/Code/Mantid/docs/source/concepts/FitConstraint.rst b/Code/Mantid/docs/source/concepts/FitConstraint.rst
new file mode 100644
index 00000000000..880d1eb6c88
--- /dev/null
+++ b/Code/Mantid/docs/source/concepts/FitConstraint.rst
@@ -0,0 +1,54 @@
+.. _FitConstraint:
+
+FitConstraint
+=============
+
+.. role:: math(raw)
+   :format: html latex
+..
+
+How constraints on parameters work
+----------------------------------
+
+Consider the scenario where the aim is to fit a lorenzian function to a
+1D dataset but a constraint applied on the peak centre parameter. Assume
+the 1D dataset consists of :math:`N` data points
+:math:`(x_1,y_1^{obs}), (x_2,y_2^{obs}), ... (x_N,y_N^{obs})`, where
+:math:`x_i` is the ith x-value and :math:`y_i^{obs}` is the ith observed
+value for that x-value. Write the lorentzian function as:
+
+.. math:: y_i^{cal}(h, x0, w) = h \left( \frac{w^2}{(x_i-x0)^2+w^2} \right)
+
+where he lorentzian fitting parameters here are
+
+-  :math:`h` - height of peak (at maximum)
+-  :math:`x0` - centre of peak
+-  :math:`w` - half-width at half-maximum
+
+:math:`x_i` is the x-value of the ith data point and :math:`y_i^{cal}`
+is the lorentzian calculated value at that data point.
+
+We want to apply a constraint on the x0 parameter, i.e. the centre of
+the peak. For example, apply the constraint that :math:`x0` should be in
+between :math:`x0_{min}` and :math:`x0_{max}`. If this is not satisfied
+we then add the following penalty function to :math:`y_i^{cal}` if
+:math:`x0 < x0_{min}</`:
+
+.. math:: p_i = C(x0_{min}-x0)*R(x_i)
+
+where :math:`C` is a constant (default 1000) and :math:`R(x_i)` a spiky
+function which takes the value 1 for the first and last data point and
+for every 10th data point from the 1st data point, but is otherwise
+zero. The penalty function when :math:`x0 > x0_{min}</` takes the form:
+
+.. math:: p_i = C(x0-x0_{max})*R(x_i)
+
+.
+
+If more than one constraint is defined, then for each violated
+constraint a penalty of the type defined above is added to the
+calculated fitting function.
+
+
+
+.. categories:: Concepts
\ No newline at end of file
diff --git a/Code/Mantid/docs/source/concepts/Framework_Manager.rst b/Code/Mantid/docs/source/concepts/Framework_Manager.rst
new file mode 100644
index 00000000000..1003315f89d
--- /dev/null
+++ b/Code/Mantid/docs/source/concepts/Framework_Manager.rst
@@ -0,0 +1,35 @@
+.. _Framework Manager:
+
+Framework_Manager
+=================
+
+What is it?
+-----------
+
+The framework manager is the main class through which user code will
+interact with the Mantid framework. It is the center piece of the
+application programming interface.
+
+The main purpose of the frameworkManager is to simplfy the interaction
+with the various internal services of the Mantid framework. Of course
+this does not prevent you from accessing those services directly should
+you so wish.
+
+What does it allow you to do?
+-----------------------------
+
+The frameworkManager allows you to create and execute algorithms as well
+as retrieving workspaces, and deleteing them if they are no longer
+required.
+
+It is good practice to delete workspaces that are no longer required to
+free up the memory used.
+
+For the most up to date listing of the methods that Framework Manager
+provides look at the `Doxygen code
+documentation <http://doxygen.mantidproject.org/>`__. Select the classes
+tab and look for FrameworkManagerImpl (Mantid::API).
+
+
+
+.. categories:: Concepts
\ No newline at end of file
diff --git a/Code/Mantid/docs/source/concepts/Geometry.rst b/Code/Mantid/docs/source/concepts/Geometry.rst
new file mode 100644
index 00000000000..0c5ad980f42
--- /dev/null
+++ b/Code/Mantid/docs/source/concepts/Geometry.rst
@@ -0,0 +1,39 @@
+.. _Geometry:
+
+Geometry
+========
+
+What is it?
+-----------
+
+Geometry is the description of the physical shape (volume) of an object
+within a Mantid `instrument <Instrument>`__ and the distances and
+rotations between them.
+
+Geometry in Mantid
+------------------
+
+In Mantid we seperate the `Geometry of the shape <Geometry of Shape>`__
+of an object from the `Geometry of it's
+position <Geometry of Position>`__. This is done primarily to save on
+memory usage but also to improve performance. Many operations within
+Mantid need to know where for example a detector is, but do not need to
+know what shape it is. By keeping the Geometry and Position seperate we
+can keep the performance high. Also while in any one instrument we may
+have over 10,000 detector pixels all with different locations they will
+all have the same shape, therefore by keeping the shape seperate we can
+greatly reduce the amount of memory required.
+
+Basics of Geometry
+------------------
+
+Both of the forms of Geometry share certain basic concepts. These are
+that co-ordinates are stored as `3D
+Vectors <http://en.wikipedia.org/wiki/Vector_(spatial)>`__ (the class in
+Mantid is called V3D), directions are described as similar unit 3D
+Vectors, and rotations are described using
+`quaternions <http://en.wikipedia.org/wiki/Quaternion>`__.
+
+
+
+.. categories:: Concepts
\ No newline at end of file
diff --git a/Code/Mantid/docs/source/concepts/Geometry_of_Position.rst b/Code/Mantid/docs/source/concepts/Geometry_of_Position.rst
new file mode 100644
index 00000000000..4007e956d07
--- /dev/null
+++ b/Code/Mantid/docs/source/concepts/Geometry_of_Position.rst
@@ -0,0 +1,68 @@
+.. _Geometry of Position:
+
+Geometry_of_Position
+====================
+
+What is it?
+-----------
+
+In Mantid we need to be able to define the position and orientation of
+every component within an `instrument <instrument>`__.
+
+What is a component?
+--------------------
+
+A component is an abstract concept that is anything that we want to
+define a position for, it could be a detector pixel, a whole detector
+bank, a sample position or the whole instrument itself. For each
+component we store:
+
+-  A link to it's parent component.
+-  Position co-ordinates as a `3D
+   Vector <http://en.wikipedia.org/wiki/Vector_(spatial)>`__, internally
+   these store the location in `cartesian
+   co-ordinates <http://en.wikipedia.org/wiki/Cartesian_coordinate_system>`__
+   in metres, but can also be set in `spherical
+   co-ordinates <http://en.wikipedia.org/wiki/Spherical_coordinate_system>`__.
+   This position is the relative position compared to it's parent.
+-  Orientation as a
+   `quaternion <http://en.wikipedia.org/wiki/Quaternion>`__. The
+   orientation is applied after any position adjustment relative to the
+   parent.
+
+Subtypes of Component
+~~~~~~~~~~~~~~~~~~~~~
+
+Object Component
+^^^^^^^^^^^^^^^^
+
+An object component is a component that has a
+`shape <Geometry_of_Shape>`__. Shapes can contain a lot more information
+to properly define them, and therefore take more memory. Where an
+instrument contains a lot of instances of the same shape Mantid shares
+one instance of the object(shape) across all of the object components
+that need it.
+
+Component Assembly
+^^^^^^^^^^^^^^^^^^
+
+This component that is a logical collection of several smaller
+components, an example of this is a bank of detector pixels. The whole
+instrument itself is a Component Assembly which contains all of the
+other top level components in the Instrument tree.
+
+Instrument Tree
+---------------
+
+|SimpleInstrumentTree.png| Most instruments in Mantid are defined using
+a tree structure allowing the top level structure objects to be reused
+if they are repeated in an instrument. This is an example of a
+simplified instrument tree, the lines show the links between the parent
+and child relationships of the components. Full details on how to define
+an instrument can be found `here <InstrumentDefinitionFile>`__.
+
+
+
+.. |SimpleInstrumentTree.png| image:: SimpleInstrumentTree.png
+
+.. categories:: Concepts
\ No newline at end of file
diff --git a/Code/Mantid/docs/source/concepts/Geometry_of_Shape.rst b/Code/Mantid/docs/source/concepts/Geometry_of_Shape.rst
new file mode 100644
index 00000000000..e232f7e90f7
--- /dev/null
+++ b/Code/Mantid/docs/source/concepts/Geometry_of_Shape.rst
@@ -0,0 +1,57 @@
+.. _Geometry of Shape:
+
+Geometry_of_Shape
+=================
+
+What is it?
+-----------
+
+In Mantid we use `constructive solid geometry
+(CSG) <http://en.wikipedia.org/wiki/Constructive_solid_geometry>`__ to
+describe the shape of an object. This involves the creation of more
+complex shapes by the union, complement or intersection of simple
+primitive surfaces.
+
+Why did we use CSG
+------------------
+
+Defining our object shape using CSG was selected for a number of
+reasons:
+
+#. Using Surfaces based on mathematical equations rather than meshes of
+   vertices give much better accuracy when tracking the interaction of
+   particles through objects.
+#. Scientists think in the shape of objects this way, for example if
+   they have a sample that is a sphere radius 0.03m with a conical
+   extrusion on top then that is exactly how they describe it in CSG.
+   Otherwise they would need to be able to describe the co-ordinates for
+   each vertex of the surface.
+
+What shapes can be constructed
+------------------------------
+
+Mantid has direct support for creating various shapes directly,
+including
+
+-  Sphere
+-  Infinite Cylinder
+-  Cylinder (finite height)
+-  Slice of cylinder ring
+-  Infinite Plane
+-  Cuboid
+-  Infinite Cone
+
+Some of these shapes are infinite surfaces (the infinite plane, cone and
+cylinder) these are therefore not very useful on there own, but in
+combination with other shapes they can be capped as required.
+
+For example if you cap and infinite Cylinder with two infinite planes
+you get a finite capped cylinder. This is in fact how the Cylinder shape
+is defined internally within Mantid.
+
+For more on this see
+`HowToDefineGeometricShape <HowToDefineGeometricShape>`__.
+
+
+
+.. categories:: Concepts
\ No newline at end of file
diff --git a/Code/Mantid/docs/source/concepts/HowToDefineGeometricShape.rst b/Code/Mantid/docs/source/concepts/HowToDefineGeometricShape.rst
new file mode 100644
index 00000000000..c9251bcd851
--- /dev/null
+++ b/Code/Mantid/docs/source/concepts/HowToDefineGeometricShape.rst
@@ -0,0 +1,468 @@
+.. _HowToDefineGeometricShape:
+
+HowToDefineGeometricShape
+=========================
+
+Overview
+--------
+
+Primitive Shapes
+~~~~~~~~~~~~~~~~
+
+There is direct support for defining any of the following geometric
+shapes to add `Instrument Definition File <IDF>`__.
+
+-  Sphere
+-  Infinite Cylinder
+-  Cylinder (finite height)
+-  Slice of cylinder ring
+-  Infinite Plane
+-  Cuboid
+-  Infinite Cone
+-  Cone
+
+Combining Primitive shapes
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+In addition to the shapes listed above, other shapes may be defined by
+combining already defined shapes into new ones. This is done using an
+algebra that follows the following notation:
+
++------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
+| Operator   | Description                                                                                                                                                    | Example                                                                                              |
++============+================================================================================================================================================================+======================================================================================================+
+|            | Union (i.e two or more things making up one shape). See e.g. also `1 <http://en.wikipedia.org/wiki/Union_(set_theory)>`__                                      | a body = legs : torso : arms : head                                                                  |
++------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
+| " "        | "space" shared between shapes, i,e. intersection (the common region of shapes). See e.g. also `2 <http://en.wikipedia.org/wiki/Intersection_(set_theory)>`__   | "small-circle = big-circle small-circle" (where the small circle placed within the big-circle)       |
++------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
+| #.         | Complement                                                                                                                                                     | #. sphere = shape defined by all points outside sphere                                               |
+                                                                                                                                                                                                                                                                                    
++------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
+| ( )        | Brackets are used to emphasise which shapes an operation should be applied to.                                                                                 | box1 (# box2) is the intersection between box1 and the shape defined by all points not inside box2   |
++------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
+
+Axes and units of measure
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+All objects are defined with respect to cartesian axes (x,y,z), and the
+`default <IDF#Using_.3Cdefaults.3E>`__ unit of all supplied values are
+metres(m). Objects may be defined so that the origin (0,0,0) is at the
+centre, so that when rotations are applied they do not also apply an
+unexpected translation.
+
+Within instrument definitions we support the concept of defining a
+rotation by specifying what point the object is
+`facing <InstrumentDefinitionFile#Using_.3Cfacing.3E>`__. To apply that
+correctly the side of the object we consider to be the front is the xy
+plane. Hence, when planning to use
+`facing <InstrumentDefinitionFile#Using_.3Cfacing.3E>`__ the shape
+should be defined such that the positive y-axis is considered to be up,
+the x-axis the width, and the z-axis the depth of the shape.
+
+To be aware off
+---------------
+
+When defining a shape you have complete freedom to define it with
+respect to whatever coordinate system you like. However, we have a least
+the following recommendation
+
+-  The origin of coordinate system of a shape is used for calculating
+   the L2 distances. Therefore at least for any TOF instruments where
+   you care about L2 distances, the origin should be chosen to be at the
+   position on your detector shape that is best used for calculation the
+   L2 distance
+
+Examples
+--------
+
+Defining a sphere
+~~~~~~~~~~~~~~~~~
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <sphere id="some-sphere">
+        <centre x="0.0"  y="0.0" z="0.0" />
+        <radius val="0.5" />
+      </sphere>
+
+      <algebra val="some-sphere" />
+
+.. raw:: html
+
+   </div>
+
+Any shape must be given an ID name. Here the sphere has been given the
+name "some-sphere". The purpose of the ID name is to use it in the
+description, here this is done with the line . The description is
+optional. If it is left out the algebraic intersection is taken between
+any shapes defined.
+
+Defining a ball with a hole through it along the x-axis
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <cylinder id="stick">
+        <centre-of-bottom-base x="-0.5" y="0.0" z="0.0" />
+        <axis x="1.0" y="0.0" z="0.0" /> 
+        <radius val="0.05" />
+        <height val="1.0" />
+      </cylinder>
+
+      <sphere id="some-sphere">
+        <centre x="0.0"  y="0.0" z="0.0" />
+        <radius val="0.5" />
+      </sphere>
+
+      <algebra val="some-sphere (# stick)" />
+
+.. raw:: html
+
+   </div>
+
+This algebra string reads as follows: take the *intersection* between a
+sphere and the shape defined by all points *not* inside a cylinder of
+length 1.0 along the x-axis. Note the brackets around # stick in the
+algebraic string are optional, but here included to emphasis that the
+"space" between the "some-sphere" and "(# stick)" is the intersection
+operator.
+
+Notation used to defined any of the predefined geometric shapes
+---------------------------------------------------------------
+
+Sphere
+~~~~~~
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <sphere id="A">
+        <centre x="4.1"  y="2.1" z="8.1" />
+        <radius val="3.2" />
+      </sphere>
+
+.. raw:: html
+
+   </div>
+
+Cylinder
+~~~~~~~~
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <cylinder id="A">
+        <centre-of-bottom-base r="0.0" t="0.0" p="0.0" />  <!-- here position specified using spherical coordinates -->
+        <axis x="0.0" y="0.2" z="0" /> 
+        <radius val="1" />
+        <height val="10.2" />
+      </cylinder>
+
+.. raw:: html
+
+   </div>
+
+.. figure:: XMLcylinderDescription.png‎
+   :alt: XMLcylinderDescription.png‎
+
+   XMLcylinderDescription.png‎
+Infinite cylinder
+~~~~~~~~~~~~~~~~~
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <infinite-cylinder id="A" >
+        <centre x="0.0" y="0.2" z="0" />
+        <axis x="0.0" y="0.2" z="0" />
+        <radius val="1" />
+      </infinite-cylinder>
+
+.. raw:: html
+
+   </div>
+
+Slice of cylinder ring
+~~~~~~~~~~~~~~~~~~~~~~
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <slice-of-cylinder-ring id="A"> 
+        <inner-radius val="0.0596"/>
+        <outer-radius val="0.0646"/>
+        <depth val="0.01"/>
+        <arc val="45.0"/> 
+      </slice-of-cylinder-ring> 
+
+.. raw:: html
+
+   </div>
+
+This XML element defines a slice of a cylinder ring. Most importantly
+the part of this shape facing the sample is flat and looks like this:
+
+.. figure:: XMLsliceCylinderRingDescription.png
+   :alt: XMLsliceCylinderRingDescription.png
+
+   XMLsliceCylinderRingDescription.png
+For this shape you may find it useful to specify a
+`Bounding-Box <HowToDefineGeometricShape#Bounding-Box>`__.
+
+Cone
+~~~~
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <cone id="A" >
+        <tip-point x="0.0" y="0.2" z="0" />
+        <axis x="0.0" y="0.2" z="0" />
+        <angle val="30.1" />
+        <height val="10.2" />
+      </cone>
+
+.. raw:: html
+
+   </div>
+
+.. figure:: XMLconeDescription.png
+   :alt: XMLconeDescription.png
+
+   XMLconeDescription.png
+Infinite cone
+~~~~~~~~~~~~~
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <infinite-cone id="A" >
+        <tip-point x="0.0" y="0.2" z="0" /> 
+        <axis x="0.0" y="0.2" z="0" /> 
+        <angle val="30.1"  />
+      </infinite-cone>
+
+.. raw:: html
+
+   </div>
+
+Infinite plane
+~~~~~~~~~~~~~~
+
+Is the 3D shape of all points on the plane and all points on one side of
+the infinite plane, the side which point away from the infinite plane in
+the direction of the normal vector.
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <infinite-plane id="A">
+        <point-in-plane x="0.0" y="0.2" z="0" />
+        <normal-to-plane x="0.0" y="0.2" z="0" />
+      </infinite-plane>
+
+.. raw:: html
+
+   </div>
+
+Cuboid
+~~~~~~
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <cuboid id="shape">
+        <left-front-bottom-point x="0.0025" y="-0.1" z="0.0"  />
+        <left-front-top-point  x="0.0025" y="-0.1" z="0.02"  />
+        <left-back-bottom-point  x="-0.0025" y="-0.1" z="0.0"  />
+        <right-front-bottom-point  x="0.0025" y="0.1" z="0.0"  />
+      </cuboid>
+      <algebra val="shape" /> 
+
+.. raw:: html
+
+   </div>
+
+This particular example describes a cuboid with the origin at the centre
+of the front face, which is here facing the negative z-axis and has the
+dimensions 0.005mm x 0.2mm (in the xy-plane), and the depth of this
+cuboid is 0.02mm.
+
+.. figure:: XMLcuboidDescription.png
+   :alt: XMLcuboidDescription.png
+
+   XMLcuboidDescription.png
+Another example of a cuboid is
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <cuboid id="shape">
+        <left-front-bottom-point x="0.0" y="-0.1" z="-0.01"  />
+        <left-front-top-point  x="0.0" y="0.1" z="-0.01"  />
+        <left-back-bottom-point  x="0.001" y="-0.1" z="-0.01"  />
+        <right-front-bottom-point  x="0.0" y="-0.1" z="0.01"  />
+      </cuboid>
+      <algebra val="shape" /> 
+
+.. raw:: html
+
+   </div>
+
+which describes a cuboid with a front y-z plane (looking down the
+x-axis). The origin is assumed to be the centre of this front surface,
+which has dimensions 200mm along y and 20mm along z. The depth of this
+cuboid is taken to be 1mm (along x).
+
+Hexahedron
+~~~~~~~~~~
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <hexahedron id="Bertie">
+        <left-back-bottom-point  x="0.0" y="0.0" z="0.0"  />
+        <left-front-bottom-point x="1.0" y="0.0" z="0.0"  />
+        <right-front-bottom-point x="1.0" y="1.0" z="0.0"  />
+        <right-back-bottom-point  x="0.0" y="1.0" z="0.0"  />
+        <left-back-top-point  x="0.0" y="0.0" z="2.0"  />
+        <left-front-top-point  x="0.5" y="0.0" z="2.0"  />
+        <right-front-top-point  x="0.5" y="0.5" z="2.0"  />
+        <right-back-top-point  x="0.0" y="0.5" z="2.0"  />
+      </hexahedron>
+
+.. raw:: html
+
+   </div>
+
+.. figure:: XMLhexahedronDescription.png
+   :alt: XMLhexahedronDescription.png
+
+   XMLhexahedronDescription.png
+For this shape you may find it useful to specify a
+`Bounding-Box <HowToDefineGeometricShape#Bounding-Box>`__.
+
+Tapered Guide
+~~~~~~~~~~~~~
+
+Available from version 3.0 onwards.
+
+A tapered guide is a special case of hexahedron; a "start" rectangular
+aperture which in a continued fashion changes into an "end" rectangular
+aperture.
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <tapered-guide id="A Guide">
+          <aperture-start height="2.0" width="2.0" />
+          <length val="3.0" />
+          <aperture-end height="4.0" width="4.0" />
+          <centre x="0.0" y="5.0" z="10.0" /> <!-- Optional.  Defaults to (0, 0 ,0) -->
+          <axis x="0.5" y="1.0" z="0.0" /> <!-- Optional.  Defaults to (0, 0 ,1) -->
+      </tapered-guide>
+
+.. raw:: html
+
+   </div>
+
+The centre value denotes the centre of the start aperture. The specified
+axis runs from the start aperture to the end aperture. "Height" is along
+the y-axis and "width" runs along the x-axis, before the application of
+the "axis" rotation.
+
+For this shape you may find it useful to specify a
+`Bounding-Box <HowToDefineGeometricShape#Bounding-Box>`__.
+
+Bounding-Box
+------------
+
+When a geometric shape is rendered in the MantidPlot instrument viewer a
+bounding box is automatically created for each geometric shape. This
+works well for shapes such as cylinders and cuboids. However, for more
+complex shapes and combined shapes the library used for the
+visualization sometimes struggle, which can results in your instrument
+being viewed artifically very small (and you have to zoom in for a long
+time to see your instrument) and often in this context that the
+visualization axes does not display properly. For such cases this can be
+fixed by explicitely adding a bounding-box using the notation
+demonstrated below
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <hexahedron id="shape">
+        <left-front-bottom-point x="0.0" y="-0.037" z="-0.0031"  />
+        <right-front-bottom-point x="0.0" y="-0.037" z="0.0031"  />
+        <left-front-top-point x="0.0" y="0.037" z="-0.0104"  />
+        <right-front-top-point x="0.0" y="0.037" z="0.0104"  />
+        <left-back-bottom-point x="0.005" y="-0.037" z="-0.0031"  />
+        <right-back-bottom-point x="0.005" y="-0.037" z="0.0031"  />
+        <left-back-top-point x="0.005" y="0.037" z="-0.0104"  />
+        <right-back-top-point x="0.005" y="0.037" z="0.0104"  />
+      </hexahedron>
+      <algebra val="shape" /> 
+
+      <bounding-box>
+        <x-min val="0.0"/>
+        <x-max val="0.005"/>
+        <y-min val="-0.037"/>
+        <y-max val="0.037"/>
+        <z-min val="-0.0104"/>
+        <z-max val="0.0104"/>
+      </bounding-box>
+
+.. raw:: html
+
+   </div>
+
+Note for the best effect this bounding box should be enclosing the shape
+as tight as possible.
+
+
+
+.. categories:: Concepts
\ No newline at end of file
diff --git a/Code/Mantid/docs/source/concepts/Instrument.rst b/Code/Mantid/docs/source/concepts/Instrument.rst
new file mode 100644
index 00000000000..f0a453ddb68
--- /dev/null
+++ b/Code/Mantid/docs/source/concepts/Instrument.rst
@@ -0,0 +1,47 @@
+.. _Instrument:
+
+Instrument
+==========
+
+What are they?
+--------------
+
+The Instrument is a geometrical description of the components that make
+up the beam line. The components described will generally include:
+
+-  The source
+-  The sample position
+-  Each detector 'pixel'
+-  Each monitor
+
+Other components may also be included such as
+
+-  Slits
+-  Mirrows
+-  Guides
+-  Choppers
+-  Engineering obstacles in the beam path
+-  Link between log-files and variable parameters of the instrument
+   (such as the height of a detector table)
+
+An instrument is described using an `instrument definition
+file <InstrumentDefinitionFile>`__.
+
+The Mantid geometry is further explained `here <Geometry>`__.
+
+Why do we have a full instrument description, and not just a list of L2 and 2Theta values?
+------------------------------------------------------------------------------------------
+
+A list of L2 and 2Theta values will provide information to perform unit
+conversions and several other algorithms, however a full geometric
+instrument description allows much more.
+
+-  Visualization of the instrument internals with data overlays
+-  Complex absorption corrections
+-  Montecarlo simulations of experiments
+-  Updating the instrument geometry according to values stored in
+   log-files
+
+
+
+.. categories:: Concepts
\ No newline at end of file
diff --git a/Code/Mantid/docs/source/concepts/InstrumentDefinitionFile.rst b/Code/Mantid/docs/source/concepts/InstrumentDefinitionFile.rst
new file mode 100644
index 00000000000..171fa718aa1
--- /dev/null
+++ b/Code/Mantid/docs/source/concepts/InstrumentDefinitionFile.rst
@@ -0,0 +1,1698 @@
+.. _InstrumentDefinitionFile:
+
+InstrumentDefinitionFile
+========================
+
+.. role:: math(raw)
+   :format: html latex
+..
+
+The documentation on this wiki page is the full detailed description of
+the syntax you can use in an IDF to describe an instrument (note
+parameters of instrument components may optionally be stored in
+`parameter file <InstrumentParameterFile>`__).
+
+To get started creating an IDF follow the instructions on the `Create an
+IDF <Create_an_IDF>`__ page, then return here for more detailed
+explanations of syntax and structures.
+
+Introduction
+------------
+
+An instrument definition file (IDF) aims to describe an instrument, in
+particular providing details about those components of the instruments
+that are critically affecting the observed signal from an experiment.
+Parameter values of components may also be specified such as information
+about the opening height of a slit, the final energy of a detector and
+so on. The value of such parameters can optionally be linked to values
+stored in log-files.
+
+In summary an IDF may be used to describe any or all of the following:
+
+#. Instrument components defined using a hierarchical structure. Take,
+   for example, a detector bank containing 100 identical tubes each
+   containing 100 detector pixels. One option is to describe this setup
+   using a flat structure of 100\*100=10000 pixel components. Although
+   this is a valid approach it 1) create uncessarily large files 2) but
+   most importantly it does not capture the layout of the instrument.
+   The prefered option is to describe this example by first defining a
+   “pixel” type, then a “tube” type containing 100 "pixels" and finally
+   a “bank” component containing 100 "tubes". This latter approach
+   requires the specification of 1(the bank)+100(tubes)+100(pixels)=201
+   components as compared to specifying 10000 components using the
+   former approach. The other benefit of organising the IDF according to
+   the layout of the instrument is that users can subsequently refer to
+   the structure of the instrument as it is layed out. For example can
+   then subsequently easily move entire 'bank' or associate parameters
+   which relevant for a specific say 'tube' or 'bank'.
+#. The geometric shape and position of any component including: slits,
+   mirrors, detectors etc.
+#. A number of `specialised component
+   types <InstrumentDefinitionFile#Special_.3Ctype.3Es>`__ are defined
+   including:
+
+   -  detector and monitor components: required to be associated with
+      unique detector or monitor ID numbers. The importance of these IDs
+      are described further in
+      `1 <http://www.mantidproject.org/IDF#Using_detector.2Fmonitor_IDs_.3Cidlist.3E>`__
+   -  SamplePos component: Purpose to store the sample position. Needed
+      e.g. to calculate sample-to-detector distances
+   -  Source component: Purpose to store the source position or a
+      position along the beamline but before the sample. Needed e.g. for
+      spallation source instruments to calculate neutron flightpaths
+      including the source-to-sample (primary path) distance. Also, used
+      to define a point along the beam located before the sample. The
+      direction from this position to the SamplePos is currently used to
+      calculate the beam direction in some calculates (for example
+      two-theta scattering angles).
+
+#. Handling of log-files. Values specified in log-files can be used to
+   modify parameters of components, such as a detector position
+   coordinate or a slit opening height, in addition to assign values to
+   such parameters directly
+#. Specifying 'fitting' parameters of instrument profile functions and
+   other function to be used when data from the instrument are analysed.
+#. Choice of preferred coordinate system. For example the default is to
+   define the beam along the z-axis and the y-axis to point up.
+
+An IDF is structured as an `XML <http://en.wikipedia.org/wiki/XML>`__
+document. For the purpose here it is enough to know that an XML document
+follows a tree-based structure of elements with attributes. For example:
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <type name="main-detector-bank">
+        <component type="main-detector-pixel" >
+          <location x="-0.31" y="0.1" z="0.0" />
+          <location x="-0.32" y="0.1" z="0.0" />
+          <location x="-0.33" y="0.1" z="0.0" />
+        </component>
+      </type>
+
+.. raw:: html
+
+   </div>
+
+defines an XML element with has the attribute name="main-detector-bank".
+This element contains one sub-element , which again contains 3 elements.
+In plain English the above XML code aims to describe a
+“main-detector-bank” that contains 3 detector pixels and their locations
+within the bank.
+
+If a component is a cylindrical tube where slices of this types are
+treated as detector pixels the tube detector performance enhacement can
+optionally be used, which will e.g. make the display of this tube in the
+instrument viewer faster. This can be done by adding 'outline' attribute
+to the tag and setting its value to "yes".
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <type name="standard-tube" outline="yes">
+        <component type="standard-pixel" >
+          <location y="-1.4635693359375"/>
+          <location y="-1.4607080078125"/>
+          <location y="-1.4578466796875"/>
+        </component>
+      </type>
+
+.. raw:: html
+
+   </div>
+
+The 'outline attribute' only affects the 3D view of the instrument,
+which appears by default. It may lead to a less accurate placing of the
+detector pixels and in particular may not show the effects of tube
+calibration. However a 2D view of the instrument will still place pixel
+detectors accurately.
+
+IDF filename convention
+-----------------------
+
+An IDF can be loaded manually from any file with extension .xml or .XML
+using `LoadInstrument <LoadInstrument>`__ or
+`LoadEmptyInstrument <LoadEmptyInstrument>`__.
+
+IDFs located in the MantidInstall instrument directory are automatically
+loaded together with e.g. the loading of raw data file. Such files are
+required to have the format INSTRUMENTNAME\_DefinitionANYTHING.xml,
+where INSTRUMENTNAME is the name of the instrument and ANYTHING can be
+any string including an empty string. Where more than one IDF is defined
+for an instrument the appropriate IDF is loaded based on its
+`valid-from <#Top_level_.3Cinstrument.3E>`__ and
+`valid-to <#Top_level_.3Cinstrument.3E>`__ dates. Note for this to work
+the `Workspace <Workspace>`__ for which an IDF is loaded into must
+contain a record of when the data were collected. This information is
+taken from the workspace's `Run <Run>`__ object, more specifically the
+*run\_start* property of this object.
+
+In order to programmatically determine which is the correct filename for
+a given date/time you can access a helper method from Python:
+
+.. raw:: html
+
+   <div style="border:1pt dashed blue; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: python
+
+     import mantid.api 
+     # if no date is given it will default to returning the IDF filename that is currently valid.
+     currentIDF = mantid.api.ExperimentInfo.getInstrumentFilename("ARCS")
+     otherIDF = mantid.api.ExperimentInfo.getInstrumentFilename("ARCS", "2012-10-30")
+
+.. raw:: html
+
+   </div>
+
+More detailed descriptions of various parts of the IDF
+------------------------------------------------------
+
+Geometry shapes
+~~~~~~~~~~~~~~~
+
+For information on how to define geometric shapes see
+`HowToDefineGeometricShape <HowToDefineGeometricShape>`__.
+
+Top level 
+~~~~~~~~~~
+
+ is the top level XML element of an IDF. It takes attributes, two of
+which must be included. An example is
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <instrument name="ARCS" 
+                  valid-from="1900-01-31 23:59:59"
+                  valid-to="2100-01-31 23:59:59"
+                  last-modified="2010-10-12 08:54:07.279621">   
+
+.. raw:: html
+
+   </div>
+
+Of the four attributes in the example above
+
+-  name is (at present) optional, although it is recommended to specify
+   something sensible
+-  valid-from is compulsory and is the date from which the IDF is valid
+   from (+). This date must be larger than or equal to 1900-01-31
+   23:59:01
+-  valid-to may optionally be added to indicate the date to which the
+   IDF is valid to. If not used, the file is permenently valid. (+)
+-  last-modified is optional. Changing it can be used as an alternative
+   to force MantidPlot to reload the IDF, which e.g. might be useful
+   during the build up of an IDF
+
+(+) Both valid-from and valid-to are required to be set using the ISO
+8601 date-time format, i.e. as YYYY-MM-DD HH:MM:SS or
+YYYY-MM-DDTHH:MM:SS `2 <http://en.wikipedia.org/wiki/ISO_8601YYYY>`__.
+Valid ranges may overlap, provided the valid-from times are all
+different. If several files are currently valid, the one with the most
+recent valid-from time is selected.
+
+Using  and 
+~~~~~~~~~~
+
+Use the element to define a physical part of the instrument. A requires
+two things
+
+#. It must have a type="some type" attribute. This specify the 'type' of
+   the component and this type must be specified somewhere in the IDF
+   using: .
+#. It must contain at least one element. If multiple are specified then
+   this is essentially a shorthand notation for defining multiple
+   components of the same type at different locations.
+
+Here is an example
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <component type="slit" name="bob">   
+        <location x="10.651"/>
+        <location x="11.983"/>       
+      </component>    
+      
+      <type name="slit"></type>
+
+.. raw:: html
+
+   </div>
+
+Which defined two slits at two difference locations. Optionally a can be
+given a 'name', in the above example this name is "bob". If no 'name'
+attribute is specified the name of the defaults to the 'type' string, in
+the above this is "slit". Giving sensible names to components is
+recommended for a number of reasons including 1) The 'Instrument Tree'
+view of an instrument in MantidPlot uses these names 2) when specifying
+s through s these names are used.
+
+Special s
+^^^^^^^^^
+
+Within Mantid certain s have special meaning. A special is specified by
+including an 'is' attribute as demonstrated below
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <type name="pixel" is="detector">
+        <cuboid id="app-shape">
+          <left-front-bottom-point x="0.0025" y="-0.1" z="0.0"  />
+          <left-front-top-point  x="0.0025" y="-0.1" z="0.0002"  />
+          <left-back-bottom-point  x="-0.0025" y="-0.1" z="0.0"  />
+          <right-front-bottom-point  x="0.0025" y="0.1" z="0.0"  />
+        </cuboid>
+      </type>
+
+.. raw:: html
+
+   </div>
+
+where the 'is' attribute of is used to say this is a detector- (note
+this particular detector- has been assigned a geometric shape, in this
+case a cuboid, see
+`HowToDefineGeometricShape <HowToDefineGeometricShape>`__). Special
+types recognised are:
+
+#. Detector (or detector)
+#. Monitor (or monitor)
+#. `RectangularDetector <InstrumentDefinitionFile#Creating_Rectangular_Area_Detectors>`__
+   (or rectangularDetector, rectangulardetector, or
+   rectangular\_detector)
+#. Source (or source)
+#. SamplePos (or samplePos)
+#. ChopperPos (or chopperPos)
+
+For example it is important to specify the location of one Source- and
+one SamplePos- in order for Mantid to be able to calculate L1 and L2
+distances and convert time-of-flight to, for instance, d-spacing. An
+example of specifying a Source and SamplePos is shown below
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <component type="neutron moderator"> <location z="-10.0"/> </component>
+      <type name="neutron moderator" is="Source"/>
+
+      <component type="some sample holder"> <location /> </component>
+      <type name="some sample holder" is="SamplePos" /> 
+
+.. raw:: html
+
+   </div>
+
+Using detector/monitor IDs 
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Any component that is either a detector or monitor must be assigned a
+unique detector/monitor ID numbers (note this is *not* spectrum ID
+numbers but detector/monitor ID numbers). There are at least two
+important reason to insist on this.
+
+-  Data stored in files need to have a way to be linked to
+   detectors/monitors defined in the IDF. For example, at the ISIS
+   facility, data are recorded together with unique detector ID numbers.
+   Hence the job here to match the IDs in the data file with the IDs of
+   the IDF. Where unique IDs are not stored with the data the creator of
+   an IDF have some flexibility to chose these ID numbers since the data
+   themself does not contain such number. However a link between the IDs
+   and spectra in a workspace still needs to be made. By default the
+   `LoadInstrument <LoadInstrument>`__ algorithm, see in particular the
+   RewriteSpectraMap parameter of this algorithm, will map the
+   detector/monitor IDs with spectrum numbers as follows: the
+   detector/monitor IDs in the IDF are ordered from smallest to largest
+   number and then assigned in that order to the spectra in the
+   workspace used to hold the data in Mantid.
+-  Mantid needs to have a way to associate data which the
+   detectors/monitors of the instrument, which is do this using the
+   detector IDs. Although not mandatory it is recommended to give
+   memorizable names to collection of detectors/monitors or individual
+   detectors/monitors that a user is likely to want to refer. This allow
+   a user to refer to a collection of detectors by name rather than
+   trying to remember a sequence of IDs. Note the counts in a histogram
+   spectrum may be the sum of counts from a number of detectors and
+   Mantid, behind the scene, use the IDs to keep track of this.
+
+The element and the idlist attribute of the elements is used to assign
+detector IDs. The notation for using idlist is
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <component type="monitor" idlist="monitor-id-list">
+        <location r="5.15800" t="180.0" p="0.0" /> <!-- set to ID=500 in list below -->
+        <location r="5.20400" t="180.0" p="0.0" /> <!-- set to ID=510 -->
+        <location r="5.30400" t="180.0" p="0.0" /> <!-- set to ID=520 -->
+        <location r="5.40400" t="180.0" p="0.0" /> <!-- set to ID=531 -->
+        <location r="6.10400" t="180.0" p="0.0" /> <!-- set to ID=611 -->
+        <location r="6.24700" t="0.000" p="0.0" /> <!-- set to ID=612 -->
+        <location r="6.34700" t="0.000" p="0.0" /> <!-- set to ID=613 -->
+        <location r="6.50000" t="0.000" p="0.0" /> <!-- set to ID=650 -->
+      </component>
+      
+      <type name="monitor" is="monitor"/>
+
+      <idlist idname="monitor-id-list">
+        <id start="500" step="10" end="530" />  <!-- specifies IDs: 500, 510, 520, 530 -->
+        <id start="611" end="613" />            <!-- specifies IDs: 611, 612 and 613 -->
+        <id val="650" />                        <!-- specifies ID: 650 -->
+      </idlist>
+
+.. raw:: html
+
+   </div>
+
+As can be seen to specify a sequence of IDs use the notation , where if
+the step attribute defaults to step="1" if it is left out. Just specify
+just a single ID number you may alternatively use the notation . Please
+note the number of ID specified must match the number of
+detectors/monitors defined.
+
+Creating Rectangular Area Detectors
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+There is a shortcut way to create 2D arrays of detector pixels. Here is
+an example of how to do it:
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+    <component type="panel"  idstart="1000" idfillbyfirst="y" idstepbyrow="300">
+      <location r="0" t="0" name="bank1">
+      </location>
+    </component>
+
+    <component type="panel"  idstart="100000" idfillbyfirst="y" idstepbyrow="300">
+      <location r="45.0" t="0" name="bank2">
+      </location>
+    </component>
+
+    <!-- Rectangular Detector Panel. Position 100 "pixel" along x from -0.1 to 0.1 
+         and 200 "pixel" along y from -0.2 to 0.2 (relative to the coordinate system of the bank) -->
+    <type name="panel" is="RectangularDetector" type="pixel" 
+        xpixels="100" xstart="-0.100" xstep="+0.002"
+        ypixels="200" ystart="-0.200" ystep="+0.002" >
+    </type>
+
+    <!-- Pixel for Detectors. Shape defined to be a (0.001m)^2 square in XY-plane with tickness 0.0001m -->
+    <type is="detector" name="pixel">
+      <cuboid id="pixel-shape">
+        <left-front-bottom-point y="-0.001" x="-0.001" z="0.0"/>
+        <left-front-top-point y="0.001" x="-0.001" z="0.0"/>
+        <left-back-bottom-point y="-0.001" x="-0.001" z="-0.0001"/>
+        <right-front-bottom-point y="-0.001" x="0.001" z="0.0"/>
+      </cuboid>
+      <algebra val="pixel-shape"/>
+    </type>
+
+.. raw:: html
+
+   </div>
+
+-  The "panel" type defined above has the special "is" tag of
+   "RectangularDetector". The same type definition then needs these
+   attributes specified:
+
+   -  type: point to another type defining your pixel shape and size.
+   -  xpixels: number of pixels in X
+   -  xstart: x-position of the 0-th pixel (in length units, normally
+      meters)
+   -  xstep: step size between pixels in the horizontal direction (in
+      length units, normally meters)
+   -  ypixels: number of pixels in Y
+   -  ystart: y-position of the 0-th pixel (in length units, normally
+      meters)
+   -  ystep: step size between pixels in the vertical direction (in
+      length units, normally meters)
+
+-  Detectors of the type specified ("pixel" in the example) will be
+   replicated at the X Y coordinates given. The usual rotation and
+   translation of the panel will rotate the pixels as needed.
+-  Each instance of a "panel" needs to set these attributes, at the tag,
+   in order to specify the Pixel IDs of the 2D array.
+
+   -  idstart: detector ID of the first pixel
+   -  idfillbyfirst: set to true if ID numbers increase with Y indices
+      first. That is: (0,0)=0; (0,1)=1, (0,2)=2 and so on. Default is
+      idfillbyfirst="y".
+   -  idstepbyrow: amount to increase the ID number on each row. e.g, if
+      you fill by Y first,and set idstepbyrow = 100, and have 50 Y
+      pixels, you would get: (0,0)=0; (0,1)=1; ... (0,49)=49; (1,0)=100;
+      (1,1)=101; etc.
+   -  idstep. Default to 1. Set the ID increment within a row.
+
+-  DO NOT also specify an "idlist" attribute for rectangular detectors,
+   as it will not be used.
+
+-  Advantages of using a Rectangular Detector tag instead of defining
+   every single pixel:
+
+   -  The data will be displayed as a bitmap in the instrument 3D view,
+      making rendering much faster.
+   -  Smaller IDF and faster instrument loading times.
+   -  No need to make a script to generate the pixel positions.
+
+-  Disadvantages/Limitations:
+
+   -  Must have constant pixel spacing in each direction.
+   -  Must be rectangular shape.
+
+Using 
+~~~~~~
+
+The element allows the specification of both the position of a component
+and a rotation or the component's coordinate system. The position part
+can be specified either using standard x, y and z coordinates or using
+spherical coordinates: r, t and p, which stands for radius, theta and
+phi, t is the angle from the z-axis towards the x-axis and p is the
+azimuth angle in the xy-plane
+`3 <http://en.wikipedia.org/wiki/Spherical_coordinate_system>`__.
+Examples of translations include
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <component type="something" name="bob">
+        <location x="1.0" y="0.0" z="0.0" name="benny" />
+        <location r="1.0" t="90.0" p="0.0"/>
+      </component>
+
+.. raw:: html
+
+   </div>
+
+The above two translations have identical effect. They both translate a
+component along the x-axis by "1.0". Note that optionally a can be given
+a name similarly to how a can optionally be given a name. In a 'name'
+attribtute is not specified for a element it defaults to the name of the
+.
+
+The rotation part is specified using the attributes 'rot', 'axis-x',
+'axis-y', 'axis-z' and these result in a rotation about the axis defined
+by the latter three atttributes. As an example the effect of
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <location rot="45.0" axis-x="0.0" axis-y="0.0" axis-z="1.0"/>
+
+.. raw:: html
+
+   </div>
+
+is to set the coordinate frame of the this component equal to that of
+the parent component rotated by 45 degrees around the z-axis.
+
+Both a translation and rotation can be defined within one element. For
+example
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <location x="1.0" y="0.0" z="0.0" rot="45.0" axis-x="0.0" axis-y="0.0" axis-z="1.0"/>
+
+.. raw:: html
+
+   </div>
+
+will cause this componet to be translation along the x-axis by "1.0"
+relative to the coordinate frame of the parent component followed by a
+rotation of the coordinate frame by 45 degrees around the z-axis as
+demonstrated in the figure below.
+
+.. figure:: Location-element-transformation.png
+   :alt: Location-element-transformation.png
+
+   Location-element-transformation.png
+Any rotation of a coordinate system can be performed by a rotation about
+some axis, however, sometime it may be advantageous to think of such a
+rotation as a composite of two or more rotations. For this reason a
+element is allowed to have sub-rotation-elements, and an example of a
+composite rotation is
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <location r="4.8" t="5.3" p="102.8" rot="-20.6" axis-x="0" axis-y="1" axis-z="0">
+        <rot val="102.8">
+          <rot val="50" axis-x="0" axis-y="1" axis-z="0" />
+        </rot>
+      </location>
+
+.. raw:: html
+
+   </div>
+
+The outermost is applied first followed by the 2nd outermost operation
+and so on. In the above example this results in a -20.6 degree rotation
+about the y-axis followed by a 102.8 degree rotation about the z-axis
+(of the frame which has just be rotated by -20.6 degrees) and finally
+followed by another rotation about the y-axis, this time by 50 degrees.
+The ISIS NIMROD instrument (NIM\_Definition.xml) uses this feature.
+
+The translation part of a element can like the rotation part also be
+split up into a nested set of translations. This is demonstrated below
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <location  r="10" t="90" >
+        <trans r="8" t="-90" />
+      </location>
+
+.. raw:: html
+
+   </div>
+
+This combination of two translations: one moving 10 along the x-axis in
+the positive direction and the other in the opposite direction by 8 adds
+up to a total translation of 2 in the positive x-direction. This
+feature, for example, is useful when the positions of detectors are best
+described in spherical coordinates with respect to an origin different
+from the origin of the parent component. For example, say you have
+defined a with contains 3 pixels. The centre of the bank is at the
+location r="1" with respect to the sample and the positions of the 3
+pixels are known with respect to the sample to be at r="1" and with
+t="-1", t="0" and t="1". One option is to describe this bank/pixels
+structure as
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <component type="bank">
+        <location />
+      </component>
+
+      <type name="bank">
+        <component type="pixel">
+          <location r="1" t="-1" />
+          <location r="1" t="0" />
+          <location r="1" t="1" />
+        </component>
+      </type>
+
+.. raw:: html
+
+   </div>
+
+However a better option for this case is to use nested translations as
+demonstrated below
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <component type="bank">
+        <location r="1"/>
+      </component>
+
+      <type name="bank">
+        <component type="pixel">
+          <location r="1" t="180"> <trans r="1" t="-1" /> </location>
+          <location r="1" t="180"> <trans r="1" t="0" /> </location>
+          <location r="1" t="180"> <trans r="1" t="1" /> </location>
+        </component>
+      </type>
+
+.. raw:: html
+
+   </div>
+
+since this means the bank is actually specified at the right location,
+and not artificially at the sample position.
+
+Finally a combination of and sub-elements of a element can be used as
+demonstrated below
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <location x="10" > 
+        <rot val="90" > 
+          <trans x="-8" /> 
+        </rot> 
+      </location> 
+
+.. raw:: html
+
+   </div>
+
+which put something at the location (x,y,z)=(10,-8,0) relative to the
+parent component and with a 90 rotation around the z-axis, which causes
+the x-axis to be rotated onto the y-axis.
+
+Most of the attributes of have default values. These are: x="0" y="0"
+z="0" rot="0" axis-x="0" axis-y="0" axis-z="1"
+
+Using 
+^^^^^^
+
+The element is an element you can use together with a . Its purpose is
+to be able, with one line of IDF code, to make a given component face a
+point in space. For example many detectors on ISIS instruments are setup
+to face the sample. A element must be specified as a sub-element of a
+element, and the facing operation is applied after the translation
+and/or rotation operation as specified by the location element. An
+example of a element is
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <facing x="0.0" y="0.0" z="0.0"/>
+      or
+      <facing r="0.0" t="0.0" p="0.0"/>
+
+.. raw:: html
+
+   </div>
+
+In addition if the is set under , i.e. by default any component in the
+IDF will be rotated to face a default position then
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <facing val="none"/>
+
+.. raw:: html
+
+   </div>
+
+can be used to overwrite this default to say you don't want to apply
+'facing' to given component.
+
+The process of facing is to make the xy-plane of the geometric shape of
+the component face the position specified in the element. The z-axis is
+normal to the xy-plan, and the operation of facing is to change the
+direction of the z-axis so that it points in the direction from the
+position specified in the facing towards the position of the component.
+
+ supports a rot attribute, which allow rotation of the z-axis around it
+own axis before changing its direction. The effect of rot here is
+identical to the effect of using rot in a where axis-x="0.0"
+axis-y="0.0" axis-z="1.0". Allowing rot here perhpas make it slightly
+clearly that such a rot is as part of facing a component towards another
+component.
+
+which rotate the is a convenient element for adjusting the orientation
+of the z-axis. The base rotation is to take the direction the z-axis
+points and change it to point from the position specified by the element
+to the positon of the component.
+
+Using 
+^^^^^^
+
+A specifies the location of a . If this type consists of a number of
+sub-parts can be used to exclude certain parts of a type. For example
+say the type below is defined in an IDF
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <type name="door"> 
+        <component type="standard-tube"> 
+          <location r="2.5" t="19.163020" name="tube1"/> 
+          <location r="2.5" t="19.793250" name="tube2"/> 
+          <location r="2.5" t="20.423470" name="tube3"/> 
+          <location r="2.5" t="21.053700" name="tube4"/> 
+          <location r="2.5" t="21.683930" name="tube5"/>  
+        </component> 
+      </type> 
+
+.. raw:: html
+
+   </div>
+
+and the instrument consists of a number of these doors but where some of
+the doors are different in the sense that for example the 1st and/or the
+2nd tube is missing from some of these. Using this can be succinctly
+described as follows:
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <component type="door"> 
+        <location x="0"> 
+          <exclude sub-part="tube1"/> 
+          <exclude sub-part="tube3"/> 
+        </location> 
+        <location x="1" /> 
+        <location x="2" /> 
+        <location x="3"> 
+          <exclude sub-part="tube3"/> 
+        </location> 
+      </component> 
+
+.. raw:: html
+
+   </div>
+
+where the sub-part of refers to the 'name' of a part of the type 'door'.
+
+Extra options for indirect geometry instruments
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Optionally, both physical and 'neutronic' detector positions can be
+specified for indirect geometry instrument. This is described
+`here <Indirect Instrument Definition Options>`__.
+
+Using 
+~~~~~~
+
+Most instruments have detectors which are orderered in some way. For a
+`rectangular array of
+detectors <IDF#Creating_Rectangular_Area_Detectors>`__ we have a
+shorthand notation. The tag is a shorthand notation to use for a
+linear/spherical sequence of detectors, as any of the position
+coordinates or the coordinate rotation angles of a tag are changing.
+
+For example a element may be used to describe the position of equally
+distanced pixels along a tube, in the example below along the y variable
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <locations y="1.0" y-end="10.0" n-elements="10" name="det"/>
+
+.. raw:: html
+
+   </div>
+
+The above one line of XML is shorthand notation for
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <location y="1.0" name="det0"/>
+      <location y="2.0" name="det1" />
+      <location y="3.0" name="det2" />
+      <location y="4.0" name="det3" />
+      <location y="5.0" name="det4" />
+      <location y="6.0" name="det5" />
+      <location y="7.0" name="det6" />
+      <location y="8.0" name="det7" />
+      <location y="9.0" name="det8" />
+      <location y="10.0" name="det9" />
+
+.. raw:: html
+
+   </div>
+
+As is seen n-elements is the number of elements this element is
+shorthand for. y-end specifies the y end position, and the equal
+distance in y between the pixels is calculated in the code as
+('y'-'y-end')/('n-elements'-1). Multiple 'variable'-end attributes can
+be specified for the tag, where 'variable' here is any of the
+attributes: x, y, z, r, t, p and rot. The example below describes a list
+of detectors aligned in a semi-circle:
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+    <locations n-elements="7" r="0.5" t="0.0" t-end="180.0" rot="0.0" rot-end="180.0" axis-x="0.0" axis-y="1.0" axis-z="0.0"/>
+
+.. raw:: html
+
+   </div>
+
+The above one line of XML is shorthand notation for
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <location r="0.5" t="0"   rot="0"   axis-x="0.0" axis-y="1.0" axis-z="0.0"/>
+      <location r="0.5" t="30"  rot="30"  axis-x="0.0" axis-y="1.0" axis-z="0.0"/>
+      <location r="0.5" t="60"  rot="60"  axis-x="0.0" axis-y="1.0" axis-z="0.0"/>
+      <location r="0.5" t="90"  rot="90"  axis-x="0.0" axis-y="1.0" axis-z="0.0"/>
+      <location r="0.5" t="120" rot="120" axis-x="0.0" axis-y="1.0" axis-z="0.0"/>
+      <location r="0.5" t="150" rot="150" axis-x="0.0" axis-y="1.0" axis-z="0.0"/>
+      <location r="0.5" t="180" rot="180" axis-x="0.0" axis-y="1.0" axis-z="0.0"/>
+
+.. raw:: html
+
+   </div>
+
+If name is specified, e.g. as name="det" in the first example, then as
+seen the elements are given the 'name' plus a counter, where by default
+this counter starts from zero. This counter can optionally be changed by
+using attribute name-count-start, e.g. setting name-count-start="1" in
+the above example would have named the 10 elements det1, det2, ...,
+det10.
+
+When one tag was used in ISIS LET\_Definition.xml the number of lines of
+this file reduced from 1590 to 567.
+
+Using 
+~~~~~~
+
+Parameters which do not change or are changed via should be stored using
+this element inside the IDF, however parameters which may need to be
+accessed and changed manually on a regular basis should be stored in a
+separate `parameter file <InstrumentParameterFile>`__.
+
+ is used to specify a value to a parameter which can then be extracted
+from Mantid. One usage of is to link values stored in log-files to
+parameter names. For example
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <parameter name="x">
+        <logfile id="trolley2_x_displacement" extract-single-value-as="position 1" />
+      </parameter> 
+
+.. raw:: html
+
+   </div>
+
+reads: “take the first value in the “trolley2\_x\_displacement" log-file
+and use this value to set the parameter named 'x'.
+
+The name of the is specified using the 'name' tag. You may specify any
+name for a parameter except for name="pos" and name="rot". These are
+reserved keywords. Further a few names have a special effect when
+processed by Mantid
+
+-  "x", "y", and "z" overwrite the x, y and z coordinate respectively of
+   the element of the component the is a sub-element of.
+-  "r-position", "t-position" and "p-position" like "x", "y" and "z"
+   overwrite the x, y, z coordinates but specified using spherical
+   coordinates (as defined ). Note that the parameters "t-position" and
+   "p-position" are ignored if the parameter "r-position" is not also
+   set for the same component. If only "r-position" is set, say to
+   r-position="10.0", than the component will be set to
+   (x,y,z)=(0,0,10.0) i.e. theta and phi default to zero where not
+   specified.
+-  "rotx", "roty" and "rotz" rotate the component's coordinate system
+   around the x-axis, y-axis and z-axis respectively in units of
+   degrees. If any of these are specified they re-define the rotation
+   for the component. You can specify two or three of these to create
+   any rotation. Regardless of what order rotx, roty and rotz is
+   specified in the IDF the combined rotation is equals that obtained by
+   applying rotx, then roty and finally rotz.
+-  "Efixed". If specified the `ConvertUnits <ConvertUnits>`__ algorithm
+   uses this value in unit conversion
+-  "SplitInto". How many MD boxes to split into when converting to MD.
+-  "SplitThreshold". The threshold number of MDEvents in an MDBox before
+   splitting into a new MDBox. Concerns convert to MD.
+-  "MaxRecursionDepth". The maximum depth of the MDBox tree when
+   converting to MD.
+-  "offset-phi". Effective boolean for turning on/off Phi offsets by PI.
+   Set to Always to apply.
+
+The value of the parameter is in the above example specified using a
+log-file as specified with the element . The required attribute of is
+
+-  *id* - the logfile name minus the file extension and the ISIS raw
+   file name. For example the id for the logfile 'CSP78173\_height.txt'
+   is 'height'.
+
+Optional attributes of are:
+
+-  *extract-single-value-as* - specify which value (or values) from the
+   logfile should be used to. This attribute takes any of the following
+   strings
+
+   -  **mean** (default)
+   -  **position n** where n is an integer
+   -  **first\_value** The first value in the run
+   -  **last\_value** The last value in the run
+   -  **median** The median value in the run
+   -  **minimum** The minimum value in the run
+   -  **maximum** The maximum value in the run
+
+-  *eq* - the values in the log-file may not directly specify the
+   parameter you want to set in the IDF. A simple example is where the
+   values in the logfile are in units of mm, whereas the unit of length
+   in the IDF is meters. Hence for this case by setting
+   eq="0.001\*value" the values in the logfile are automatically
+   converted to meters. A more complicated example is where the height
+   of a detector is recorded in a log-file as the angle between from the
+   horizontal plane to the detector in unit of degrees. Say the distance
+   between the sample (which is assumed to be in the horizontal plane)
+   and the detector is 1.863m then by specifying
+   eq="1.863\*sin(value\*0.0174533)" the values in the log-file are
+   automatically converted into the height of the detector from the
+   horizontal plane in units of meters. Note pi/180=0.0174533 in
+   "sin(value\*0.0174533)" above is to transform degrees to radians.
+
+Another option for specifying a value for a parameter is to use the
+notation:
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <parameter name="x">
+        <value val="7.2"/>
+      </parameter> 
+
+.. raw:: html
+
+   </div>
+
+Here a value for the parameter with name "x" is set directly to 7.2. The
+only and required attribute of the element is 'val'.
+
+For a given you should specify its value only once. If by mistake you
+specify a value twice as demonstrated in the example below then the
+first encountered element is used, and if no element is present then the
+first encountered element is used.
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <parameter name="x">
+        <value val="7.2"/>
+        <logfile id="trolley2_x_displacement" extract-single-value-as="position 1" />
+      </parameter> 
+
+.. raw:: html
+
+   </div>
+
+In the above example is used.
+
+Accessing 
+~~~~~~~~~~
+
+Parameters are by default accessed recursively, see for instance methods
+of
+`ParametrizedComponent <http://doxygen.mantidproject.org/classMantid_1_1Geometry_1_1ParametrizedComponent.html>`__.
+Demonstrated with an example:
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <component type="dummy">
+        <location/>
+        <parameter name="something"> <value val="35.0"/> </parameter>  
+      </component>
+
+      <type name="dummy">
+        <component type="pixel" name="pixel1">  
+          <location y="0.0" x="0.707" z="0.707"/>
+          <parameter name="something1"> <value val="25.0"/> </parameter>  
+        </component>
+
+        <component type="pixel" name="pixel2">
+          <location y="0.0" x="1.0" z="0.0"/>
+          <parameter name="something2"> <value val="15.0"/> </parameter>  
+        </component>
+      </type>
+
+.. raw:: html
+
+   </div>
+
+this implies that if you for instance ask the component with
+name="pixel1" what parameters it has then the answer is two:
+something1=25.5 and something=35.0. If you ask the component
+name="dummy" the same question the answer is one: something=35.0 and so
+on. Recursive look-up can be diabled see for instance
+`ParametrizedComponent <http://doxygen.mantidproject.org/classMantid_1_1Geometry_1_1ParametrizedComponent.html>`__.
+
+Using *string* 
+~~~~~~~~~~~~~~~
+
+This is a special category of parameters where the value specified for
+the paramter is string rather than a double. The syntax is
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <parameter name="instrument-status" type="string">
+        <value val="closed"/>
+      </parameter> 
+
+.. raw:: html
+
+   </div>
+
+Using *fitting* 
+~~~~~~~~~~~~~~~~
+
+This is a special category of parameters, which follows the same syntax
+as other but allows a few extra features. Fitting parameters are meant
+to be used when raw data are fitted against models that contain
+parameters, where some of these parameters are instrument specific. If
+such parameters are specified these will be pulled in before the fitting
+process starts, where optionally these may, for instance, be specified
+to be treated as fixed by default. To specify a fitting parameter use
+the additional tag type="fitting" as shown in the example below
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <parameter name="IkedaCarpenterPV:Alpha0" type="fitting">
+        <value val="7.2"/>
+      </parameter> 
+
+.. raw:: html
+
+   </div>
+
+It is required that the parameter name uses the syntax
+NameOfFunction:Parameter, where NameOfFunction is the name of the
+fitting function the parameter is associated with. In the example above
+the fitting function name is `IkedaCarpenterPV <IkedaCarpenterPV>`__ and
+the parameter name is Alpha0.
+
+To specify that a parameter should be treated as fixed in the fitting
+process use the element as demonstrated in the example below
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <parameter name="IkedaCarpenterPV:Alpha0" type="fitting">
+        <value val="7.2"/>
+        <fixed />
+      </parameter> 
+
+.. raw:: html
+
+   </div>
+
+A parameter can be specified to have a min/max value, which results in a
+constraint being applied to this parameter. An example of this is shown
+below
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <parameter name="IkedaCarpenterPV:Alpha0" type="fitting">
+        <value val="7.2"/>
+        <min val="4"/> <max val="12"/> 
+      </parameter> 
+
+.. raw:: html
+
+   </div>
+
+The min/max values may also be specified as percentage values. For
+example:
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <parameter name="IkedaCarpenterPV:Alpha0" type="fitting">
+        <value val="250"/>
+        <min val="80%"/> <max val="120%"/> 
+        <penalty-factor val="2000"/>
+      </parameter> 
+
+.. raw:: html
+
+   </div>
+
+results in Alpha0 being constrained to sit between 250\*0.8=200 and
+250\*1.20=300. Further this example also demonstrates how a can be
+specified to tell how strongly the min/max constraints should be
+enforced. The default value for the penalty-factor is 1000. For more
+information about this factor see `FitConstraint <FitConstraint>`__.
+
+A value for a parameter may alternatively be set using a look-up-table
+or a formula. An example demonstrating a formula is
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <parameter name="IkedaCarpenterPV:Alpha0" type="fitting">
+        <formula eq="100.0+10*centre+centre^2" unit="TOF" result-unit="1/dSpacing^2"/>
+      </parameter> 
+
+.. raw:: html
+
+   </div>
+
+'centre' in the formula is substituted with the centre-value of the peak
+shape function as known prior to the start of the fitting process. The
+attributes 'unit' is optional. If it is not set then the peak
+centre-value is directly substituted for the centre variable in the
+formula. If it is set then it must be set to no one of the units defined
+in `Unit\_Factory <Unit_Factory>`__, and what happens is that the peak
+centre-value is converted to this unit before assigned to the centre
+variable in the formula.
+
+The optional 'result-unit' attribute tells what the unit is of the
+output of the formula. In the example above this unit is "1/dSpacing^2"
+(for the 'result-unit' this attribute can be set to an algebraic
+expression of the units defined in `Unit\_Factory <Unit_Factory>`__). If
+the x-axis unit of the data you are trying to fit is dSpacing then the
+output of the formula is left as it is. But for example if the x-axis
+unit of the data is TOF then the formula output is converted into, it in
+this case, the unit "1/TOF^2". Examples where 'unit' and 'result-unit'
+are used include:
+`CreateBackToBackParameters <CreateBackToBackParameters>`__ and
+`CreateIkedaCarpenterParameters <CreateIkedaCarpenterParameters>`__.
+
+An example which demonstrate using a look-up-table is
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <parameter name="IkedaCarpenterPV:Alpha0" type="fitting">
+        <lookuptable interpolation="linear" x-unit="TOF" y-unit="dSpacing">
+          <point x="1" y="1" />
+          <point x="3" y="100" />
+          <point x="5" y="1120" />
+          <point x="10" y="1140" />    
+        </lookuptable>
+      </parameter> 
+
+.. raw:: html
+
+   </div>
+
+As with a formula the look-up is done for the 'x'-value that corresponds
+to the centre of the peak as known prior to the start of the fitting
+process. The only interpolation option currently supported is 'linear'.
+The optional 'x-unit' and 'y-unit' attributes must be set to one of the
+units defined in `Unit\_Factory <Unit_Factory>`__. The 'x-unit' and
+'y-unit' have very similar effect to the 'unit' and 'result-unit'
+attributes for described above. 'x-unit' converts the unit of the centre
+before lookup against the x-values. 'y-axis' is the unit of the y values
+listed, which for the example above correspond to Alpha0.
+
+Using 
+~~~~~~
+
+Allow s to be linked to components without needing s to be defined
+inside, as sub-elements, of the components they belong to. The standard
+approach for defining a parameter is
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+    <component type="bank" name="bank_90degnew">
+      <location />
+      <parameter name="test"> <value val="50.0" /> </parameter>
+    </component>
+
+.. raw:: html
+
+   </div>
+
+where a parameter 'test' is defined to belong to the component with the
+name 'bank\_90degnew'. However, alternatively the parameter can be
+defined using the notation in the an example below. Note that if more
+than one component e.g. have the name 'bank\_90degnew' then the
+specified parameters are applied to all such components.
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+    <component type="bank" name="bank_90degnew">
+      <location />
+    </component>
+
+    <component-link name="bank_90degnew" >
+      <parameter name="test"> <value val="50.0" /> </parameter>
+    </component-link>
+
+.. raw:: html
+
+   </div>
+
+ is the only way parameters can be defined in a **parameter file** used
+by the `LoadParameterFile <LoadParameterFile>`__ algorithm.
+
+If there are several components with name 'bank\_90degnew' but you want
+specified paramentes to apply to only one of them, then you can specify
+the name by a path name.
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+    <component-link name="HRPD/leftside/bank_90degnew" >
+      <parameter name="test"> <value val="50.0" /> </parameter>
+    </component-link>
+
+.. raw:: html
+
+   </div>
+
+The path name need not be complete provided it specifies a unique
+component. Here we drop the instrument name HRPD.
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+    <component-link name="leftside/bank_90degnew" >
+      <parameter name="test"> <value val="50.0" /> </parameter>
+    </component-link>
+
+.. raw:: html
+
+   </div>
+
+.
+
+Using 
+~~~~~~
+
+The standard way of making up geometric shapes as a collection of parts
+is described here:
+`HowToDefineGeometricShape <HowToDefineGeometricShape>`__. However,
+offers in some circumstances a more convenient way of defining more
+complicated shapes, as for example is the case for the ISIS POLARIS
+instrument. This tag combining components into one shape as demonstrated
+below:
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+    <component type="adjusted cuboid"
+      <location />
+    </component>
+
+    <type name="adjusted cuboid" is="detector">
+      <combine-components-into-one-shape />
+      <component type="cuboid1">
+        <location name="A"/>
+        <!-- "A" translated by y=10 and rotated around x-axis by 90 degrees -->
+        <location name="B" y="10" rot="90" axis-x="1" axis-y="0" axis-z="0" />
+      </component>
+      <algebra val="A : B" />
+
+      <!-- this bounding box is used for this combined into one shape-->
+      <bounding-box>
+        <x-min val="-0.5"/>
+        <x-max val="0.5"/>
+        <y-min val="-5.0"/>
+        <y-max val="10.5"/>
+        <z-min val="-5.0"/>
+        <z-max val="5.0"/>
+      </bounding-box>
+
+    </type>
+
+    <type name="cuboid1" is="detector"> 
+      <cuboid id="bob">
+        <left-front-bottom-point x="0.5" y="-5.0" z="-0.5"  />
+        <left-front-top-point  x="0.5" y="-5.0" z="0.5"  />
+        <left-back-bottom-point  x="-0.5" y="-5.0" z="-0.5"  />
+        <right-front-bottom-point  x="0.5" y="5.0" z="-0.5"  />
+      </cuboid>
+
+      <!-- this bounding box is not used in the combined shape -->
+      <!-- Note you would not normally need to add a bounding box
+           for a single cuboid shape. The reason for adding one 
+           here is just to illustrate that a bounding added here
+           will not be used in created a combined shape as in 
+           "adjusted cuboid" above -->
+      <bounding-box>
+        <x-min val="-0.5"/>
+        <x-max val="0.5"/>
+        <y-min val="-5.0"/>
+        <y-max val="5.0"/>
+        <z-min val="-0.5"/>
+        <z-max val="0.5"/>
+      </bounding-box>
+    </type>
+
+.. raw:: html
+
+   </div>
+
+which combines two components "A" and "B" into one shape. The resulting
+shape is shape is shown here:\ |CombineIntoOneShapeExample.png‎|.
+
+Note for this to work, a unique name for each component must be provided
+and these names must be used in the algebra sting (here "A : B", see
+`HowToDefineGeometricShape <HowToDefineGeometricShape>`__). Further a
+bounding-box may optionally be added to the to the type , see
+`HowToDefineGeometricShape#Bounding-Box <HowToDefineGeometricShape#Bounding-Box>`__.
+Note the above geometric shape can alternatively be defined with the XML
+(Mantid behind the scene translates the above XML to the XML below
+before proceeding):
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+    <component type="adjusted cuboid">
+      <location />
+    </component>
+
+    <type name="adjusted cuboid" is="detector"> 
+      <cuboid id="A">
+        <left-front-bottom-point x="0.5" y="-5.0" z="-0.5"  />
+        <left-front-top-point  x="0.5" y="-5.0" z="0.5"  />
+        <left-back-bottom-point  x="-0.5" y="-5.0" z="-0.5"  />
+        <right-front-bottom-point  x="0.5" y="5.0" z="-0.5"  />
+      </cuboid>
+      <!-- cuboid "A" translated along y by 10 and rotated around x by 90 degrees -->
+      <cuboid id="B">
+        <left-front-bottom-point x="0.5" y="10.5" z="-5.0"  />
+        <left-front-top-point  x="0.5" y="9.5" z="-5.0"  />
+        <left-back-bottom-point  x="-0.5" y="9.5" z="-5.0"  />
+        <right-front-bottom-point  x="0.5" y="10.5" z="5.0"  />
+      </cuboid>
+      <algebra val="A : B" />
+    </type>
+
+.. raw:: html
+
+   </div>
+
+ for now works only for combining cuboids. Please do not hesitate to
+contact the Mantid team if you would like to extend this.
+
+This applies when defining any geometric shape, but perhaps something
+which a user has to be in particular aware of when defining more
+complicated geometry shapes, for example, using the tag: the coordinate
+system in which a shape is defined can be chosen arbitrary, and the
+origin of this coordinate system is the position returned when a user
+asked for its position. It is therefore highly recommended that when a
+user define a detector geometric shape, this could be simple cuboid,
+that it is defined with the origin at the centre of the front of the
+detector. For detector shapes build up of for example multiple cuboids
+the origin should be chosen perhaps for the center of the front face of
+the 'middle' cuboid. When Mantid as for the position of such a shape it
+will be with reference to coordinate system origin of the shape.
+However, sometimes it may simply be inconvenient to build up a geometry
+shape with an coordinate system as explained above. For this case, and
+for now only when using it possible to get around this by using the
+element , which takes the same attributes as a element. The effect of
+this element is basically to redefine the shape coordinate system origin
+(in fact also rotate it if requested).
+
+Using 
+~~~~~~
+
+Used for setting various defaults.
+
+Used to make the xy-plane of the geometric shape of any component by
+default face a given location. For example
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <components-are-facing x="0.0" y="0.0" z="0.0" />
+
+.. raw:: html
+
+   </div>
+
+If this element is not specified the default is to *not* attempt to
+apply facing.
+
+Originally introduced to handle detector position coordinates as defined
+by the
+`Ariel <http://www.isis.rl.ac.uk/Disordered/GEM/ariel/index_ariel.htm>`__
+software.
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <offsets spherical="delta" />
+
+.. raw:: html
+
+   </div>
+
+When this is set all components which have coordinates specified using
+spherical coordinates (i.e. using the r, t, p attributes, see
+description of ) are then treated as offsets to the spherical position
+of the parent, i.e. the value given for :math:`r` are added to the
+parent's :math:`r` to give the total radial coordinate, and the same for
+:math:`\theta` and :math:`\phi`. Note using this option breaks the
+symmetry that the element of a child component equals the position of
+this component relative to its parent component.
+
+Reference frame in which instrument is described. The author/reader of
+an IDF can chose the reference coordinate system in which the instrument
+is described. The default reference system is the one shown below.
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <reference-frame>
+        <!-- The z-axis is set parallel to and in the direction of the beam. the 
+             y-axis points up and the coordinate system is right handed. -->
+        <along-beam axis="z"/>
+        <pointing-up axis="y"/>
+        <handedness val="right"/>
+      </reference-frame>
+
+.. raw:: html
+
+   </div>
+
+This reference frame is e.g. used when a signed theta detector values
+are calculated where it is needed to know which direction is defined as
+up. The direction here means the direction of the beam if it was not
+modified by any mirrows etc.
+
+This tag is used to control how the instrument first appears in the
+`Instrument View <MantidPlot:_Instrument_View>`__. Attribute ``view``
+defines the type of the view that opens by default. It can have the
+following values: "3D", "cylindrical\_x", "cylindrical\_y",
+"cylindrical\_z", "spherical\_x", "spherical\_y", "spherical\_z". If the
+attribute is omitted value "3D" is assumed. Opening the 3D view on
+start-up is also conditioned on the value of the
+``MantidOptions.InstrumentView.UseOpenGL`` property in the `Properties
+File <Properties_File>`__. If set to "Off" this property prevents the
+Instrument View to start in 3D mode and "cylindrical\_y" is used
+instead. The user can change to 3D later.
+
+Another attribute, ``axis-view`` governs on which axis the instrument is
+initially viewed from in 3D and can be set equal to one of "Z-", "Z+",
+"X-", etc. If "Z-" were selected then the view point would be on the
+z-axis on the negative of the origin looking in the +z direction.
+
+If
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <angle unit="radian"/>
+
+.. raw:: html
+
+   </div>
+
+is set then all angles specified in elements and 's with names "rotx",
+"roty", "rotz", "t-position" and "p-position" are assumed to in radians.
+The default is to assume all angles are specified in degrees.
+
+Other defaults
+^^^^^^^^^^^^^^
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <length unit="meter"/>
+
+.. raw:: html
+
+   </div>
+
+This default, for now, does not do anything, but is the default unit for
+length used by Mantid. If it would be useful for you to specify user
+defined units do not hesitate to `request
+this <mailto:mantid-help@mantidproject.org>`__.
+
+Parameter Files
+---------------
+
+To prevent an IDF file from getting too long and complicated,
+information not related to the geometry of the instrument may be put
+into a separate file, whose content is automatically included into the
+IDF file.
+
+For more information see the **`parameter file
+page <InstrumentParameterFile>`__**.
+
+Deprecated Features
+-------------------
+
+=== mark-as="monitor" === The following notation to mark a detector as a
+monitor is now deprecated:
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <component type="monitor" idlist="monitor">
+          <location r="3.25800" t="180.0" p="0.0" mark-as="monitor"/>
+      </component>
+      
+      <type name="monitor" is="detector"/>
+
+      <idlist idname="monitor">
+        <id val="11" />   
+      </idlist>
+
+.. raw:: html
+
+   </div>
+
+The above XML should be replaced with
+
+.. raw:: html
+
+   <div style="border:1pt dashed black; background:#f9f9f9;padding: 1em 0;">
+
+.. code:: xml
+
+      <component type="monitor" idlist="monitor">
+          <location r="3.25800" t="180.0" p="0.0"/>
+      </component>
+      
+      <type name="monitor" is="monitor"/>
+
+      <idlist idname="monitor">
+        <id val="11" />   
+      </idlist>
+
+.. raw:: html
+
+   </div>
+
+
+
+.. |CombineIntoOneShapeExample.png‎| image:: CombineIntoOneShapeExample.png‎
+
+.. categories:: Concepts
\ No newline at end of file
diff --git a/Code/Mantid/docs/source/concepts/Instrument_Data_Service.rst b/Code/Mantid/docs/source/concepts/Instrument_Data_Service.rst
new file mode 100644
index 00000000000..8acf9cbeffe
--- /dev/null
+++ b/Code/Mantid/docs/source/concepts/Instrument_Data_Service.rst
@@ -0,0 +1,33 @@
+.. _Instrument Data Service:
+
+Instrument_Data_Service
+=======================
+
+What is it?
+-----------
+
+The Instrument Data Service (IDS) is a `Data Service <Data Service>`__
+that is specialized to hold all of the `instruments <Instrument>`__ that
+are created during a user session. Whenever an instrument definition is
+loaded it is saved in the IDS and further workspaces that refer to the
+same instrument share the same definition.
+
+Extracting an instrument from the Instrument Data Service
+---------------------------------------------------------
+
+This is rarely something that a user or an algorithm writer would need
+to do as it is all handled by the framework internals. Normally you
+would access the instrument relating to a workspace directly though that
+workspace.
+
+``workspace->getInstrument();``
+
+However if you really did want to access the instrument from the IDS (as
+a `Shared Pointer <Shared Pointer>`__), although this would then lack
+any workspace specific alterations or properties.
+
+``boost::shared_ptr``\ \ `` intrument = workspace->getInstrument();``
+
+
+
+.. categories:: Concepts
\ No newline at end of file
diff --git a/Code/Mantid/docs/source/concepts/Lattice.rst b/Code/Mantid/docs/source/concepts/Lattice.rst
new file mode 100644
index 00000000000..1d955201ca5
--- /dev/null
+++ b/Code/Mantid/docs/source/concepts/Lattice.rst
@@ -0,0 +1,265 @@
+.. _Lattice:
+
+Lattice
+=======
+
+.. role:: math(raw)
+   :format: html latex
+..
+
+The purpose of this document is to explain how Mantid is using
+information about unit cells and their orientation with respect to the
+laboratory frame. For a detailed description, see
+http://github.com/mantidproject/documents/blob/master/Design/UBMatriximplementationnotes.pdf
+
+Theory
+------
+
+The physics of a system studied by neutron scattering is described by
+the conservation of energy and momentum. In the laboratory frame:
+
+:math:`Q_l=  \hbar \mathbf{k}_i^{} -  \hbar \mathbf{k}_f`
+
+:math:`\Delta E_l= \frac{\hbar^2}{2m} (k_i^2 -  k_f^2)`
+
+Note that the left side in the above equations refer to what is
+happening to the lattice, not to the neutron.
+
+Let's assume that we have a periodic lattice, described by lattice
+parameters :math:`a,\ b,\ c,\ \alpha,\ \beta,\ \gamma`. The reciprocal
+lattice will be described by parameters
+:math:`a^*,\ b^*,\ c^*,\ \alpha^*,\ \beta^*,\  \gamma^*`. Note that
+Mantid uses :math:`a^*=\frac{1}{a}` type of notation, like in
+crystallography.
+
+For such a lattice, the physics will be described in terms of reciprocal
+lattice parameters by
+:math:`Q= 2 \pi\left(h \mathbf{a}^* + k \mathbf{b}^* +l \mathbf{c}^* \right) = \left(\begin{array}{c}
+
+                                                            h \\
+
+                                                            k \\
+
+                                                            l
+
+                                                          \end{array}\right)`.
+The :math:`UB_{}^{}` matrix formalism relates :math:`Q_l^{}` and
+:math:`Q_{}^{}` with the following equation:
+
+:math:`Q_l = 2 \pi R \cdot U \cdot B \left(\begin{array}{c}
+
+                                                            h \\
+
+                                                            k \\
+
+                                                            l
+
+                                                          \end{array}\right)`
+
+The :math:`B_{}^{}` matrix transforms the :math:`h^{}_{}, k, l` triplet
+into a Cartesian system, with the first axis along
+:math:`\ \mathbf{a}^*`, the second in the plane defined by
+:math:`\ \mathbf{a}^*` and :math:`\ \mathbf{b}^*`, and the third axis
+perpendicular to this plane. In the Busing and Levi convention (W. R.
+Busing and H. A. Levy, Angle calculations for 3- and 4-circle X-ray and
+neutron diffractometers - Acta Cryst. (1967). 22, 457-464):
+
+:math:`B = \left( \begin{array}{ccc}
+        a^* & b^*\cos(\gamma^*) & c^*\cos(\beta^*) \\
+        0 & b^*\sin(\gamma^*) & -c^*\sin(\beta^*)\cos(\alpha) \\
+        0 & 0 & 1/c \end{array} \right)`
+
+The :math:`U_{}^{}` matrix represents the rotation from this Cartesian
+coordinate frame to the Cartesian coordinate frame attached to the
+innermost axis of the goniometer that holds the sample.
+
+The :math:`R_{}^{}` matrix is the rotation matrix of the goniometer
+
+Other useful equations:
+
+:math:`G^* = (UB)^T UB = B^T B = \left( \begin{array}{ccc}
+        a^*a^* & a^*b^*\cos(\gamma^*) & a^*c^*\cos(\beta^*) \\
+        a^*b^*\cos(\gamma^*) & b^*b^* & b^*c^*\cos(\alpha^*) \\
+        a^*c^*\cos(\beta^*) & b^*c^*\cos(\alpha^*) & c^*c^* \end{array} \right)`
+
+:math:`G=(G^*)^{-1}=\left( \begin{array}{ccc}
+        aa & ab\cos(\gamma) & ac\cos(\beta) \\
+        ab\cos(\gamma) & bb & bc\cos(\alpha) \\
+        ac\cos(\beta) & bc\cos(\alpha) & cc \end{array} \right)`
+
+The distance in reciprocal space to the :math:`\left(h,k,l\right)` plane
+is given by :math:`d^* =\left| B \left(\begin{array}{c}
+
+                                                            h \\
+
+                                                            k \\
+
+                                                            l
+
+                                                          \end{array}\right)\right|`
+
+The distance in real space to the :math:`\left(h,k,l\right)` plane is
+given by :math:`d=\frac{1}{d^*}`
+
+The angle between :math:`Q_1^{}` and :math:`Q_2^{}` is given by
+:math:`\cos( Q_1^{}, Q_2^{})=\frac{(BQ_1)(BQ_2)}{|(BQ_1)| |(BQ_2)|}`
+
+Unit cells
+----------
+
+The UnitCell class provides the following functions to access direct and
+reciprocal lattices. The examples can be run from the script console in
+Mantid
+
++------------------------------------------------+---------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Function                                       | Example                                                                         | Description                                                                                                                                                                                                                                                                                                                    |
++================================================+=================================================================================+================================================================================================================================================================================================================================================================================================================================+
+| UnitCell()                                     | u = UnitCell()                                                                  | default constructor, with :math:`a=b=c=1\rm \AA, \ \alpha=\beta=\gamma=90^\circ`                                                                                                                                                                                                                                               |
++------------------------------------------------+---------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| UnitCell(other unit cell)                      | | u = UnitCell()                                                                | copy constructor                                                                                                                                                                                                                                                                                                               |
+|                                                | |  u2 = UnitCell(u)                                                             |                                                                                                                                                                                                                                                                                                                                |
++------------------------------------------------+---------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| UnitCell(a,b,c)                                | u = UnitCell(2,3.5,4)                                                           | constructor using :math:`a, b, c\ (\rm {in \ \AA}), \ \alpha=\beta=\gamma=90^\circ`                                                                                                                                                                                                                                            |
++------------------------------------------------+---------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| UnitCell(a,b,c,alpha,beta,gamma,Unit = unit)   | | u = UnitCell(2,3.5,4,90,90,90)                                                | constructor using :math:`a, b, c\ (\rm {in \ \AA}), \ \alpha, \ \beta,\ \gamma \ (\rm {in \ degrees \ or \ radians})`. The optional parameter "Unit" controls the units for the angles, and can have the value of "Degrees" or "Radians". By default Unit = Degrees                                                            |
+|                                                | | u = UnitCell(2,3.5,4,90,90,90,Unit = Degrees)                                 |                                                                                                                                                                                                                                                                                                                                |
+|                                                | | u = UnitCell(2,3.5,4,0.5\*math.pi,0.5\*math.pi,0.5\*math.pi,Unit = Radians)   |                                                                                                                                                                                                                                                                                                                                |
++------------------------------------------------+---------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| | a()                                          | | u = UnitCell(2,3.5,4)                                                         | returns lattice parameters :math:`a, b, c\ (\rm {in \ \AA})`                                                                                                                                                                                                                                                                   |
+| |  b()                                         | |  print u.c()                                                                  |                                                                                                                                                                                                                                                                                                                                |
+| |  c()                                         |                                                                                 |                                                                                                                                                                                                                                                                                                                                |
++------------------------------------------------+---------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| | a1()                                         | | u = UnitCell(2,3.5,4)                                                         | returns lattice parameters :math:`a_1=a, a_2=b, a_3=c\ (\rm {in \ \AA})`. Note: `"International Tables for Crystallography" <http://it.iucr.org/Ba/ch1o1v0001/>`__ notation                                                                                                                                                    |
+| |  a2()                                        | |  print u.a2()                                                                 |                                                                                                                                                                                                                                                                                                                                |
+| |  a3()                                        |                                                                                 |                                                                                                                                                                                                                                                                                                                                |
++------------------------------------------------+---------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| | alpha()                                      | | u = UnitCell(2,3.5,4,95,95,105)                                               | returns lattice parameters :math:`\alpha,\ \beta, \gamma\ (\rm {in \ degrees})`                                                                                                                                                                                                                                                |
+| |  beta()                                      | |  print u.alpha()                                                              |                                                                                                                                                                                                                                                                                                                                |
+| |  gamma()                                     |                                                                                 |                                                                                                                                                                                                                                                                                                                                |
++------------------------------------------------+---------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| | alpha1()                                     | | u = UnitCell(2,2,4,90,90,60)                                                  | returns lattice parameters :math:`\alpha_1=\alpha,\ \alpha_2=\beta, \ \alpha_3=\gamma \ (\rm {in \ radians})`. Note: `"International Tables for Crystallography" <http://it.iucr.org/Ba/ch1o1v0001/>`__ notation                                                                                                               |
+| |  alpha2()                                    | |  print u.alpha3()                                                             |                                                                                                                                                                                                                                                                                                                                |
+| |  alpha3()                                    |                                                                                 |                                                                                                                                                                                                                                                                                                                                |
++------------------------------------------------+---------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| | astar()                                      | | u = UnitCell(2,3.5,4)                                                         | returns reciprocal lattice parameters :math:`a^*, b^*, c^* \ (\rm {in \ \AA^{-1}})`                                                                                                                                                                                                                                            |
+| |  bstar()                                     | |  print u.cstar()                                                              |                                                                                                                                                                                                                                                                                                                                |
+| |  cstar()                                     |                                                                                 |                                                                                                                                                                                                                                                                                                                                |
++------------------------------------------------+---------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| | b1()                                         | | u = UnitCell(2,3.5,4)                                                         | returns lattice parameters :math:`b_1=a^*, b_2=b^*, b_3=c^*\ (\rm {in \ \AA^{-1}})`. Note: `"International Tables for Crystallography" <http://it.iucr.org/Ba/ch1o1v0001/>`__ notation                                                                                                                                         |
+| |  b2()                                        | |  print u.b2()                                                                 |                                                                                                                                                                                                                                                                                                                                |
+| |  b3()                                        |                                                                                 |                                                                                                                                                                                                                                                                                                                                |
++------------------------------------------------+---------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| | alphastar()                                  | | u = UnitCell(2,3.5,4,95,95,105)                                               | returns lattice parameters :math:`\alpha^*,\ \beta^*, \gamma^*\ (\rm {in \ degrees})`                                                                                                                                                                                                                                          |
+| |  betastar()                                  | |  print u.alphastar()                                                          |                                                                                                                                                                                                                                                                                                                                |
+| |  gammastar()                                 |                                                                                 |                                                                                                                                                                                                                                                                                                                                |
++------------------------------------------------+---------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| | beta1()                                      | | u = UnitCell(2,2,4,90,90,60)                                                  | returns lattice parameters :math:`\beta_1=\alpha^*,\ \beta_2=\beta^*, \ \beta_3=\gamma^* \ (\rm {in \ radians})`. Note: `"International Tables for Crystallography" <http://it.iucr.org/Ba/ch1o1v0001/>`__ notation                                                                                                            |
+| | beta2()                                      | |  print u.beta3()                                                              |                                                                                                                                                                                                                                                                                                                                |
+| |  beta3()                                     |                                                                                 |                                                                                                                                                                                                                                                                                                                                |
++------------------------------------------------+---------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| set(a,b,c,alpha,beta,gamma,Unit=unit)          | | u = UnitCell()                                                                | sets :math:`a, b, c\ (\rm {in \ \AA}), \ \alpha, \ \beta,\ \gamma \ (\rm {in \ degrees \ or \ radians})` values. The optional parameter "Unit" controls the units for the angles, and can have the value of "Degrees" or "Radians". By default Unit = Degrees                                                                  |
+|                                                | | u.set(2,3.5,4,90,90,90)                                                       |                                                                                                                                                                                                                                                                                                                                |
+|                                                | | u.set(2,3.5,4,90,90,90,Unit = Degrees)                                        |                                                                                                                                                                                                                                                                                                                                |
+|                                                | | u.set(2,3.5,4,0.5\*math.pi,0.5\*math.pi,0.5\*math.pi,Unit = Radians)          |                                                                                                                                                                                                                                                                                                                                |
++------------------------------------------------+---------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| | seta(a)                                      | | u = UnitCell(2,3.5,4)                                                         | sets lattice parameters :math:`a, b, c\ (\rm {in \ \AA})`                                                                                                                                                                                                                                                                      |
+| |  setb(b)                                     | |  u.setc(5)                                                                    |                                                                                                                                                                                                                                                                                                                                |
+| |  setc(c)                                     | | print u.c()                                                                   |                                                                                                                                                                                                                                                                                                                                |
++------------------------------------------------+---------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| | setalpha(alpha,Unit=unit)                    | | u = UnitCell()                                                                | sets :math:`\alpha, \ \beta,\ \gamma \ (\rm {in \ degrees \ or \ radians})` values. The optional parameter "Unit" controls the units for the angles, and can have the value of "Degrees" or "Radians". By default Unit = Degrees                                                                                               |
+| | setbeta(beta,Unit=unit)                      | | u.setalpha(88)                                                                |                                                                                                                                                                                                                                                                                                                                |
+| | setgamma(gamma,Unit=unit)                    | | u.setbeta(95,Unit = Degrees)                                                  |                                                                                                                                                                                                                                                                                                                                |
+|                                                | | u.setgamma(0.5\*math.pi,Unit = Radians)                                       |                                                                                                                                                                                                                                                                                                                                |
++------------------------------------------------+---------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| | d(h,k,l)                                     | | u = UnitCell(2,3.5,4)                                                         | returns :math:`d^{}_{}`-spacing :math:`(\rm in \ \rm \AA)` for given h,k,l coordinates                                                                                                                                                                                                                                         |
+| | d(V3D vector)                                | |  print u.d(1,1,1)                                                             |                                                                                                                                                                                                                                                                                                                                |
+|                                                | |  print u.d(V3D(1,1,1))                                                        |                                                                                                                                                                                                                                                                                                                                |
++------------------------------------------------+---------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| | dstar(h,k,l)                                 | | u = UnitCell(2,3.5,4)                                                         | returns :math:`d^*=1/d \ (\rm in \ \rm \AA^{-1})` for given h,k,l coordinates                                                                                                                                                                                                                                                  |
+| | dstar(V3D vector)                            | |  print u.dstar(1,1,1)                                                         |                                                                                                                                                                                                                                                                                                                                |
+|                                                | |  print u.dstar(V3D(1,1,1))                                                    |                                                                                                                                                                                                                                                                                                                                |
++------------------------------------------------+---------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| recAngle(h1,k1,l1,h2,k2,l2,Unit=unit)          | | u = UnitCell(2,3.5,4)                                                         | returns the angle in reciprocal space between vectors given by :math:`\left(h_1, k_1, l_1\right)` and :math:`\left(h_2, k_2, l_2\right) \ (\rm {in \ degrees \ or \ radians})`. The optional parameter "Unit" controls the units for the angles, and can have the value of "Degrees" or "Radians". By default Unit = Degrees   |
+|                                                | |  print u.recAngle(1,0,0,1,1,0)                                                |                                                                                                                                                                                                                                                                                                                                |
+|                                                | |  print u.recAngle(1,0,0,1,1,1,Unit=Degrees)                                   |                                                                                                                                                                                                                                                                                                                                |
+|                                                | |  print u.recAngle(1,0,0,1,1,0,Unit = Radians)                                 |                                                                                                                                                                                                                                                                                                                                |
++------------------------------------------------+---------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| | volume()                                     | | u = UnitCell(2,3.5,4)                                                         | return the volume of the direct or reciprocal unit cell :math:`(\rm {in \ \AA^3 \ respectively \ \AA^{-3}})`                                                                                                                                                                                                                   |
+| |  recVolume()                                 | |  print u.volume()                                                             |                                                                                                                                                                                                                                                                                                                                |
+|                                                | |  print u.recVolume()                                                          |                                                                                                                                                                                                                                                                                                                                |
++------------------------------------------------+---------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| | getB()                                       | | u = UnitCell(2,3.5,4)                                                         | return the :math:`B^{}_{}` and :math:`B^{-1}_{}` matrices                                                                                                                                                                                                                                                                      |
+| |  getBinv()                                   | |  print u.getB()                                                               |                                                                                                                                                                                                                                                                                                                                |
+|                                                | |  print u.getBinv()                                                            |                                                                                                                                                                                                                                                                                                                                |
++------------------------------------------------+---------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| | getG()                                       | | u = UnitCell(2,3.5,4)                                                         | return the :math:`G^{}_{}` and :math:`G^{*}_{}` metric tensors of the direct and reciprocal lattices                                                                                                                                                                                                                           |
+| |  getGstar()                                  | |  print u.getG()                                                               |                                                                                                                                                                                                                                                                                                                                |
+|                                                | |  print u.getGstar()                                                           |                                                                                                                                                                                                                                                                                                                                |
++------------------------------------------------+---------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| recalculateFromGstar(Gstar 2D 3x3 array)       | | newGstar=array([[2,0,0],[0,0.5,0],[0,0,1]])                                   | recalculates the lattice parameters from the new :math:`G^{*}_{}` and sets them to the current UnitCell object                                                                                                                                                                                                                 |
+|                                                | | u=UnitCell()                                                                  |                                                                                                                                                                                                                                                                                                                                |
+|                                                | | u.recalculateFromGstar(newGstar)                                              |                                                                                                                                                                                                                                                                                                                                |
++------------------------------------------------+---------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+Oriented lattices
+-----------------
+
+All the functions defined for UnitCell are inherited by the
+OrientedLattice objects. In addition, the following functions are
+defined for OrientedLattice only:
+
++-------------------------------------------------------+----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Function                                              | Example                                                                                | Description                                                                                                                                                                                                                                                                                                                                     |
++=======================================================+========================================================================================+=================================================================================================================================================================================================================================================================================================================================================+
+| OrientedLattice()                                     | o = OrientedLattice()                                                                  | default constructor, with :math:`a=b=c=1\rm \AA, \ \alpha=\beta=\gamma=90^\circ`. The :math:`U^{}_{}` matrix is set to identity                                                                                                                                                                                                                 |
++-------------------------------------------------------+----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| OrientedLattice(other oriented lattice)               | | o = OrientedLattice()                                                                | copy constructor                                                                                                                                                                                                                                                                                                                                |
+|                                                       | |  o2 = OrientedLattice(o)                                                             |                                                                                                                                                                                                                                                                                                                                                 |
++-------------------------------------------------------+----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| OrientedLattice(a,b,c)                                | o = OrientedLattice(2,3.5,4)                                                           | constructor using :math:`a, b, c\ (\rm {in \ \AA}), \ \alpha=\beta=\gamma=90^\circ`. The :math:`U^{}_{}` matrix is set to identity                                                                                                                                                                                                              |
++-------------------------------------------------------+----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| OrientedLattice(a,b,c,alpha,beta,gamma,Unit = unit)   | | o = OrientedLattice(2,3.5,4,90,90,90)                                                | constructor using :math:`a, b, c\ (\rm {in \ \AA}), \ \alpha, \ \beta,\ \gamma \ (\rm {in \ degrees \ or \ radians})`. The optional parameter "Unit" controls the units for the angles, and can have the value of "Degrees" or "Radians". By default Unit = Degrees. The :math:`U^{}_{}` matrix is set to identity                              |
+|                                                       | | o = OrientedLattice(2,3.5,4,90,90,90,Unit = Degrees)                                 |                                                                                                                                                                                                                                                                                                                                                 |
+|                                                       | | o = OrientedLattice(2,3.5,4,0.5\*math.pi,0.5\*math.pi,0.5\*math.pi,Unit = Radians)   |                                                                                                                                                                                                                                                                                                                                                 |
++-------------------------------------------------------+----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| OrientedLattice(unit cell)                            | | u=UnitCell(2,3,4)                                                                    | constructor from UnitCell. The :math:`U^{}_{}` matrix is set to identity                                                                                                                                                                                                                                                                        |
+|                                                       | |  o = OrientedLattice(u)                                                              |                                                                                                                                                                                                                                                                                                                                                 |
++-------------------------------------------------------+----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| | getU()                                              | | o.OrientedLattice(2,3.5,4)                                                           | return the :math:`U^{}_{}` and :math:`UB^{}_{}` matrices                                                                                                                                                                                                                                                                                        |
+| |  getUB()                                            | |  print u.getU()                                                                      |                                                                                                                                                                                                                                                                                                                                                 |
+|                                                       | |  print u.getUB()                                                                     |                                                                                                                                                                                                                                                                                                                                                 |
++-------------------------------------------------------+----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| | setU()                                              | | o.OrientedLattice(2,3.5,4)                                                           | sets the :math:`U^{}_{}` and :math:`UB^{}_{}` matrices. for setUB function, it will calculate first the lattice parameters, then the :math:`B^{}_{}` matrix, and then :math:`U^{}_{}`. See `#Note about orientation <#Note_about_orientation>`__                                                                                                |
+| |  setUB()                                            | |  newU=array([[0,1,0],[1,0,0],[0,0,-1]])                                              |                                                                                                                                                                                                                                                                                                                                                 |
+|                                                       | | o.setU(newU)                                                                         |                                                                                                                                                                                                                                                                                                                                                 |
+|                                                       | |  newUB=array([[2,1,0],[1,2,0],[2,0,-1]])                                             |                                                                                                                                                                                                                                                                                                                                                 |
+|                                                       | | o.setUB(newUB)                                                                       |                                                                                                                                                                                                                                                                                                                                                 |
++-------------------------------------------------------+----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| setUFromVectors(v1,v2)                                | | o.OrientedLattice(2,3.5,4)                                                           | recalculates and sets the :math:`U^{}_{}` matrix, such as the first vector is along the beam direction, and the second vector is in the horizontal plane. See `#Note about orientation <#Note_about_orientation>`__. In python, the v1 and v2 vectors can be of type V3D, or length 3 list, or length 3 numpy array, not necessarily the same   |
+|                                                       | |  o.setUFromVectors([1,0,0],[0,1,0])                                                  |                                                                                                                                                                                                                                                                                                                                                 |
+|                                                       | |  o.setUFromVectors(array([1,0,0]),array([0,1,0]))                                    |                                                                                                                                                                                                                                                                                                                                                 |
+|                                                       | |  o.setUFromVectors(V3D(1,0,0),V3D(0,1,0))                                            |                                                                                                                                                                                                                                                                                                                                                 |
++-------------------------------------------------------+----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| | getuVector()                                        | | o.OrientedLattice(2,3.5,4)                                                           | getuVector returns a vector along beam direction, while getvVector returns a vector in the horizontal plane, perpendicular to the beam direction (see `http://horace.isis.rl.ac.uk/Getting_started <http://horace.isis.rl.ac.uk/Getting_started>`__). See `#Note about orientation <#Note_about_orientation>`__                                 |
+| |  getvVector()                                       | |  o.setUFromVectors([5,5,0],[-2,1,0])                                                 |                                                                                                                                                                                                                                                                                                                                                 |
+|                                                       | |  print o.getuVector()                                                                |                                                                                                                                                                                                                                                                                                                                                 |
+|                                                       | |  print o.getvVector()                                                                |                                                                                                                                                                                                                                                                                                                                                 |
++-------------------------------------------------------+----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+Note about orientation
+----------------------
+
+Most of the instruments have incident beam along the :math:`\mathbf{z}`
+direction. For an orthogonal lattice with :math:`\mathbf{a}^*` along
+:math:`\mathbf{z}`, :math:`\mathbf{b}^*` along :math:`\mathbf{x}`, and
+:math:`\mathbf{c}^*` along :math:`\mathbf{y}`, the :math:`U^{}_{}`
+matrix has the form:
+
+:math:`U =  \left( \begin{array}{ccc}
+        0 & 1 & 0 \\
+        0 & 0 & 1 \\
+        1 & 0 & 0 \end{array} \right)`
+
+
+
+.. categories:: Concepts
\ No newline at end of file
diff --git a/Code/Mantid/docs/source/concepts/MDHistoWorkspace.rst b/Code/Mantid/docs/source/concepts/MDHistoWorkspace.rst
new file mode 100644
index 00000000000..622926d6813
--- /dev/null
+++ b/Code/Mantid/docs/source/concepts/MDHistoWorkspace.rst
@@ -0,0 +1,131 @@
+.. _MDHistoWorkspace:
+
+MDHistoWorkspace
+================
+
+The MDHistoWorkspace is a simple multi-dimensional workspace. In
+contrast to the `MDEventWorkspace <MDEventWorkspace>`__, which contains
+points in space, the MDHistoWorkspace consists of a signal and error
+spread around space on a regular grid.
+
+In a way, the MDHistoWorkspace is to a
+`MDEventWorkspace <MDEventWorkspace>`__ is what the
+`Workspace2D <Workspace2D>`__ is to the
+`EventWorkspace <EventWorkspace>`__.
+
+Creating a MDHistoWorkspace
+---------------------------
+
+MDHistoWorkspaces typically have 3 or 4 dimensions, although they can be
+created in up to 9 dimensions.
+
+-  You can bin a `MDEventWorkspace <MDEventWorkspace>`__ to a
+   MDHistoWorkspace using the `BinMD <BinMD>`__ algorithm.
+
+   -  You can use `CreateMDWorkspace <CreateMDWorkspace>`__ to create a
+      blank MDEventWorkspace first, if you do not have data to bin.
+
+-  `Paraview <Paraview>`__ and the `Vates Simple
+   Interface <VatesSimpleInterface>`__ will create a MDHistoWorkspace
+   from a `MDWorkspace <MDWorkspace>`__ when rebinning on a regular
+   grid.
+
+Viewing a MDHistoWorkspace
+--------------------------
+
+-  MDHistoWorkspaces can be created and visualized directly within
+   `Paraview <Paraview>`__ and the `Vates Simple
+   Interface <VatesSimpleInterface>`__ when rebinning along a regular
+   grid.
+-  You can right-click on the workspace and select:
+
+   -  **Plot MD**: to perform a 1D plot of the signal in the workspace
+      (only works on 1D MDHistoWorkspaces).
+   -  **Show Slice Viewer**: to open the `Slice
+      Viewer <MantidPlot:_SliceViewer>`__, which shows 2D slices of the
+      multiple-dimension workspace.
+
+Arithmetic Operations
+---------------------
+
+The following algorithms allow you to perform simple arithmetic on the
+values:
+
+-  `MinusMD <MinusMD>`__, `PlusMD <PlusMD>`__, `DivideMD <DivideMD>`__,
+   `MultiplyMD <MultiplyMD>`__
+-  `ExponentialMD <ExponentialMD>`__, `PowerMD <PowerMD>`__,
+   `LogarithmMD <LogarithmMD>`__
+
+These arithmetic operations propagate errors as described
+`here <http://en.wikipedia.org/wiki/Propagation_of_uncertainty#Example_formulas>`__.
+The formulas used are described in each algorithm's wiki page.
+
+The basic arithmetic operators are available from python. For example:
+
+| ``# Get two workspaces``
+| ``A = mtd['workspaceA']``
+| ``B = mtd['workspaceB']``
+| ``# Creating a new workspace``
+| ``C = A + B``
+| ``C = A - B``
+| ``C = A * B``
+| ``C = A / B``
+| ``# Modifying a workspace in-place``
+| ``C += A``
+| ``C -= A``
+| ``C *= A``
+| ``C /= A``
+| ``# Operators with doubles``
+| ``C = A * 12.3``
+| ``C *= 3.45``
+
+Compound arithmetic expressions can be made, e.g:
+
+``E = (A - B) / (C - D)``
+
+Boolean Operations
+~~~~~~~~~~~~~~~~~~
+
+The MDHistoWorkspace can be treated as a boolean workspace. In this
+case, 0.0 is "false" and 1.0 is "true".
+
+The following operations can create a boolean MDHistoWorkspace:
+
+-  `LessThanMD <LessThanMD>`__, `GreaterThanMD <GreaterThanMD>`__,
+   `EqualToMD <EqualToMD>`__
+
+These operations can combine/modify boolean MDHistoWorkspaces:
+
+-  `NotMD <NotMD>`__, `AndMD <AndMD>`__, `OrMD <OrMD>`__,
+   `XorMD <XorMD>`__
+
+These boolean operators are available from python. Make sure you use the
+bitwise operators: & \| ^ ~ , not the "word" operators (and, or, not).
+For example:
+
+| ``# Create boolean workspaces by comparisons``
+| ``C = A > B``
+| ``D = B < 12.34``
+| ``# Combine boolean workspaces using not, or, and, xor:``
+| ``not_C = ~C``
+| ``C_or_D = C | D``
+| ``C_and_D = C & D``
+| ``C_xor_D = C ^ D``
+| ``C |= D``
+| ``C &= D``
+| ``C ^= D``
+
+| ``# Compound expressions can be used:``
+| ``D = (A > 123) & (A > B) & (A < 456)``
+
+Using Boolean Masks
+^^^^^^^^^^^^^^^^^^^
+
+The `SetMDUsingMask <SetMDUsingMask>`__ algorithm allows you to modify
+the values in a MDHistoWorkspace using a mask created using the boolean
+operations above. See the `algorithm wiki page <SetMDUsingMask>`__ for
+more details.
+
+
+
+.. categories:: Concepts
\ No newline at end of file
diff --git a/Code/Mantid/docs/source/concepts/MDWorkspace.rst b/Code/Mantid/docs/source/concepts/MDWorkspace.rst
new file mode 100644
index 00000000000..804a8434a6d
--- /dev/null
+++ b/Code/Mantid/docs/source/concepts/MDWorkspace.rst
@@ -0,0 +1,106 @@
+.. _MDWorkspace:
+
+MDWorkspace
+===========
+
+The MDWorkspace (short for "Multi-Dimensional" Workspace) is a generic
+data structure holdings points (MDEvents) that are defined by their
+position in several dimensions. See also
+`MDHistoWorkspace <MDHistoWorkspace>`__.
+
+Description of MDWorkspace
+--------------------------
+
+-  **Dimensions**: A MDWorkspace can have between 1 and 9 dimensions.
+
+   -  Each dimension is defined with a name, units, and minimum/maximum
+      extents.
+
+-  **MDEvent**: A MDEvent is simply a point in space defined by its
+   coordinates, plus a signal (weight) and error.
+
+   -  The MDLeanEvent type contains only coordinates, signal and error.
+   -  The MDEvent type also contains a run index (for multiple runs
+      summed into one workspace) and a detector ID, allowing for more
+      information to be extracted.
+
+-  The class is named MDEventWorkspace.
+
+Structure
+~~~~~~~~~
+
+The MDWorkspace is a container that can hold a large number of MDEvents.
+The events are organized into "boxes": types are MDBox and MDGridBox. At
+the simplest level, an MDWorkspace will be a single MDBox with an
+unsorted bunch of events.
+
+In order to allow for efficient searching and binning of these events,
+the boxes are organized into a recursive boxing structure (adaptive mesh
+refinement). During MDWorkspace construction, if a MDBox is found to
+contain too many events, it will be split into smaller boxes.
+
+.. figure:: MDWorkspace_structure.png
+   :alt: MDWorkspace_structure.png
+
+   MDWorkspace\_structure.png
+The threshold for splitting is defined in
+`CreateMDWorkspace <CreateMDWorkspace>`__ as the SplitThreshold
+parameter. Each parent box will get split into N sub-boxes in each
+dimension. For example, in a 2D workspace, you might split a parent box
+into 4x4 sub-boxes, creating 16 MDBoxes under the parent box (which
+becomes a MDGridBox). The level of splitting is defined in the SplitInto
+parameter.
+
+Creating a MDWorkspace
+----------------------
+
+There are several algorithms that will create a MDWorkspace:
+
+-  `CreateMDWorkspace <CreateMDWorkspace>`__ creates a blank MDWorkspace
+   with any arbitrary set of dimensions.
+-  `ConvertToDiffractionMDWorkspace <ConvertToDiffractionMDWorkspace>`__
+   converts an `EventWorkspace <EventWorkspace>`__ or
+   `Workspace2D <Workspace2D>`__ from detector space to reciprocal
+   space, for elastic single-crystal or powder diffraction experiments.
+-  `ConvertToMDEvents <ConvertToMDEvents>`__ converts workspaces for
+   inelastic experiments.
+-  `SliceMD <SliceMD>`__ takes a slice out of a MDWorkspace to create a
+   new one.
+-  `LoadSQW <LoadSQW>`__ converts from the SQW format.
+
+File-Backed MDWorkspaces
+------------------------
+
+For workspaces with a large number of events that would not fit in
+memory, it is possible to use a NXS file back-end as a data store. The
+box structure will always remain in memory, but the underlying events
+will be stored in a file and retrieved only when required. This can be
+set at creation (`CreateMDWorkspace <CreateMDWorkspace>`__) or when
+loading from a file, or an in-memory MDWorkspace can be converted to
+file-backed with the `SaveMD <SaveMD>`__ algorithm.
+
+Because of disk IO, file-backed MDWorkspaces are slower to process for
+some operations (e.g. binning or slicing). Some types of visualization
+and analysis, however, are just as fast with file-backed MDWorkspaces as
+their in-memory equivalent.
+
+Viewing MDWorkspaces
+--------------------
+
+-  Right-click on a MDWorkspace and select:
+
+   -  **Show Vates Simple Interface**: to open a `simplified 3D
+      view <VatesSimpleInterface>`__ based on `Paraview <Paraview>`__.
+   -  **Show Slice Viewer**: to open the `Slice
+      Viewer <MantidPlot:_SliceViewer>`__, which shows 2D slices of the
+      multiple-dimensional workspace.
+
+-  You can also `use Python script to open the
+   SliceViewer <SliceViewer Python Interface>`__.
+
+Or, you can load a MDWorkspace .nxs file in `Paraview <Paraview>`__ if
+the proper plugin is installed.
+
+
+
+.. categories:: Concepts
\ No newline at end of file
diff --git a/Code/Mantid/docs/source/concepts/MatrixWorkspace.rst b/Code/Mantid/docs/source/concepts/MatrixWorkspace.rst
new file mode 100644
index 00000000000..95e58ef449f
--- /dev/null
+++ b/Code/Mantid/docs/source/concepts/MatrixWorkspace.rst
@@ -0,0 +1,41 @@
+.. _MatrixWorkspace:
+
+MatrixWorkspace
+===============
+
+What information is in a MatrixWorkspace
+----------------------------------------
+
+Mandatory:
+
+-  Measured or derived data with associated errors
+
+Optionally:
+
+-  `Axes <Interacting_with_Workspaces#Axes>`__ with
+   `Units <Unit Factory>`__
+-  Sample and sample environment data
+-  Run logs
+-  A full `instrument <instrument>`__ geometric definition, along with
+   an instrument parameter map
+-  A spectra - detector map
+-  A distribution flag
+-  A list of 'masked' bins
+
+Concrete Matrix Workspaces
+--------------------------
+
+-  WorkspaceSingleValue - Holds a single number (and X & error value, if
+   desired). Mainly used for workspace algebra, e.g. to divide all bins
+   in a 2D workspace by a single value.
+-  `Workspace2D <Workspace2D>`__ - A workspace for holding two
+   dimensional data in memory. This is the most commonly used workspace.
+-  `EventWorkspace <EventWorkspace>`__ - A workspace that retains the
+   individual neutron event data.
+
+More information on working with them: `Interacting with Matrix
+Workspaces <Interacting with Matrix Workspaces>`__.
+
+
+
+.. categories:: Concepts
\ No newline at end of file
diff --git a/Code/Mantid/docs/source/concepts/Nexus_file.rst b/Code/Mantid/docs/source/concepts/Nexus_file.rst
new file mode 100644
index 00000000000..6b233d12d9a
--- /dev/null
+++ b/Code/Mantid/docs/source/concepts/Nexus_file.rst
@@ -0,0 +1,26 @@
+.. _Nexus file:
+
+Nexus_file
+==========
+
+A **Nexus file** is a type of data file used by ISIS traget station 2
+and by MantidPlot. The format appears to be like an XML file plus some
+unprintable characters.
+
+ManditPlot is capable of saving certain types of
+`workspace <workspace>`__ as a Nexus file. It can also save a
+`project <project>`__ as a mantid file plus Nexus files.
+
+Structure
+---------
+
+To be completed.
+
+See also
+--------
+
+`RAW File <RAW File>`__ an older data file format.
+
+
+
+.. categories:: Concepts
\ No newline at end of file
diff --git a/Code/Mantid/docs/source/concepts/Plugin.rst b/Code/Mantid/docs/source/concepts/Plugin.rst
new file mode 100644
index 00000000000..8184f95fabd
--- /dev/null
+++ b/Code/Mantid/docs/source/concepts/Plugin.rst
@@ -0,0 +1,74 @@
+.. _Plugin:
+
+Plugin
+======
+
+What is it?
+-----------
+
+Mantid is designed to be extensible by anyone who can write a simple
+library in C++. There are several areas that have been built so that new
+version and instances can be added just by copying a library with the
+new code into the plugin directory before starting mantid. This
+eliminates the need to recompile the main Mantid code or any user
+interfaces derived from it when you want to extend it by, for example,
+adding a new algorithm.
+
+What is a plugin?
+-----------------
+
+A plugin is a library of one or more classes that include the
+functionality that you need. Within the outputs of the Mantid project
+Several of the libraries we deliver are created as plugins. Examples
+are:
+
+-  MantidAlgorithms - Contains the general `algorithms <Algorithm>`__
+-  MantidDataHandling - Contains the basic data loading and saving
+   `algorithms <Algorithm>`__
+-  MantidNexus - Contains the `algorithms <Algorithm>`__ for handling
+   nexus files
+-  MantidDataObjects - Contains the definitions of the standard
+   `workspaces <Workspace>`__
+
+How can you extend Mantid?
+--------------------------
+
+The following areas have been designed to be easily extensible through
+using plugins. Each one contains more details in case you wish to create
+one of your own.
+
+-  `Algorithm <Algorithm>`__
+-  `Workspace <Workspace>`__
+-  `Unit <Unit>`__
+
+How do you create a plugin?
+---------------------------
+
+There is nothing special about the library you build in order for it to
+be used as a plugin, as long as it contains one or more algorithms,
+workspaces or units (they can be mixed) they will automatically be
+registered and available for use.
+
+How does it work?
+-----------------
+
+Each of the extensible units within Mantid shares a base class that all
+further objects of that type inherit from. For example all algorithms
+must inherit from the Algorithm base class. This allows all uses of
+those objects to work through the interface of the base class, and the
+user (or other code) does not need to know what the algorithm actually
+is, just that it is an algorithm.
+
+In addition each of the extensible units has a macro that adds some code
+that automatically registers the class with the appropriate `dynamic
+factory <Dynamic_Factory>`__. This code executes immediately when the
+library is loaded and is what makes you new objects available for use.
+All of these macros start DECLARE and, for example, the one for
+algorithms is:
+
+-  ``DECLARE_ALGORITHM(classname)`` (or ``namespace::classname`` if the
+   declaration is not enclosed in the algorithm's namespace)
+
+
+
+.. categories:: Concepts
\ No newline at end of file
diff --git a/Code/Mantid/docs/source/concepts/Project.rst b/Code/Mantid/docs/source/concepts/Project.rst
new file mode 100644
index 00000000000..3972edb7c75
--- /dev/null
+++ b/Code/Mantid/docs/source/concepts/Project.rst
@@ -0,0 +1,24 @@
+.. _Project:
+
+Project
+=======
+
+In MantidPlot, you can save your work into project. Then when you run
+MantidPlot at a later time you can recover this work by loading the
+project.
+
+What a Project Consists of
+--------------------------
+
+A project consists of a .mantid file and a collection of `Nexus
+files <Nexus file>`__ it refers to. For this reason, a project is put
+into its own folder when saved.
+
+See Also
+--------
+
+MantidPlot:_The_File_Menu for how to save or load a project
+
+
+
+.. categories:: Concepts
\ No newline at end of file
diff --git a/Code/Mantid/docs/source/concepts/Properties.rst b/Code/Mantid/docs/source/concepts/Properties.rst
new file mode 100644
index 00000000000..ca99e0d6fa3
--- /dev/null
+++ b/Code/Mantid/docs/source/concepts/Properties.rst
@@ -0,0 +1,191 @@
+.. _Properties:
+
+Properties
+==========
+
+Properties in Mantid are the mechanism by which we pass parameters into
+`algorithms <algorithm>`__. There are a number of different types of
+properties, and these are described below.
+
+Types of Properties
+-------------------
+
+Single Value Properties
+~~~~~~~~~~~~~~~~~~~~~~~
+
+This is the simplest type of property, which is essentially a name-value
+pair. Currently, single value properties of type integer (``int``),
+floating point (``double``), string (``std::string``) and boolean
+(``bool``) are supported. The C++ class which implements this kind of
+property is called
+`PropertyWithValue <http://doxygen.mantidproject.org/classMantid_1_1Kernel_1_1PropertyWithValue.html>`__.
+
+Array Properties
+~~~~~~~~~~~~~~~~
+
+Sometimes, a multi-element parameter may be required (a list of spectra
+to process, for example). This is achieved using an
+`ArrayProperty <http://doxygen.mantidproject.org/classMantid_1_1Kernel_1_1ArrayProperty.html>`__
+(which is actually a PropertyWithValue - see above - of type
+std::vector). It can be created in a number of ways:
+
+-  As an empty vector: ``ArrayProperty<double>("PropertyName");``
+-  By passing in an existing vector:
+   ``ArrayProperty<double>("PropertyName",myStdVecOfDoubles);``
+-  By passing in a string of comma-separated values:
+   ``ArrayProperty<int>("PropertyName","1,2,3,4");``
+
+A validator (see below) argument can optionally be appended to all of
+these options.
+
+An ArrayProperty can be declared in a algorithm as follows:
+
+``declareProperty(new ArrayProperty``\ \ ``(...));``
+
+or, if creating using an already existing vector:
+
+``declareProperty("PropertyName",myVector);``
+
+File Properties
+~~~~~~~~~~~~~~~
+
+These properties are for capturing and holding the path and filename to
+an external file. File properties have a FileAction property that
+controls it's purpose and behavior.
+
+Save :to specify a file to write to, the file may or may not exist
+OptionalSave :to specify a file to write to but an empty string is
+allowed here which will be passed to the algorithm
+Load :to specify a file to open for reading, the file must exist
+OptionalLoad :to specify a file to read but the file doesn't have to
+exist
+
+If the file property is has a FileAction of Load as is given a relative
+path (such as "input.txt" or "\\data\\input.txt" as its value it will
+search for matching files in this order:
+
+#. The current directory
+#. The entries in order from the datasearch.directories entry in the
+   `Properties File <Properties File#Directory_Properties>`__
+
+If the file property is has a FileAction of Save as is given a relative
+path (such as "input.txt" or "\\data\\input.txt" as its value it will
+assume that path starts from the location definied in the
+defaultsave.directory entry in the `Properties
+File <Properties File#Directory_Properties>`__.
+
+A FileProperty can be declared in a algorithm as follows:
+
+| ``declareProperty(new Kernel::FileProperty("Filename","",``
+| ``  Kernel::FileProperty::Load), "Descriptive text");``
+
+or for saving a file providing a suggested extension
+
+| ``declareProperty(new Kernel::FileProperty("Filename","",``
+| ``  Kernel::FileProperty::Save, ``
+| ``  std::vector``\ \ ``(1,"cal")), "Descriptive text");``
+
+Workspace Properties
+~~~~~~~~~~~~~~~~~~~~
+
+Properties for holding `workspaces <workspace>`__ are more complicated,
+in that they need to hold links both to the workspace name (in the
+`Analysis Data Service <Analysis Data Service>`__) and the workspace
+itself. When setting or retrieving the value as a string (i.e. using the
+``setValue`` or ``value`` methods) you are interacting with the
+workspace's name; other methods interact with a `shared
+pointer <Shared Pointer>`__ to the workspace.
+
+The syntax to declare a
+`WorkspaceProperty <http://doxygen.mantidproject.org/classMantid_1_1API_1_1WorkspaceProperty.html>`__
+in an algorithm is:
+
+``declareProperty(new WorkspaceProperty("PropertyName","WorkspaceName",direction));``
+
+In this case, the direction (see below) must be explicitly declared. An
+optional `validator <Properties#Validators>`__ may also be appended to
+the above declaration.
+
+Other 'Property Properties'
+---------------------------
+
+Default values
+~~~~~~~~~~~~~~
+
+If a property is empty
+
+-  in a GUI algorithm call, then the property's default value is used
+   (if there is any)
+-  in a Python API call, then the property's value is left empty.
+
+Direction
+~~~~~~~~~
+
+All properties have a direction. They can be input or output properties,
+or both. The default is always input. Technically, these are a C++ enum,
+which can have the following values:
+
+| ``Mantid::Kernel::Direction::Input``
+| ``Mantid::Kernel::Direction::Output``
+| ``Mantid::Kernel::Direction::InOut``
+
+This is what should be passed in when a direction argument is required.
+The InOut option is principally used by workspace properties, when a
+single workspace is to be input and manipulated by as algorithm rather
+than a new one created to store the result.
+
+Validators
+~~~~~~~~~~
+
+A validator is an external object that is used to verify that the value
+of a property is suitable for a particular algorithm. If no validator is
+given, then the property can have any value (of the correct type).
+Validators are checked immediately before an algorithm is executed, when
+the value of a property is set (which will fail if it doesn't pass the
+validator) and through the MantidPlot interface to an algorithm.
+
+The validators currently included in Mantid are:
+
+-  BoundedValidator - restricts a numeric property to a particular
+   range.
+-  MandatoryValidator - requires that a string or array property not be
+   empty.
+-  ListValidator - restricts a string property to one of a particular
+   set of values.
+-  FileValidator - ensures that a file (given as a string property)
+   exists (used internally by the FileProperty).
+
+In addition, there are a number of validators specifically for use with
+Workspace properties:
+
+-  InstrumentValidator - checks that the workspace has an Instrument
+   object.
+-  WorkspaceUnitValidator - checks that the workspace has a specified
+   unit.
+-  HistogramValidator - requires that the workspace contains histogram
+   data (or not).
+-  RawCountValidator - requires that the workspace data is raw counts.
+-  CommonBinsValidator - checks that all spectra in a workspace have the
+   same bins.
+-  SpectraAxisValidator - checks that the axis of the workspace contains
+   spectra numbers.
+-  NumericAxisValidator - checks that the axis of the workspace contains
+   numeric data.
+-  CompositeValidator - enables combination of more that one of the
+   above validators for the same WorkspaceProperty.
+
+In addition to the above, if used, Workspace properties also have a
+built in validator that requires that input workspaces exist and are of
+the correct type and that output workspaces have a name set.
+
+For more details on using validators, see the
+`PropertyAlgorithm <https://github.com/mantidproject/mantid/blob/master/Code/Mantid/Framework/UserAlgorithms/PropertyAlgorithm.cpp>`__
+example or the full documentation for the individual validators (linked
+above).
+
+Writing your own validator is relatively straightforward - it simply has
+to implement the IValidator interface.
+
+
+
+.. categories:: Concepts
\ No newline at end of file
diff --git a/Code/Mantid/docs/source/concepts/Properties_File.rst b/Code/Mantid/docs/source/concepts/Properties_File.rst
new file mode 100644
index 00000000000..8be3575067c
--- /dev/null
+++ b/Code/Mantid/docs/source/concepts/Properties_File.rst
@@ -0,0 +1,7 @@
+.. _Properties File:
+
+Properties_File
+===============
+
+
+.. categories:: Concepts
\ No newline at end of file
diff --git a/Code/Mantid/docs/source/concepts/RAW_File.rst b/Code/Mantid/docs/source/concepts/RAW_File.rst
new file mode 100644
index 00000000000..4816964d89a
--- /dev/null
+++ b/Code/Mantid/docs/source/concepts/RAW_File.rst
@@ -0,0 +1,85 @@
+.. _RAW File:
+
+RAW_File
+========
+
+The RAW file format has been for many years the primary data format of
+the ISIS facility.
+
+Structure
+---------
+
+The Raw file is a binary formatted file that uses a simple but effective
+compression system to achieve 4-1 compression of the data in holds.
+
+Compression
+-----------
+
+To be completed later
+
+Alternate Data Streams
+----------------------
+
+When the Raw file is archived to the NTFS archive additional information
+about it is added as an Alternate Data Stream. This includes a list of
+all of the files that were archived with this RAW file and a checksum
+for each. This can provide a fast way of finding the log files
+associated with a RAW file in a crowded directory.
+
+For example:
+
+::
+
+    d28cb560cdefc765fc8d550b6f335006 *SANS2D00000799.log
+    52526cd14652284c2748e905ff74fc4b *SANS2D00000799.nxs
+    7d3b5776c32b63aa76b9e36d2e7ec348 *SANS2D00000799.raw
+    de230169cda344118d26315dd31c0fb4 *SANS2D00000799.s001
+    cbd0685b6ce19781fca13ba4395318d9 *SANS2D00000799.s01
+    f9b9aa805179598207d6bf713eacd5a7 *SANS2D00000799_Beam_Shutter.txt
+    d10238be18d69d21f8890f73805795bb *SANS2D00000799_Changer.txt
+    acc92b1223bb93ad85e03b523639142a *SANS2D00000799_Fast_Shutter.txt
+    671d77b4d2d9a1deee3e6dc9c3db9875 *SANS2D00000799_Height.txt
+    2eb44a65f79f73e194cdcd48d38385b4 *SANS2D00000799_ICPdebug.txt
+    0268e471a0ae4c0382ffb81622e03dde *SANS2D00000799_ICPevent.txt
+    3cda6c3f179c6f70fea82e9ad9e75360 *SANS2D00000799_ICPstatus.txt
+    19ea5cbe0e57b01db61b01ba24f70bc5 *SANS2D00000799_Julabo.txt
+    2e6bb0fe5965527d1cb319fff0df928d *SANS2D00000799_Moderator_Temp.txt
+    604946b7385f8d08ff9c9eb47b0803c2 *SANS2D00000799_Sample.txt
+    cf5022506705b6ba5c850edd824088be *SANS2D00000799_Status.txt
+    54e4a8e82fe00cd5e9263bb14506682f *SANS2D00000799_Table.txt
+
+In the links below you will streams or DIR on Vista can list the streams
+on a file. Not many programs can display the contents of an alternate
+data stream, but so far I have discovered that the following work, at
+least for RAW files.
+
+::
+
+    notepad2.exe SANS2D00000799.raw:checksum
+    more < SANS2D00000799.raw:checksum 
+
+If a file with an alternate data stream is copied to an FAT file system
+the alternate data stream is lost. It has been reported that if a file
+with an ADS is copied using SAMBA to a unix file system the streams are
+extracted into seperate files with automatically generates suffixes.
+
+More information about Alternate Data Streams
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+-  `Microsoft support
+   article <http://support.microsoft.com/kb/105763>`__
+-  `DIR command on Vista can list Alternate
+   streams <http://bartdesmet.net/blogs/bart/archive/2006/07/13/4129.aspx>`__
+-  `Streams.exe from SysInternals can list alternate
+   streams <http://technet.microsoft.com/en-us/sysinternals/bb897440.aspx>`__
+-  `Practical Guide to Alternative Data Streams in
+   NTFS <http://www.irongeek.com/i.php?page=security/altds>`__
+
+See also
+~~~~~~~~
+
+`Nexus file <Nexus file>`__ a newer type of data file
+
+
+
+.. categories:: Concepts
\ No newline at end of file
diff --git a/Code/Mantid/docs/source/concepts/Run.rst b/Code/Mantid/docs/source/concepts/Run.rst
new file mode 100644
index 00000000000..53df6475223
--- /dev/null
+++ b/Code/Mantid/docs/source/concepts/Run.rst
@@ -0,0 +1,71 @@
+.. _Run:
+
+Run
+===
+
+What is it?
+-----------
+
+A Run holds data related to the properties of the experimental run, e.g.
+good proton charge, total frames etc. It also holds all of the sample
+log files as sets of time-series data. Currently used properties within
+Mantid includes *run\_start*, which specified the date the data were
+collected. Where an instrument has been modified over time, and multiple
+`instrument definition files <InstrumentDefinitionFile>`__ have been
+defined for it, this property is used to loads the IDF valid when the
+data were collected.
+
+What information is stored here?
+--------------------------------
+
+On loading experimental data there is a default set of properties that
+are populated within the run. These are as follows:
+
+ISIS (not including ISIS Muon data)
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+-  **run\_header** - The complete header for this run
+-  **run\_title** - The run title
+-  **run\_start** - Start date and time. Format: YYYY-MM-DD HH:MM:SS (+)
+-  **run\_end** - End date and time. Format: YYYY-MM-DD HH:MM:SS (+)
+-  **nspectra** - The number of spectra in the raw data file
+-  **nchannels** - The number of time channels in the raw data
+-  **nperiods** - The number of periods within the raw data
+-  **dur** - The run duration
+-  **durunits** - The units of the run duration, 1 = seconds
+-  **dur\_freq** - Test interval for above
+-  **dmp** - Dump interval
+-  **dmp\_units** - The units (scaler) for above
+-  **dmp\_freq** - Test interval for above
+-  **freq** - 2\*\*k where source frequency = 50 / 2\*\*k
+-  **gd\_prtn\_chrg** - Good proton charge (uA.hour)
+-  '''tot\_prtn\_chrg\* '''- Total proton charge (uA.hour)
+-  **goodfrm** - Good frames
+-  '''rawfrm\* '''- Raw frames
+-  **dur\_wanted** - Requested run duration (units as for "duration"
+   above)
+-  **dur\_secs** - Actual run duration in seconds
+-  **mon\_sum1** - Monitor sum 1
+-  **mon\_sum2** - Monitor sum 2
+-  **mon\_sum3** - Monitor sum 3
+-  **rb\_proposal** - The proposal number
+
+ISIS Muon data
+^^^^^^^^^^^^^^
+
+-  **run\_title** - The run title
+-  **run\_start** - Start date and time. Format: YYYY-MM-DD HH:MM:SS (+)
+-  **run\_end** - End date and time. Format: YYYY-MM-DD HH:MM:SS (+)
+-  **nspectra** - The number of spectra in the raw data file
+-  **goodfrm** - Good frames
+-  **dur\_secs** - Run duration in seconds
+-  **run\_number** - Run number
+-  **sample\_temp** - Temperature of the sample
+-  **sample\_magn\_field** - Magnetic field of the sample
+
+(+) or YYYY-MM-DDTHH:MM:SS (ISO 8601 format, see
+`1 <http://en.wikipedia.org/wiki/ISO_8601>`__)
+
+
+
+.. categories:: Concepts
\ No newline at end of file
diff --git a/Code/Mantid/docs/source/concepts/Shared_Pointer.rst b/Code/Mantid/docs/source/concepts/Shared_Pointer.rst
new file mode 100644
index 00000000000..f6454bb03fc
--- /dev/null
+++ b/Code/Mantid/docs/source/concepts/Shared_Pointer.rst
@@ -0,0 +1,61 @@
+.. _Shared Pointer:
+
+Shared_Pointer
+==============
+
+What are they?
+--------------
+
+Shared pointers are used extensively within the Mantid Framework to
+simplify memory management and reduce memory leaks. We use the Shared
+Pointer `definition from the Boost
+library <http://www.boost.org/doc/libs/1_35_0/libs/smart_ptr/smart_ptr.htm>`__.
+
+Shared pointers are objects which store pointers to dynamically
+allocated (heap) objects. They behave much like built-in C++ pointers
+except that they automatically delete the object pointed to at the
+appropriate time. Shared pointers are particularly useful in the face of
+exceptions as they ensure proper destruction of dynamically allocated
+objects. They can also be used to keep track of dynamically allocated
+objects shared by multiple owners.
+
+Conceptually, Shared pointers are seen as owning the object pointed to,
+and thus responsible for deletion of the object when it is no longer
+needed.
+
+Declaring a shared pointer
+--------------------------
+
+creating a shared pointer to a new object
+
+``boost::shared_ptr``\ \ `` ptr(new C);``
+
+assigning a shared pointer
+
+``boost::shared_ptr``\ \ `` instrument = workspace->getInstrument();``
+
+Several of our shared pointers have typedefs to give them much shorter
+definitions. For example instead of boost::shared\_ptr you can just type
+workspace\_sptr (where sptr stands for shared pointer).
+
+Using a shared pointer
+----------------------
+
+Shared pointer can be used just like any pointer.
+
+``workspacePointer->readX(1);``
+
+The only real differences are when casting the pointer instead of
+
+``Workspace2D* input2D = dynamic_cast``\ \ ``(m_input);``
+
+you would use
+
+``Workspace2D_sptr input2D = boost::dynamic_pointer_cast``\ \ ``(input);``
+
+and that you should not delete a shared pointer, it will take care of
+itself.
+
+
+
+.. categories:: Concepts
\ No newline at end of file
diff --git a/Code/Mantid/docs/source/concepts/Table_Workspaces.rst b/Code/Mantid/docs/source/concepts/Table_Workspaces.rst
new file mode 100644
index 00000000000..e43ec07a442
--- /dev/null
+++ b/Code/Mantid/docs/source/concepts/Table_Workspaces.rst
@@ -0,0 +1,99 @@
+.. _Table Workspaces:
+
+Table_Workspaces
+================
+
+-  *This page focusses on dealing with Table Workspaces in C++, and is
+   aimed at developers. For details on interacting with Table Workspaces
+   in Python, please see `this page <Python_ITableWorkspace>`__.*
+
+Overview
+--------
+
+Table workspaces are general purpose workspaces for storing data of
+mixed types. A table workspace is organized in columns. Each column has
+a name and a type - the type of the data in that column. Table wokspaces
+can be created using the workspace factory:
+
+``ITableWorkspace_sptr table = WorkspaceFactory::Instance().createTable("TableWorkspace");``
+
+Columns are added using the addColumn method:
+
+| ``table->addColumn("str","Parameter Name");``
+| ``table->addColumn("double","Value");``
+| ``table->addColumn("double","Error");``
+| ``table->addColumn("int","Index");``
+
+Here the first argument is a symbolic name of the column's data type and
+the second argument is the name of the column. The predefined types are:
+
++-----------------+-------------------------+
+| Symbolic name   | C++ type                |
++=================+=========================+
+| int             | int                     |
++-----------------+-------------------------+
+| float           | float                   |
++-----------------+-------------------------+
+| double          | double                  |
++-----------------+-------------------------+
+| bool            | bool                    |
++-----------------+-------------------------+
+| str             | std::string             |
++-----------------+-------------------------+
+| V3D             | Mantid::Geometry::V3D   |
++-----------------+-------------------------+
+| long64          | int64\_t                |
++-----------------+-------------------------+
+
+The data in the table can be accessed in a number of ways. The most
+simple way is to call templated method T& cell(row,col), where col is
+the index of the column in the workspace and row is the index of the
+cell in the comlumn. Colunms are indexed in the order they are created
+with addColumn. There are also specialized methods for four predefined
+data types: int& Int(row,col), double& Double(row,col), std::string&
+String(row,col), bool& Bool(row,col). Columns use std::vector to store
+the data. To get access to the vector use getVector(name). To get the
+column object use getColumn(name).
+
+Only columns of type int, double and str can currently be saved to Nexus
+by `SaveNexus <SaveNexus>`__ or
+`SaveNexusProcessed <SaveNexusProcessed>`__. Columns of other types will
+simply be ommitted from the Nexus file without any error message.
+
+Table rows
+----------
+
+Cells with the same index form a row. TableRow class represents a row.
+Use getRow(int) or getFirstRow() to access existing rows. For example:
+
+| ``std::string key;``
+| ``double value;``
+| ``TableRow row = table->getFirstRow();``
+| ``do``
+| ``{``
+| ``  row >> key >> value;``
+| ``  std::cout << "key=" << key << " value=" << value << std::endl;``
+| ``}``
+| ``while(row.next());``
+
+TableRow can also be use for writing into a table:
+
+| ``for(int i=0; i < n; ++i)``
+| ``{``
+| ``  TableRow row = table->appendRow();``
+| ``  row << keys[i] << values[i];``
+| ``}``
+
+Defining new column types
+-------------------------
+
+Users can define new data types to be used in TableWorkspace.
+TableColumn.h defines macro
+DECLARE\_TABLECOLUMN(c\_plus\_plus\_type,symbolic\_name).
+c\_plus\_plus\_type must be a copyable type and operators << and >> must
+be defined. There is also DECLARE\_TABLEPOINTERCOLUMN macro for
+declaring non-copyable types, but it has never been used.
+
+
+
+.. categories:: Concepts
\ No newline at end of file
diff --git a/Code/Mantid/docs/source/concepts/Unit_Factory.rst b/Code/Mantid/docs/source/concepts/Unit_Factory.rst
new file mode 100644
index 00000000000..0b063750a9c
--- /dev/null
+++ b/Code/Mantid/docs/source/concepts/Unit_Factory.rst
@@ -0,0 +1,76 @@
+.. _Unit Factory:
+
+Unit_Factory
+============
+
+.. role:: math(raw)
+   :format: html latex
+..
+
+What is it?
+-----------
+
+The Unit Factory is a `Dynamic Factory <Dynamic Factory>`__ that creates
+and hands out instances of Mantid Unit objects.
+
+Available units
+~~~~~~~~~~~~~~~
+
+The following units are available in the default Mantid distribution.
+
++-------------------------------------------+---------------------------------+-----------------------------+------------------------------------------------------------------------------------------------------------------+
+| Name                                      | ID (as known by Unit Factory)   | Unit                        | Relevant equation                                                                                                |
++===========================================+=================================+=============================+==================================================================================================================+
+| Time of flight                            | TOF                             | :math:`\mu s`               | TOF                                                                                                              |
++-------------------------------------------+---------------------------------+-----------------------------+------------------------------------------------------------------------------------------------------------------+
+| Wavelength                                | Wavelength                      | :math:`\mathrm{\AA}`        | :math:`\lambda = \frac{h}{p} = \frac{h \times \mathrm{tof}}{m_N \times L_{tot}}` (see below)                     |
++-------------------------------------------+---------------------------------+-----------------------------+------------------------------------------------------------------------------------------------------------------+
+| Energy                                    | Energy                          | :math:`meV`                 | :math:`E = \frac{1}{2} mv^2 = \frac{m_N}{2} \left ( \frac{L_{tot}}{\mathrm{tof}} \right )^2`                     |
++-------------------------------------------+---------------------------------+-----------------------------+------------------------------------------------------------------------------------------------------------------+
+| Energy in wavenumber                      | Energy\_inWavenumber            | :math:`cm^{-1}`             | :math:`8.06554465 \times E`                                                                                      |
++-------------------------------------------+---------------------------------+-----------------------------+------------------------------------------------------------------------------------------------------------------+
+| Momentum (k)                              | Momentum                        | :math:`\mathrm{\AA}^{-1}`   | :math:`k = \frac{2 \pi }{\lambda}=\frac{2 \pi \times m_N \times L_{tot}}{h \times \mathrm{tof}}`                 |
++-------------------------------------------+---------------------------------+-----------------------------+------------------------------------------------------------------------------------------------------------------+
+| d-spacing                                 | dSpacing                        | :math:`\mathrm{\AA}`        | :math:`d = \frac{n \, \lambda}{2 \, sin \, \theta}`                                                              |
++-------------------------------------------+---------------------------------+-----------------------------+------------------------------------------------------------------------------------------------------------------+
+| Momentum transfer (Q)                     | MomentumTransfer                | :math:`\mathrm{\AA}^{-1}`   | :math:`Q = 2 \, k \, sin \, \theta = \frac{4 \pi sin \theta}{\lambda}`                                           |
++-------------------------------------------+---------------------------------+-----------------------------+------------------------------------------------------------------------------------------------------------------+
+| Momentum transfer squared (:math:`Q^2`)   | QSquared                        | :math:`\mathrm{\AA}^{-2}`   | :math:`Q^2 \frac{}{}`                                                                                            |
++-------------------------------------------+---------------------------------+-----------------------------+------------------------------------------------------------------------------------------------------------------+
+| Energy transfer                           | DeltaE                          | :math:`meV`                 | :math:`\Delta E = E_{i}-\frac{1}{2}m_N \left ( \frac{L_2}{\mathrm{tof}-L_1\sqrt{\frac{m_N}{2E_i}}} \right )^2`   |
++-------------------------------------------+---------------------------------+-----------------------------+------------------------------------------------------------------------------------------------------------------+
+| Energy transfer in wavenumber             | DeltaE\_inWavenumber            | :math:`cm^{-1}`             | :math:`8.06554465 \times \Delta E`                                                                               |
++-------------------------------------------+---------------------------------+-----------------------------+------------------------------------------------------------------------------------------------------------------+
+| Spin Echo Length                          | SpinEchoLength                  | :math:`nm`                  | | :math:`constant \times \lambda^2`                                                                              |
+|                                           |                                 |                             | |  The constant is supplied in eFixed                                                                            |
++-------------------------------------------+---------------------------------+-----------------------------+------------------------------------------------------------------------------------------------------------------+
+| Spin Echo Time                            | SpinEchoTime                    | :math:`ns`                  | | :math:`constant \times \lambda^3`                                                                              |
+|                                           |                                 |                             | |  The constant is supplied in eFixed                                                                            |
++-------------------------------------------+---------------------------------+-----------------------------+------------------------------------------------------------------------------------------------------------------+
+
+Where :math:`L_1` and :math:`L_2` are sample to the source and sample to
+detector distances respectively, :math:`L_{tot} = L_1+L_2` and
+:math:`E_i` is the energy of neutrons leaving the source. :math:`\theta`
+here is the Bragg scattering angle (e.g. half of the
+:math:`\theta`-angle used in spherical coordinate system directed along
+Mantid z-axis)
+
+**Note on Wavelength**: If the emode property in
+`ConvertUnits <http://docs.mantidproject.org/nightly/algorithms/ConvertUnits.html>`__
+is specified as inelastic Direct/Indirect (inelastic) then the
+conversion to wavelength will take into account the fixed initial/final
+energy respectively. Units conversion into elastic momentum transfer
+(MomentumTransfer) will throw in elastic mode (emode=0) on inelastic
+workspace (when energy transfer is specified along x-axis)
+
+Adding new units
+~~~~~~~~~~~~~~~~
+
+Writing and adding a new unit is relatively straightforward.
+Instructions will appear here in due course. In the meantime if a unit
+that you require is missing, then please contact the development team
+and we will add it to the default Mantid library.
+
+
+
+.. categories:: Concepts
\ No newline at end of file
diff --git a/Code/Mantid/docs/source/concepts/Workflow_Algorithm.rst b/Code/Mantid/docs/source/concepts/Workflow_Algorithm.rst
new file mode 100644
index 00000000000..2ea111cef71
--- /dev/null
+++ b/Code/Mantid/docs/source/concepts/Workflow_Algorithm.rst
@@ -0,0 +1,47 @@
+.. _Workflow Algorithm:
+
+Workflow_Algorithm
+==================
+
+A workflow algorithm is a special subset of algorithms that perform
+higher level tasks by solely making use of other algorithms. These
+algorithms inherit from a specialized base class DataProcessorAlgorithm,
+to indicate that these are indeed WorkflowAlgorithms. Due to the special
+functions that can be applied to these algorithms it is vital that they
+do not alter the data in any way directly themselves and rather use
+child algorithms to do so.
+
+Special Functions
+~~~~~~~~~~~~~~~~~
+
+.. figure:: NestedHistory.png
+   :alt: NestedHistory.png
+
+   NestedHistory.png
+Nested History
+^^^^^^^^^^^^^^
+
+As workflow algorithms are effectively just a collection of sub
+algorithms tied together with some logic it is possible to represent
+them as a simple flow diagram, and extract out the child algorithms from
+any particular run. The nested history approach on Mantid allow any
+workflow algorithm to be "unrolled" into the child algorithms that were
+used by it.
+
+Flow Diagrams
+^^^^^^^^^^^^^
+
+As workflow algorithms are effectively just a collection of sub
+algorithms tied together with some logic it is possible to represent
+them as a simple flow diagram. Each worklow algorithm should provide a
+flow diagram of it's operations.
+
+Examples
+''''''''
+
+-  `DGSReduction <http://docs.mantidproject.org/algorithms/DgsReduction.html>`__
+-  `MuonLoad <http://docs.mantidproject.org/algorithms/MuonLoad.html>`__
+
+
+
+.. categories:: Concepts
\ No newline at end of file
diff --git a/Code/Mantid/docs/source/concepts/Workspace.rst b/Code/Mantid/docs/source/concepts/Workspace.rst
new file mode 100644
index 00000000000..010cc4c0fc3
--- /dev/null
+++ b/Code/Mantid/docs/source/concepts/Workspace.rst
@@ -0,0 +1,105 @@
+.. _Workspace:
+
+Workspace
+=========
+
+What are they?
+--------------
+
+Workspaces are the nouns of Mantid (while `algorithms <algorithm>`__ are
+the verbs). Workspaces hold the data in Mantid.
+
+They come in several forms, but the most common by far is the
+`MatrixWorkspace <MatrixWorkspace>`__ which contains measured or derived
+data with associated errors. Matrix Workspaces are typically created
+initially by executing one of Mantid's 'Load' algorithms, for example
+`LoadRaw <http://docs.mantidproject.org/nightly/algorithms/LoadRaw.html>`__
+or
+`LoadNexus <http://docs.mantidproject.org/nightly/algorithms/LoadNexus.html>`__,
+or they are the output of algorithms which took a matrix workspace as
+input. In `MantidPlot <MantidPlot:_Help>`__ the data from the workspace
+can viewed as a table, and graphed in many ways.
+
+Another form of workspace is the `TableWorkspace <Table Workspaces>`__.
+This stores data of (somewhat) arbitrary type in rows and columns, much
+like a spreadsheet. These typically are created as the output of certain
+specialized algorithms (e.g. curve fitting).
+
+In addition to data, workspaces hold a `workspace
+history <WorkspaceHistory>`__, which details the algorithms which have
+been run on this workspace.
+
+In software engineering terms, the 'abstract' concept of a workspace is
+an 'interface', in that it defines common properties that are
+implemented by various 'concrete' workspaces. Interaction with
+workspaces is typically through an interface. The concrete workspaces
+themselves are loaded in via Mantid's `plugin <plugin>`__ mechanism and
+are created using the `Workspace Factory <Workspace Factory>`__.
+
+Example Workspaces
+------------------
+
+-  `MatrixWorkspace <MatrixWorkspace>`__ - A base class that contains
+   among others:
+
+   -  `Workspace2D <Workspace2D>`__ - A workspace for holding two
+      dimensional data in memory, this is the most commonly used
+      workspace.
+   -  `EventWorkspace <EventWorkspace>`__ - A workspace that retains the
+      individual neutron event data.
+
+-  `TableWorkspace <Table Workspaces>`__ - A workspace holding data in
+   rows of columns having a particular type (e.g. text, integer, ...).
+-  `WorkspaceGroup <WorkspaceGroup>`__ - A container for a collection of
+   workspaces. Algorithms given a group as input run sequentially on
+   each member of the group.
+
+Writing you own workspace
+-------------------------
+
+This is perfectly possible, but not as easy as creating your own
+algorithm. Please talk to a member of the development team if you wish
+to implement you own workspace.
+
+Workspace Types
+---------------
+
+The workspace type id identifies the type (underlying class) of a
+Workspace object. These IDs are listed here for ease of reference, so
+you needn't navigate Doxygen for a list of workspace types. These values
+are needed in such functions as the AnalysisDataService's
+createWorkspace if you are writing C++ or Python algorithms.
+
++-------------------------------+-------------------------------------------+
+| ID                            | Workspace Type                            |
++===============================+===========================================+
+| "IEventWorkspace"             | IEventWorkspace                           |
++-------------------------------+-------------------------------------------+
+| "ITableWorkspace"             | ITableWorkspace                           |
++-------------------------------+-------------------------------------------+
+| "WorkspaceGroup"              | WorkspaceGroup                            |
++-------------------------------+-------------------------------------------+
+| "AbsManagedWorkspace2D"       | AbsManagedWorkspace2D                     |
++-------------------------------+-------------------------------------------+
+| "CompressedWorkspace2D"       | CompressedWorkspace2D                     |
++-------------------------------+-------------------------------------------+
+| "EventWorkspace"              | `EventWorkspace <EventWorkspace>`__       |
++-------------------------------+-------------------------------------------+
+| "ManagedWorkspace2D"          | ManagedWorkspace2D                        |
++-------------------------------+-------------------------------------------+
+| "TableWorkspace"              | TableWorkspace                            |
++-------------------------------+-------------------------------------------+
+| "Workspace2D"                 | `Workspace2D <Workspace2D>`__             |
++-------------------------------+-------------------------------------------+
+| "WorkspaceSingleValue"        | WorkspaceSingleValue                      |
++-------------------------------+-------------------------------------------+
+| "ManagedRawFileWorkspace2D"   | ManagedRawFileWorkspace2D                 |
++-------------------------------+-------------------------------------------+
+| "MDEventWorkspace"            | `MDEventWorkspace <MDEventWorkspace>`__   |
++-------------------------------+-------------------------------------------+
+| "MDHistoWorkspace"            | `MDHistoWorkspace <MDHistoWorkspace>`__   |
++-------------------------------+-------------------------------------------+
+
+
+
+.. categories:: Concepts
\ No newline at end of file
diff --git a/Code/Mantid/docs/source/concepts/Workspace2D.rst b/Code/Mantid/docs/source/concepts/Workspace2D.rst
new file mode 100644
index 00000000000..76bd44da45b
--- /dev/null
+++ b/Code/Mantid/docs/source/concepts/Workspace2D.rst
@@ -0,0 +1,20 @@
+.. _Workspace2D:
+
+Workspace2D
+===========
+
+The Workspace2D is a Mantid data type for a
+`MatrixWorkspace <MatrixWorkspace>`__.
+
+It consists of a workspace with 1 or more spectra. Typically, each
+spectrum will be a histogram. For example, you might have 10 bins, and
+so have 11 X-value, 10 Y-values and 10 E-values in a workspace.
+
+In contrast to an `EventWorkspace <EventWorkspace>`__, a Workspace2D
+only contains bin information and does not contain the underlying event
+data. The `EventWorkspace <EventWorkspace>`__ presents itself as a
+histogram (with X,Y,E values) but preserves the underlying event data.
+
+
+
+.. categories:: Concepts
\ No newline at end of file
diff --git a/Code/Mantid/docs/source/concepts/WorkspaceGroup.rst b/Code/Mantid/docs/source/concepts/WorkspaceGroup.rst
new file mode 100644
index 00000000000..9544412892c
--- /dev/null
+++ b/Code/Mantid/docs/source/concepts/WorkspaceGroup.rst
@@ -0,0 +1,26 @@
+.. _WorkspaceGroup:
+
+WorkspaceGroup
+==============
+
+A WorkspaceGroup is a group of workspaces.
+
+Most algorithms will execute on a WorkspaceGroup by simply executing the
+algorithm on each workspace contained within.
+
+Creating a Workspace Group
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+-  Select a few workspaces in MantidPlot and click the "Group" button
+   above the list of workspaces.
+-  Use the `GroupWorkspaces <GroupWorkspaces>`__ algorithm.
+
+Un-grouping Workspaces
+~~~~~~~~~~~~~~~~~~~~~~
+
+-  Select the WorkspaceGroup and click "Ungroup".
+-  Use the `UnGroupWorkspace <UnGroupWorkspace>`__ algorithm.
+
+
+
+.. categories:: Concepts
\ No newline at end of file
diff --git a/Code/Mantid/docs/source/images/MDWorkspace_structure.png b/Code/Mantid/docs/source/images/MDWorkspace_structure.png
new file mode 100644
index 0000000000000000000000000000000000000000..a30dc7fdb5c75558c79f1889af81abfeda2b9bb6
GIT binary patch
literal 44483
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%0DHxrjvsvtRf4=DshG
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
WL&RU^#Fi5g%0pFMP`Qd_;Qs(`$T6q@

literal 0
HcmV?d00001

diff --git a/Code/Mantid/docs/source/images/NestedHistory.png b/Code/Mantid/docs/source/images/NestedHistory.png
new file mode 100644
index 0000000000000000000000000000000000000000..62be27353b227772e643b459efd8b93ccc9df786
GIT binary patch
literal 27834
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

literal 0
HcmV?d00001

diff --git a/Code/Mantid/docs/source/images/XMLconeDescription.png b/Code/Mantid/docs/source/images/XMLconeDescription.png
new file mode 100644
index 0000000000000000000000000000000000000000..321083be38798c4fec5fc0dca67ac65483afd583
GIT binary patch
literal 46074
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
TKq5mc00000NkvXXu0mjfEDf4#

literal 0
HcmV?d00001

diff --git a/Code/Mantid/docs/source/images/XMLcuboidDescription.png b/Code/Mantid/docs/source/images/XMLcuboidDescription.png
new file mode 100644
index 0000000000000000000000000000000000000000..c6cb54145c281b39e38413f3ad8fe2648ac61000
GIT binary patch
literal 8455
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

literal 0
HcmV?d00001

diff --git a/Code/Mantid/docs/source/images/XMLcylinderDescription.png b/Code/Mantid/docs/source/images/XMLcylinderDescription.png
new file mode 100644
index 0000000000000000000000000000000000000000..ef1c16c2b5f97da15d514e4091f6026c95f8af90
GIT binary patch
literal 15171
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
V^Cvc215d3&G*onz-zwTf{T~UTWIO->

literal 0
HcmV?d00001

diff --git a/Code/Mantid/docs/source/images/XMLhexahedronDescription.png b/Code/Mantid/docs/source/images/XMLhexahedronDescription.png
new file mode 100644
index 0000000000000000000000000000000000000000..0bb687bf03023fbb2c6e9cf23d0d71c3f86f2392
GIT binary patch
literal 44044
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

literal 0
HcmV?d00001

diff --git a/Code/Mantid/docs/source/images/XMLsliceCylinderRingDescription.png b/Code/Mantid/docs/source/images/XMLsliceCylinderRingDescription.png
new file mode 100644
index 0000000000000000000000000000000000000000..468caf5bec6a0346b3f19b6fb53b6cbdf1ec0755
GIT binary patch
literal 9185
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

literal 0
HcmV?d00001

diff --git a/Code/Mantid/docs/sphinxext/mantiddoc/directives/categories.py b/Code/Mantid/docs/sphinxext/mantiddoc/directives/categories.py
index 2a93e455d8f..50e18701867 100644
--- a/Code/Mantid/docs/sphinxext/mantiddoc/directives/categories.py
+++ b/Code/Mantid/docs/sphinxext/mantiddoc/directives/categories.py
@@ -17,7 +17,7 @@ CATEGORIES_DIR = "categories"
 # List of category names that are considered the index for everything in that type
 # When this category is encountered an additional index.html is written to both the
 # directory of the document and the category directory
-INDEX_CATEGORIES = ["Algorithms", "FitFunctions"]
+INDEX_CATEGORIES = ["Algorithms", "FitFunctions","Concepts"]
 
 class LinkItem(object):
     """
diff --git a/Code/Tools/scripts/AddAlgorithmWikiLinksToText.py b/Code/Tools/scripts/AddAlgorithmWikiLinksToText.py
new file mode 100644
index 00000000000..fafd7ee3bd1
--- /dev/null
+++ b/Code/Tools/scripts/AddAlgorithmWikiLinksToText.py
@@ -0,0 +1,17 @@
+text = """
+===Algorithms===
+* PlotPeakByLogValue now optionally outputs calculated spectra like the Fit algorithm.
+* StartLiveData  now checks whether the instrument listener supports the provision of historic values.
+* LiveData processing now handles the transition between runs much better at facilities that support this functionality (at present only the SNS).
+* LoadEventNexus reads the Pause log and discards any events found during Paused time spans.
+* GenerateEventsFilter has been improved to make it easier to use and allowing split sections to be added together into workplaces on a cyclic basis.
+* LoadPreNexus is now more forgiving if it encounters bad event indexes in pulse ID file .
+
+"""
+
+import re
+
+algs = AlgorithmFactory.getRegisteredAlgorithms(True)
+for alg in algs:
+	text = re.sub(r'\b' + alg+ r'\b',r'[http://docs.mantidproject.org/algorithms/' + alg + '.html ' + alg + '] ',text)
+print text
\ No newline at end of file
diff --git a/Code/Tools/scripts/FindIncompleteAlgRSTPages.py b/Code/Tools/scripts/FindIncompleteAlgRSTPages.py
new file mode 100644
index 00000000000..33139d28057
--- /dev/null
+++ b/Code/Tools/scripts/FindIncompleteAlgRSTPages.py
@@ -0,0 +1,51 @@
+import os,  re
+import urllib2
+
+def readWebPage(url):
+  proxy = urllib2.ProxyHandler({'http': 'wwwcache.rl.ac.uk:8080'})
+  opener = urllib2.build_opener(proxy)
+  urllib2.install_opener(opener)
+  aResp =urllib2.urlopen(url)
+  web_pg = aResp.read();
+  return web_pg
+  
+def ticketExists(alg, ticketHash):
+  retVal = ""
+  algPattern = re.compile(alg, re.IGNORECASE)
+  for ticket in ticketHash:
+	  ticketText = ticketHash[ticket]
+	  if algPattern.search(ticketText):
+		  retVal = str(ticket)
+		  break
+  return retVal
+
+def outputError(alg, algVersion, description, notes=""):
+  print "%s, %i, %s, %s" % (alg, algVersion, description, notes)
+
+rstdir = r"C:\Mantid\Code\Mantid\docs\source\algorithms"
+ticketList = [9582,9586,9607,9610,9704,9804,9726]
+
+ticketHash = {}
+for ticket in ticketList:
+	ticketHash[ticket] = readWebPage( r"http://trac.mantidproject.org/mantid/ticket/" + str(ticket))
+
+usagePattern = re.compile('Usage', re.IGNORECASE)
+excusesPattern = re.compile('(rarely called directly|designed to work with other algorithms|only used for testing|deprecated)', re.IGNORECASE)
+
+
+algs = AlgorithmFactory.getRegisteredAlgorithms(True)
+for alg in algs:
+	algVersion = algs[alg][0]
+	fileFound = False
+	filename = os.path.join(rstdir,alg + "-v" + str(algVersion) + ".rst")
+	if os.path.exists(filename):
+		with open (filename, "r") as algRst:
+			fileFound = True
+			algText = algRst.read()
+			if (usagePattern.search(algText) == None) and (excusesPattern.search(algText) == None):
+				#check if already in a ticket
+				usageTicket = ticketExists(alg,ticketHash)
+				outputError(alg, algVersion, "No usage section", usageTicket)
+	if fileFound==False:
+		outputError(alg, algVersion, "File not found")
+		
-- 
GitLab