diff --git a/Code/Mantid/API/inc/MantidAPI/Axis.h b/Code/Mantid/API/inc/MantidAPI/Axis.h
index 2473f20c5748228ed580eab1fd8c546684056fb8..6fbe6d8906869cfd0e552dc7e7ca97a778fa7cf1 100644
--- a/Code/Mantid/API/inc/MantidAPI/Axis.h
+++ b/Code/Mantid/API/inc/MantidAPI/Axis.h
@@ -60,10 +60,18 @@ public:
   const Kernel::Unit_sptr& unit() const;
   Kernel::Unit_sptr& unit();
 
+  /// Returns true is the axis is a Spectra axis
   virtual const bool isSpectra() const{return false;}
+  /// Returns true if the axis is numeric
   virtual const bool isNumeric() const{return false;}
 
+  /// Returns the value at a specified index
+  /// @param index the index
+  /// @param verticalIndex The verticalIndex
   virtual double operator()(const int& index, const int& verticalIndex = 0) const = 0;
+  /// Sets the value at the specified index
+  /// @param index The index
+  /// @param value The new value
   virtual void setValue(const int& index, const double& value) = 0;
   virtual const int& spectraNo(const int& index) const;
   virtual int& spectraNo(const int& index);
diff --git a/Code/Mantid/API/inc/MantidAPI/ConstraintFactory.h b/Code/Mantid/API/inc/MantidAPI/ConstraintFactory.h
index fbd04fbaff80eeaee84a55461c7c5dc5471dd3aa..e0085f174fce352fe8048443783b15724c7c0e94 100644
--- a/Code/Mantid/API/inc/MantidAPI/ConstraintFactory.h
+++ b/Code/Mantid/API/inc/MantidAPI/ConstraintFactory.h
@@ -30,7 +30,7 @@ namespace API
   class IFunction;
   class Expression;
 
-/** @class FunctionFactoryImpl
+/** @class Mantid::API::FunctionFactoryImpl
 
     The ConstraintFactory class is in charge of the creation of concrete
     instances of Constraints. It inherits most of its implementation from
diff --git a/Code/Mantid/API/inc/MantidAPI/Expression.h b/Code/Mantid/API/inc/MantidAPI/Expression.h
index b21d76ba16a45ee35c97c9bee3ae711e498772b2..fe048e6167f34e4be712cb1cb57b4d7f955b19d8 100644
--- a/Code/Mantid/API/inc/MantidAPI/Expression.h
+++ b/Code/Mantid/API/inc/MantidAPI/Expression.h
@@ -80,9 +80,15 @@ namespace Mantid
       const std::vector<Expression>& terms()const{return m_terms;}
       /// Returns the number of argumens
       int size()const{return static_cast<int>(m_terms.size());}
+      /// Const Iterator tpyedef
       typedef std::vector<Expression>::const_iterator iterator;
+
+      /// An iterator pointing to the start of the expressions
       iterator begin()const{return m_terms.begin();}
+      /// An iterator pointing to the end of the expressions
       iterator end()const{return m_terms.end();}
+      /// Gets the Expression at the specified index
+      /// @param i the index
       const Expression& operator[](int i)const{return m_terms.at(i);}
       /// If the expression has 1 argument and empty function name it means it is wrapped in brackets
       /// This method returns first sub-expression without brackets
diff --git a/Code/Mantid/API/inc/MantidAPI/IFunction.h b/Code/Mantid/API/inc/MantidAPI/IFunction.h
index 57b29e8d3ab96e7f0a5708781c8cd98c52d1dbf0..e53f4484726ce02eec59035bf7f2abbfabe482c7 100644
--- a/Code/Mantid/API/inc/MantidAPI/IFunction.h
+++ b/Code/Mantid/API/inc/MantidAPI/IFunction.h
@@ -280,6 +280,8 @@ public:
   /// Get a function containing the parameter refered to by the reference. In case of a simple function
   /// it will be the same as ParameterReference::getFunction(). In case of a CompositeFunction it returns
   /// a top-level function that contains the parameter. The return function itself can be a CompositeFunction
+  /// @param ref The Parameter reference
+  /// @return A pointer to the containing function
   virtual IFunction* getContainingFunction(const ParameterReference& ref)const = 0;
   /// The same as the method above but the argument is a function
   virtual IFunction* getContainingFunction(const IFunction* fun) = 0;
diff --git a/Code/Mantid/API/inc/MantidAPI/MatrixWorkspace.h b/Code/Mantid/API/inc/MantidAPI/MatrixWorkspace.h
index ea6e5d909aa763ee5da9d372d31f05545a579aa5..2ad0d54bc4194355953e18db64ee26d8ab8e4dc0 100644
--- a/Code/Mantid/API/inc/MantidAPI/MatrixWorkspace.h
+++ b/Code/Mantid/API/inc/MantidAPI/MatrixWorkspace.h
@@ -22,6 +22,7 @@ namespace Mantid
 {
 /// typedef for the data storage used in Mantid matrix workspaces
 typedef std::vector<double> MantidVec;
+/// typedef for the data storage used in Mantid matrix workspaces
 typedef Kernel::cow_ptr<MantidVec> MantidVecPtr;
 
 namespace API
diff --git a/Code/Mantid/API/inc/MantidAPI/XMLlogfile.h b/Code/Mantid/API/inc/MantidAPI/XMLlogfile.h
index f53cf2b613ed932cbf9508820f8156a0fbe36248..313975b710f3e04c7869a8af4780e35e7e1ac91c 100644
--- a/Code/Mantid/API/inc/MantidAPI/XMLlogfile.h
+++ b/Code/Mantid/API/inc/MantidAPI/XMLlogfile.h
@@ -76,7 +76,7 @@ namespace Mantid
       const std::string m_formula;            ///< specific to fitting parameter. Specify formula to use for setting this parameter
       const std::string m_formulaUnit;       ///< unit for formula (i.e. for Centre in formula)
       const std::string m_resultUnit;       ///< expected result (output) unit from evaluating the formula
-      boost::shared_ptr<Kernel::Interpolation> m_interpolation; // specific to fitting parameter 
+      boost::shared_ptr<Kernel::Interpolation> m_interpolation; ///< specific to fitting parameter 
       const std::string m_extractSingleValueAs;  ///< describes the way to extract a single value from the log file( average, first number, etc)
       const std::string m_eq;         ///< muParser equation to calculate the parameter value from the log value
       const Geometry::IComponent* m_component;  ///< the component address
diff --git a/Code/Mantid/API/src/CompositeFunction.cpp b/Code/Mantid/API/src/CompositeFunction.cpp
index 490e3a1230b9806bf96119defcd3c68d89674f36..89af480c206703d0d1f7edb049912173e061456e 100644
--- a/Code/Mantid/API/src/CompositeFunction.cpp
+++ b/Code/Mantid/API/src/CompositeFunction.cpp
@@ -260,25 +260,9 @@ int CompositeFunction::parameterIndex(const std::string& name)const
   return getFunction(index)->parameterIndex(pname) + m_paramOffsets[index];
 }
 
-///*
-// * Checks that a pointer points to a parameter of this function and returns its index.
-// * @param p A pointer to a double variable.
-// * @return The index of the parameter or -1 if p is not a pointer to any of the function's parameters.
-// */
-//int CompositeFunction::parameterIndex(const double* p)const
-//{
-//  for(int iFun=0;iFun<nFunctions();iFun++)
-//  {
-//    int i = m_functions[iFun]->parameterIndex(p);
-//    if (i >= 0)
-//    {
-//      return m_paramOffsets[iFun] + i;
-//    }
-//  }
-//  return -1;
-//}
-
-/// Returns the name of parameter i
+/// Returns the name of parameter
+/// @param i The index
+/// @return The name of the parameter
 std::string CompositeFunction::parameterName(int i)const
 {
   int iFun = functionIndex(i);
@@ -807,7 +791,9 @@ void CompositeFunction::setParametersToSatisfyConstraints()
   }
 }
 
-/// Get first constraint
+/// Get constraint
+/// @param i the index
+/// @return A pointer to the constraint
 IConstraint* CompositeFunction::getConstraint(int i)const
 {
   int iFun = functionIndex(i);
@@ -824,7 +810,7 @@ void CompositeFunction::removeConstraint(const std::string& parName)
   getFunction(iFun)->removeConstraint(parameterLocalName(iPar));
 }
 
-/** 
+/** Chexcks if a constraint has been explicitly set
  *  @param i The parameter index
  */
 bool CompositeFunction::isExplicitlySet(int i)const
diff --git a/Code/Mantid/CurveFitting/src/CostFuncIgnorePosPeaks.cpp b/Code/Mantid/CurveFitting/src/CostFuncIgnorePosPeaks.cpp
index 3a432b137aefd07e8f9fbc3190c857b1022625d1..814d9cd0fe2cf0d6168fd8ac1c12142fab4b4663 100644
--- a/Code/Mantid/CurveFitting/src/CostFuncIgnorePosPeaks.cpp
+++ b/Code/Mantid/CurveFitting/src/CostFuncIgnorePosPeaks.cpp
@@ -13,9 +13,13 @@ namespace CurveFitting
 
 DECLARE_COSTFUNCTION(CostFuncIgnorePosPeaks,Ignore positive peaks)
 
-  /// Calculate value of cost function from observed
-  /// and calculated values
+  /// Calculate value of cost function from observed and calculated values
   /// note yCal modified for computational efficiency
+  /// @param yData Array of yData
+  /// @param inverseError Array of inverse error values
+  /// @param yCal Calculated y
+  /// @param n The number of points 
+  /// @return The calculated cost value
   double CostFuncIgnorePosPeaks::val(const double* yData, const double* inverseError, double* yCal, const int& n)
   {
     for (int i = 0; i < n; i++)
diff --git a/Code/Mantid/CurveFitting/src/CostFuncLeastSquares.cpp b/Code/Mantid/CurveFitting/src/CostFuncLeastSquares.cpp
index d426b14133d70189e8e4778d313a91c57a60f937..42a9ba5fcbc29bee6b0a4f6a7ea00c742cf1c68e 100644
--- a/Code/Mantid/CurveFitting/src/CostFuncLeastSquares.cpp
+++ b/Code/Mantid/CurveFitting/src/CostFuncLeastSquares.cpp
@@ -10,9 +10,13 @@ namespace CurveFitting
 
 DECLARE_COSTFUNCTION(CostFuncLeastSquares,Least squares)
 
-  /// Calculate value of cost function from observed
-  /// and calculated values
+  /// Calculate value of cost function from observed and calculated values
   /// note yCal modified for computational efficiency
+  /// @param yData Array of yData
+  /// @param inverseError Array of inverse error values
+  /// @param yCal Calculated y
+  /// @param n The number of points 
+  /// @return The calculated cost value
   double CostFuncLeastSquares::val(const double* yData, const double* inverseError, double* yCal, const int& n)
   {
     for (int i = 0; i < n; i++)
diff --git a/Code/Mantid/CurveFitting/src/FRConjugateGradientMinimizer.cpp b/Code/Mantid/CurveFitting/src/FRConjugateGradientMinimizer.cpp
index a34e9200d723fbbe8e25e5bac4909ef7570c1865..d184c715f352b0b4de05b30335a8b301ffc0b650 100644
--- a/Code/Mantid/CurveFitting/src/FRConjugateGradientMinimizer.cpp
+++ b/Code/Mantid/CurveFitting/src/FRConjugateGradientMinimizer.cpp
@@ -8,7 +8,9 @@ namespace Mantid
 {
 namespace CurveFitting
 {
+///@cond nodoc
 DECLARE_FUNCMINIMIZER(FRConjugateGradientMinimizer,Conjugate gradient (Fletcher-Reeves imp.))
+///@endcond
 
 // Get a reference to the logger
 Kernel::Logger& FRConjugateGradientMinimizer::g_log = Kernel::Logger::get("FRConjugateGradientMinimizer");
diff --git a/Code/Mantid/CurveFitting/src/PRConjugateGradientMinimizer.cpp b/Code/Mantid/CurveFitting/src/PRConjugateGradientMinimizer.cpp
index cbd4d2601075ed8d3a164cf95a982576c061374f..3cf538459a2c697a464e4753bdd5244e601cc127 100644
--- a/Code/Mantid/CurveFitting/src/PRConjugateGradientMinimizer.cpp
+++ b/Code/Mantid/CurveFitting/src/PRConjugateGradientMinimizer.cpp
@@ -8,11 +8,14 @@ namespace Mantid
 {
 namespace CurveFitting
 {
+///@cond nodoc
 DECLARE_FUNCMINIMIZER(PRConjugateGradientMinimizer,Conjugate gradient (Polak-Ribiere imp.))
+///@endcond
 
 // Get a reference to the logger
 Kernel::Logger& PRConjugateGradientMinimizer::g_log = Kernel::Logger::get("PRConjugateGradientMinimizer");
 
+
 void PRConjugateGradientMinimizer::initialize(double* X, const double* Y, 
                                               double *sqrtWeight, const int& nData, 
                                               const int& nParam, gsl_vector* startGuess, Fit* fit, 
diff --git a/Code/Mantid/CurveFitting/src/Quadratic.cpp b/Code/Mantid/CurveFitting/src/Quadratic.cpp
index db220d49bc440716e748892cad1124acb631eb9c..c60f80d910c30dc0a4ef95a37fbf4f6c0fbb54ec 100644
--- a/Code/Mantid/CurveFitting/src/Quadratic.cpp
+++ b/Code/Mantid/CurveFitting/src/Quadratic.cpp
@@ -25,6 +25,9 @@ void Quadratic::init()
 
 /*! \relates Quadratic 
  * Implements the quadratic function
+ * @param out The result
+ * @param xValues Array of double x values
+ * @param nData Array of integer data
  */
 void Quadratic::function(double* out, const double* xValues, const int& nData)const
 {
@@ -40,6 +43,9 @@ void Quadratic::function(double* out, const double* xValues, const int& nData)co
 
 /*! \relates Quadratic 
  * Calculates the derivatives of the quadratic
+ * @param out The resulting jacobian
+ * @param xValues Array of double x values
+ * @param nData Array of integer data
  */
 void Quadratic::functionDeriv(Jacobian* out, const double* xValues, const int& nData)
 {
diff --git a/Code/Mantid/DataHandling/inc/MantidDataHandling/LoadEventPreNeXus.h b/Code/Mantid/DataHandling/inc/MantidDataHandling/LoadEventPreNeXus.h
index 51d8df76f2ffe0c60d8906cadabb8257f62925f5..be6a926aceb2a568a33cad5b6e5f9e81cfe5a2e5 100644
--- a/Code/Mantid/DataHandling/inc/MantidDataHandling/LoadEventPreNeXus.h
+++ b/Code/Mantid/DataHandling/inc/MantidDataHandling/LoadEventPreNeXus.h
@@ -12,6 +12,32 @@ namespace Mantid
 {
   namespace DataHandling
   {
+/** @class Mantid::API::LoadEventPreNeXus
+
+    A data loading routine for SNS pre-nexus event files
+    
+    @author Janik, SNS ORNL
+    @date 4/02/2010
+    
+    Copyright &copy; 2010 STFC Rutherford Appleton Laboratories
+
+    This file is part of Mantid.
+
+    Mantid is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 3 of the License, or
+    (at your option) any later version.
+
+    Mantid is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+    File change history is stored at: <https://svn.mantidproject.org/mantid/trunk/Code/Mantid>    
+*/
 
 /// Make the code clearer by having this an explicit type
 typedef uint32_t PixelType;
diff --git a/Code/Mantid/DataHandling/src/LoadDAE/idc.cpp b/Code/Mantid/DataHandling/src/LoadDAE/idc.cpp
index 9b96f456575de436dd95c421680c2a175bddc3f8..e700040516df616bb6476284544a08b52dd62f75 100755
--- a/Code/Mantid/DataHandling/src/LoadDAE/idc.cpp
+++ b/Code/Mantid/DataHandling/src/LoadDAE/idc.cpp
@@ -21,10 +21,11 @@
 #include "idc.h"
 #include "isisds_command.h"
 
+///@cond nodoc
 /** used to keep status information about the DAE connection */
 struct idc_info
 {
-	SOCKET s;
+	SOCKET s; ///< The socket
 };
 
 /** default function used by IDCreport() - changed by calling IDCsetreportfunc() */
@@ -356,3 +357,5 @@ void idcfgetdat_(int fh[], int* ifsn, int* nos, int value[], int dims_array[], i
 	*errcode = stat;
 }
 
+
+///@endcond
diff --git a/Code/Mantid/DataHandling/src/LoadDAE/idc.h b/Code/Mantid/DataHandling/src/LoadDAE/idc.h
index a20abf2f08e5da1c95c37a92bea325d3399101f1..bd49b6716042d84d0bfd2351783e20e049374eae 100755
--- a/Code/Mantid/DataHandling/src/LoadDAE/idc.h
+++ b/Code/Mantid/DataHandling/src/LoadDAE/idc.h
@@ -17,7 +17,7 @@
 */
 
 #include "MantidKernel/DllExport.h"
-
+///@cond nodoc
 /** 
 * holds information about the DAE connection - defined fully in idc.c
 */
@@ -80,6 +80,7 @@ int IDCsetreportfunc(idc_error_report_t report_func);
   * to do the actual reporting */
 int IDCreport(int status, int code, const char* format, ... );
 
+///@endcond
 #ifdef __cplusplus
 }
 #endif
diff --git a/Code/Mantid/DataHandling/src/LoadDAE/isisds_command.cpp b/Code/Mantid/DataHandling/src/LoadDAE/isisds_command.cpp
index 02529826d7c061885929523bf99abd9a07812f93..4cc09f7ef614a03e4e6189873348a6ec1ec0e1e0 100755
--- a/Code/Mantid/DataHandling/src/LoadDAE/isisds_command.cpp
+++ b/Code/Mantid/DataHandling/src/LoadDAE/isisds_command.cpp
@@ -14,7 +14,7 @@
     GNU General Public License
 */
 
-
+///@cond nodoc
 
 #include <stdio.h>
 #include "isisds_command.h"
@@ -401,3 +401,5 @@ int isisds_set_report_func(isisds_error_report_t report_func)
 	status_reporter = report_func;
 	return 0;
 }
+
+///@endcond
diff --git a/Code/Mantid/DataHandling/src/LoadDAE/isisds_command.h b/Code/Mantid/DataHandling/src/LoadDAE/isisds_command.h
index 8e7dea7bdc0ccc6e863e42c35922f47737207df9..7ad14b4f3cb11a863cb441a73f273b9a8f5d1ffc 100755
--- a/Code/Mantid/DataHandling/src/LoadDAE/isisds_command.h
+++ b/Code/Mantid/DataHandling/src/LoadDAE/isisds_command.h
@@ -14,6 +14,7 @@
     GNU General Public License
 */
 
+///@cond nodoc
 
 #ifndef ISISDS_COMMAND_H
 #define ISISDS_COMMAND_H
@@ -50,8 +51,10 @@ int isisds_send_close(SOCKET s);
 int isisds_set_report_func(isisds_error_report_t report_func);
 int isisds_report(int status, int code, const char* format, ... );
 
+///@endcond
 #ifdef __cplusplus
 }
 #endif /* __cplusplus */
 
 #endif /* ISISDS_COMMAND_H */
+
diff --git a/Code/Mantid/DataHandling/src/LoadRaw/isisraw.cpp b/Code/Mantid/DataHandling/src/LoadRaw/isisraw.cpp
index 37962d9f2d3205cc5802927c3f7037455f5d61ac..e7f6f94e5780b4f416557a9da65277e50bc58e62 100644
--- a/Code/Mantid/DataHandling/src/LoadRaw/isisraw.cpp
+++ b/Code/Mantid/DataHandling/src/LoadRaw/isisraw.cpp
@@ -1140,7 +1140,7 @@ ISISRAW::~ISISRAW()
   delete[] logsect.lines;
 }
 
-// rtcb1 is of size t_ntc1+1
+/// rtcb1 is of size t_ntc1+1
 int ISISRAW::getTimeChannels(float* rtcb1, int n)
 {
   if (n != t_ntc1+1)
diff --git a/Code/Mantid/DataHandling/src/LoadRaw/isisraw2.cpp b/Code/Mantid/DataHandling/src/LoadRaw/isisraw2.cpp
index eb0f9fb3a2acec15b70067544cd927c38c2b171e..18b7b98fec04c2f08f16883ced3510c46fcfe1c2 100644
--- a/Code/Mantid/DataHandling/src/LoadRaw/isisraw2.cpp
+++ b/Code/Mantid/DataHandling/src/LoadRaw/isisraw2.cpp
@@ -94,13 +94,19 @@ int ISISRAW2::ioRAW(FILE* file, bool from_file, bool read_data)
   return 0; // stop reading here
 }
 
-
+/// Skip data
+/// @param file The file pointer
+/// @param i The amount of data to skip
 void ISISRAW2::skipData(FILE* file, int i)
 {
     if (i < ndes)
         fseek(file,4*ddes[i].nwords,SEEK_CUR);
 }
 
+/// Read data
+/// @param file The file pointer
+/// @param i The amount of data to read
+/// @return true on success
 bool ISISRAW2::readData(FILE* file, int i)
 {
     if (i >= ndes) return false;
@@ -117,6 +123,7 @@ ISISRAW2::~ISISRAW2()
     if (outbuff) delete[] outbuff;
 }
 
+///Clears the output buffer
 void ISISRAW2::clear()
 {
   if (outbuff) delete[] outbuff;
diff --git a/Code/Mantid/DataHandling/src/LoadRaw/isisraw2.h b/Code/Mantid/DataHandling/src/LoadRaw/isisraw2.h
index 9623f8393139e292980ae1d7a6f6050aee929aab..329133ae40ac820b66ce070248450f666e349cbd 100644
--- a/Code/Mantid/DataHandling/src/LoadRaw/isisraw2.h
+++ b/Code/Mantid/DataHandling/src/LoadRaw/isisraw2.h
@@ -16,11 +16,11 @@ public:
 
 	void skipData(FILE* file, int i);
 	bool readData(FILE* file, int i);
-  void clear();
+  void clear();  
 
-	int ndes;
+	int ndes; ///<ndes
 private:
-	char* outbuff;
+	char* outbuff;  ///<output buffer
 };
 
 
diff --git a/Code/Mantid/DataHandling/src/LoadRaw/item_struct.cpp b/Code/Mantid/DataHandling/src/LoadRaw/item_struct.cpp
index 6972dfe0e8d1699c0c78da8dc6058752e07c3b0c..724114f9763570bc0b170281f1353c6420fe46a4 100644
--- a/Code/Mantid/DataHandling/src/LoadRaw/item_struct.cpp
+++ b/Code/Mantid/DataHandling/src/LoadRaw/item_struct.cpp
@@ -3,6 +3,12 @@
 
 #define FAILURE 1
 #define SUCCESS 0
+
+/** Gets an item
+@param item_name the item name
+@param value A pointer to the item
+@return 0 on success
+*/
 template <typename T>
 int item_struct<T>::getItem(const std::string& item_name, T& value)
 {
@@ -23,7 +29,15 @@ int item_struct<T>::getItem(const std::string& item_name, T& value)
 	}
 }
 
-// nspec number of 0 means no spec average
+
+/** Gets an item
+nspec number of 0 means no spec average
+@param item_name the item name
+@param spec_array The array of spectra numbers
+@param nspec the number of spectra in the array
+@param lVal A pointer to the item
+@return 0 on success
+*/
 template <typename T>
 int item_struct<T>::getItem(const std::string& item_name, long* spec_array, int nspec, T* lVal)
 {
@@ -85,6 +99,12 @@ int item_struct<T>::getItem(const std::string& item_name, long* spec_array, int
 	return SUCCESS;
 }
 
+/** Gets the size of an array of items
+@param item_name the item name
+@param dims_array The array of dimensions
+@param ndims the number of dimensions in the array
+@return 0 on success
+*/
 template <typename T>
 int item_struct<T>::getArrayItemSize(const std::string& item_name, int* dims_array, int& ndims)
 {
@@ -112,6 +132,13 @@ int item_struct<T>::getArrayItemSize(const std::string& item_name, int* dims_arr
 	return FAILURE;
 }
 
+/** Gets an array of items
+@param item_name the item name
+@param spec_array The array of spectra numbers
+@param nspec the number of spectra in the array
+@param larray The returned array
+@return 0 on success
+*/
 template <typename T>
 int item_struct<T>::getArrayItem(const std::string& item_name, long* spec_array, int nspec, T* larray)
 {
@@ -144,6 +171,11 @@ int item_struct<T>::getArrayItem(const std::string& item_name, long* spec_array,
 	return FAILURE;
 }
 
+/** Gets an array of items
+@param item_name the item name
+@param larray The returned array
+@return 0 on success
+*/
 template <typename T>
 int item_struct<T>::getArrayItem(const std::string& item_name, T* larray)
 {
diff --git a/Code/Mantid/DataHandling/src/LoadRaw/item_struct.h b/Code/Mantid/DataHandling/src/LoadRaw/item_struct.h
index 65cc9489945c2e8e5dbb38bde828878a3e569cab..8409ec862593c2fe1b55c6fe0e8f52f3e68cc6b5 100644
--- a/Code/Mantid/DataHandling/src/LoadRaw/item_struct.h
+++ b/Code/Mantid/DataHandling/src/LoadRaw/item_struct.h
@@ -12,20 +12,29 @@ public:
   /// structure to hold a dae item
 	struct item_t
 	{
-		const T* value;
+		const T* value; ///<array of type T
 		bool det_average;	///< can be averaged over detectors via m_spec_array
-		const int* dim0;
-		const int* dim1;
+		const int* dim0; ///< dimension zero array
+		const int* dim1; ///< dimension one array
+    ///Constructor
 		item_t(const T* v, bool da, const int* d0, const int* d1) : value(v), det_average(da), dim0(d0), dim1(d1) {}
 	};
 
 private:
-	typedef std::map<std::string, item_t> items_map_t;
-	items_map_t m_items;
+	typedef std::map<std::string, item_t> items_map_t;   ///<Type def of internal map of named items
+	items_map_t m_items;  ///<internal map of named items
 	unsigned long* m_spec_array; ///< length m_ndet; used for averaging values with det_average
-	long m_ndet;
+	long m_ndet; ///<number of detectors
 public:
 
+  /** Adds an item
+  @param name the item name
+  @param value the item 
+  @param det_average Detector average or not
+  @param dim0 Diemnsion array zero
+  @param dim1 Diemnsion array one
+  @return 0 on success, -1 if it is a duplicate
+  */
 	int addItem(const std::string& name, const T* value, bool det_average = false, const int* dim0 = NULL, const int* dim1 = NULL)
 	{
 		std::pair<typename items_map_t::iterator, bool> insert_ret;
@@ -40,6 +49,11 @@ public:
 		}
 	}
 
+  /** finds an item
+  @param item_name the item name
+  @param det_average Detector average or not
+  @return The item pointer or NULL
+  */
 	const item_t* findItem(const std::string& item_name, bool det_average)
 	{
 		typename items_map_t::const_iterator iter;
diff --git a/Code/Mantid/DataHandling/src/LoadRaw/vms_convert.cpp b/Code/Mantid/DataHandling/src/LoadRaw/vms_convert.cpp
index 2e9ad12ec0985d3bb8922a669334c6e7efac1427..f6ffd83622e2d4b6b86a5216cf7f7ee64977bd9a 100644
--- a/Code/Mantid/DataHandling/src/LoadRaw/vms_convert.cpp
+++ b/Code/Mantid/DataHandling/src/LoadRaw/vms_convert.cpp
@@ -168,17 +168,17 @@ struct	vax_single {
 
 /** What IEEE single precision floating point looks like on local machine */
 struct	ieee_single {
-	unsigned int	mantissa: 23;
-	unsigned int	exp     : 8;
-	unsigned int	sign    : 1;
+	unsigned int	mantissa: 23; ///<mantissa
+	unsigned int	exp     : 8; ///<Exponential
+	unsigned int	sign    : 1; ///<sign
 };
 
 /** Vax single precision floating point */
 struct	vax_single {
-	unsigned int	mantissa1 : 7;
-	unsigned int	exp       : 8;
-	unsigned int	sign      : 1;
-	unsigned int	mantissa2 : 16;
+	unsigned int	mantissa1 : 7;  ///<mantissa 1
+	unsigned int	exp       : 8;  ///<Exponential
+	unsigned int	sign      : 1;  ///<sign
+	unsigned int	mantissa2 : 16; ///<mantissa 2
 };
 
 #endif /* WORDS_BIGENDIAN */
@@ -188,8 +188,8 @@ struct	vax_single {
 
 /// Structure holding the limits of s single
 static const struct sgl_limits_struct {
-	struct vax_single s;
-	struct ieee_single ieee;
+	struct vax_single s; ///<vax single struct
+	struct ieee_single ieee; ///<ieee single struct
 } sgl_limits[2] = {
 	{{ 0x7f, 0xff, 0x0, 0xffff },	/* Max Vax */
 	{ 0x0, 0xff, 0x0 }},		/* Max IEEE */
@@ -224,20 +224,20 @@ struct  vax_double {
 
 /** What IEEE double precision floating point looks like */
 struct	ieee_double {
-	unsigned int	mantissa1 : 20;
-	unsigned int	exp       : 11;
-	unsigned int	sign      : 1;
-	unsigned int	mantissa2 : 32;
+	unsigned int	mantissa1 : 20;  ///<mantissa 1
+	unsigned int	exp       : 11; ///<exponential
+	unsigned int	sign      : 1;  ///<sign
+	unsigned int	mantissa2 : 32;  ///<mantissa 2
 };
 
 /** Vax double precision floating point */
 struct  vax_double {
-	unsigned int	mantissa1 : 7;
-	unsigned int	exp       : 8;
-	unsigned int	sign      : 1;
-	unsigned int	mantissa2 : 16;
-	unsigned int	mantissa3 : 16;
-	unsigned int	mantissa4 : 16;
+	unsigned int	mantissa1 : 7;  ///<mantissa 1
+	unsigned int	exp       : 8;  ///<exponential
+	unsigned int	sign      : 1;  ///<sign
+	unsigned int	mantissa2 : 16;  ///<mantissa 2
+	unsigned int	mantissa3 : 16;  ///<mantissa 3
+	unsigned int	mantissa4 : 16;  ///<mantissa 4
 };
 
 #endif /* WORDS_BIGENDIAN */
diff --git a/Code/Mantid/DataObjects/inc/MantidDataObjects/EventList.h b/Code/Mantid/DataObjects/inc/MantidDataObjects/EventList.h
index a34415ce3ac56a2c585629d715cf557525931d94..d104f43effd557919cc124bc236ca8cfd8a564ea 100644
--- a/Code/Mantid/DataObjects/inc/MantidDataObjects/EventList.h
+++ b/Code/Mantid/DataObjects/inc/MantidDataObjects/EventList.h
@@ -23,6 +23,32 @@ namespace Mantid
 {
 namespace DataObjects
 {
+/** @class Mantid::API::EventList
+
+    A class for holding an event list for a single detector
+    
+    @author Janik, SNS ORNL
+    @date 4/02/2010
+    
+    Copyright &copy; 2010 STFC Rutherford Appleton Laboratories
+
+    This file is part of Mantid.
+
+    Mantid is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 3 of the License, or
+    (at your option) any later version.
+
+    Mantid is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+    File change history is stored at: <https://svn.mantidproject.org/mantid/trunk/Code/Mantid>    
+*/
 
 //==========================================================================================
 /** Info about a single event: the time of flight of the neutron, and the frame id
diff --git a/Code/Mantid/Kernel/inc/MantidKernel/MaskedProperty.h b/Code/Mantid/Kernel/inc/MantidKernel/MaskedProperty.h
index 29cc164a1a87dacae7548bac6656b40246bf7cd7..58ef01a59bede81ab660d90221e2bcd15f5fc7d1 100644
--- a/Code/Mantid/Kernel/inc/MantidKernel/MaskedProperty.h
+++ b/Code/Mantid/Kernel/inc/MantidKernel/MaskedProperty.h
@@ -10,6 +10,8 @@
 	 log window etc and log file .The masked property will be displayed.
      This class is specialised for string and masks the property value with charcater "*"
     
+    @class Mantid::Kernel::MaskedProperty
+
     Copyright &copy;  2011 STFC Rutherford Appleton Laboratory
 
     This file is part of Mantid.
@@ -88,7 +90,7 @@ namespace Mantid
 				  return m_maskedValue;
      		  }
 		private:
-			mutable TYPE m_maskedValue;
+			mutable TYPE m_maskedValue; ///< the masked value
 
 		};
 	}
diff --git a/Code/Mantid/Kernel/inc/MantidKernel/PropertyWithValue.h b/Code/Mantid/Kernel/inc/MantidKernel/PropertyWithValue.h
index 9a8226778c5f9088cec00fb139a3af36c99b8f23..9afd047f198b5887232f5990cdae35a7f024e2ff 100644
--- a/Code/Mantid/Kernel/inc/MantidKernel/PropertyWithValue.h
+++ b/Code/Mantid/Kernel/inc/MantidKernel/PropertyWithValue.h
@@ -24,6 +24,8 @@ namespace Kernel
     With reference to the Gaudi structure, this class can be seen as the equivalent of both the
     Gaudi class of the same name and its sub-classses.
 
+    @class Mantid::Kernel::PropertyWithValue
+
     @author Russell Taylor, Tessella Support Services plc
     @author Based on the Gaudi class of the same name (see http://proj-gaudi.web.cern.ch/proj-gaudi/)
     @date 14/11/2007
diff --git a/Code/Mantid/MatlabAPI/src/MatlabInterface.cpp b/Code/Mantid/MatlabAPI/src/MatlabInterface.cpp
index 52b47faf90929adeab7578cb381297fae14f23fc..ab33c0160ff7ff734baf8d091bb35ddc8f116c52 100644
--- a/Code/Mantid/MatlabAPI/src/MatlabInterface.cpp
+++ b/Code/Mantid/MatlabAPI/src/MatlabInterface.cpp
@@ -7,7 +7,7 @@
 #include "MantidAPI/AlgorithmManager.h"
 #include "MantidAPI/AnalysisDataService.h"
 #include "engine.h"
-// A debugging define
+/// A debugging define
 #define ARGCHECK   // Also need mwdebug.c for this
 
 #include "mex.h"
@@ -98,9 +98,9 @@ static mexfunc_s_t mex_functions[] = {
  * From this a FORTRAN function name is created (ixtestclass_plus) which is then called with
  * the rest of the parameters
  */
-// Maximum bueffer length
+/// Maximum bueffer length
 #define BUFFER_LEN	64
-// Maximum number of arguments
+/// Maximum number of arguments
 #define MAX_ARGS	100
 
 #ifdef _WIN32
@@ -116,7 +116,7 @@ static mexfunc_s_t mex_functions[] = {
   /// A 64-bit integer
   #define uint64_t UINT64
 #else
-  // The function to use to compare case
+  /// The function to use to compare case
   #define compare_nocase strcasecmp
 #endif
 
diff --git a/Code/Mantid/PythonAPI/inc/MantidPythonAPI/WorkspaceProxies.h b/Code/Mantid/PythonAPI/inc/MantidPythonAPI/WorkspaceProxies.h
index 1bfa4682ba72589dffad2f57d9dc62eacdb82098..e287a454687a903fd88569289a8b6ec127fc481d 100644
--- a/Code/Mantid/PythonAPI/inc/MantidPythonAPI/WorkspaceProxies.h
+++ b/Code/Mantid/PythonAPI/inc/MantidPythonAPI/WorkspaceProxies.h
@@ -41,7 +41,7 @@ namespace PythonAPI
 
     File change history is stored at: <https://svn.mantidproject.org/mantid/trunk/Code/Mantid>    
 */
-  //@cond NODOC
+
   /**
    * A callback class for MatrixWorkspace objects so that their setX methods are proxied through here.
    */
@@ -69,8 +69,8 @@ namespace PythonAPI
    */
   struct WorkspaceAlgebraProxy
   {
-    typedef API::MatrixWorkspace wraptype;
-    typedef boost::shared_ptr<wraptype> wraptype_ptr;
+    typedef API::MatrixWorkspace wraptype; ///< Wrapper type def
+    typedef boost::shared_ptr<wraptype> wraptype_ptr; ///< Shared pointer type def
     
     /** 
      * Perform the given binary operation on two workspaces
@@ -81,63 +81,67 @@ namespace PythonAPI
      */
     static wraptype_ptr performBinaryOp(const wraptype_ptr lhs, const wraptype_ptr rhs, char op, bool inplace);
 
-    //Plus workspace
+    ///Plus workspace
+    /// @param lhs Left hand side
+    /// @param rhs Right hand side
     static wraptype_ptr plus(const wraptype_ptr lhs, const wraptype_ptr rhs)
     {
       return performBinaryOp(lhs, rhs, 'p', false);
     }
     /// Inplace Plus workspace
+    /// @param lhs Left hand side
+    /// @param rhs Right hand side
     static wraptype_ptr inplace_plus(const wraptype_ptr lhs, const wraptype_ptr rhs)
     {
       return performBinaryOp(lhs, rhs, 'p', true);
     }
     /// Minus workspace
+    /// @param lhs Left hand side
+    /// @param rhs Right hand side
     static wraptype_ptr minus(const wraptype_ptr lhs, const wraptype_ptr rhs)
     {
       return performBinaryOp(lhs, rhs, 'm', false);
     }
     /// Inplace Minus workspace
+    /// @param lhs Left hand side
+    /// @param rhs Right hand side
     static wraptype_ptr inplace_minus(const wraptype_ptr lhs, const wraptype_ptr rhs)
     {
       return performBinaryOp(lhs, rhs, 'm', true);
     }
     /// Multiply workspace
+    /// @param lhs Left hand side
+    /// @param rhs Right hand side
     static wraptype_ptr times(const wraptype_ptr lhs, const wraptype_ptr rhs)
     {
       return performBinaryOp(lhs, rhs, 't', false);
     }
     /// Inplace Multiply workspace
+    /// @param lhs Left hand side
+    /// @param rhs Right hand side
     static wraptype_ptr inplace_times(const wraptype_ptr lhs, const wraptype_ptr rhs)
     {
       return performBinaryOp(lhs, rhs, 't', true);
     }
     /// Divide workspace
+    /// @param lhs Left hand side
+    /// @param rhs Right hand side
     static wraptype_ptr divide(const wraptype_ptr lhs, const wraptype_ptr rhs)
     {
       return performBinaryOp(lhs, rhs, 'd', false);
     }
     /// Divide workspace
+    /// @param lhs Left hand side
+    /// @param rhs Right hand side
     static wraptype_ptr inplace_divide(const wraptype_ptr lhs, const wraptype_ptr rhs)
     {
       return performBinaryOp(lhs, rhs, 'd', true);
     }
 
-    /** 
-    * Perform the given binary operation on a workspace and a double
-    * @param lhs The left-hand side of the operation
-    * @param rhs The right-hand side of the operation
-    * @param op One of 'p', 'm', 't', 'd' to denote the required operation
-    * @param inplace If true, then the lhs argument is replaced by the result of the operation.
-    */
+    /// Perform the given binary operation on a workspace and a double
     static wraptype_ptr performBinaryOp(const wraptype_ptr lhs, double rhs, char op, bool inplace);
 
-    /** 
-    * Perform the given binary operation on a double and a workspace
-    * @param lhs The left-hand side of the operation
-    * @param rhs The right-hand side of the operation
-    * @param op One of 'p', 'm', 't', 'd' to denote the required operation
-    * @param inplace If true, then the lhs argument is replaced by the result of the operation.
-    */ 
+    /// Perform the given binary operation on a double and a workspace
     static wraptype_ptr performBinaryOp(double lhs, const wraptype_ptr rhs, char op);
     /// Plus
     static wraptype_ptr plus(const wraptype_ptr lhs, double rhs)
@@ -233,7 +237,7 @@ namespace PythonAPI
 
   };
 
-  //@endcond
+
 
 }
 }
diff --git a/Code/Mantid/PythonAPI/src/WorkspaceProxies.cpp b/Code/Mantid/PythonAPI/src/WorkspaceProxies.cpp
index bb792bbebf38ed1e1b7984723bbc4147e9b7ecc0..3526f958980768ee8cdf7336b1c988099d7796c0 100644
--- a/Code/Mantid/PythonAPI/src/WorkspaceProxies.cpp
+++ b/Code/Mantid/PythonAPI/src/WorkspaceProxies.cpp
@@ -63,12 +63,13 @@ WorkspaceAlgebraProxy::wraptype_ptr WorkspaceAlgebraProxy::performBinaryOp(const
 }
 
 
-/// Binary operation for workspace and double
-/// @param lhs the left hand side workspace of the operation
-/// @param rhs the right hand side double of the operation
-/// @param op The operation
-/// @param inplace is this is an inplace operation (i.e. does the output overwrite the lhs
-/// @returns The resulting workspace
+/** 
+* Perform the given binary operation on a workspace and a double
+* @param lhs The left-hand side of the operation
+* @param rhs The right-hand side of the operation
+* @param op One of 'p', 'm', 't', 'd' to denote the required operation
+* @param inplace If true, then the lhs argument is replaced by the result of the operation.
+*/
 WorkspaceAlgebraProxy::wraptype_ptr WorkspaceAlgebraProxy::performBinaryOp(const wraptype_ptr lhs, double rhs, char op, bool inplace)
 {
   wraptype_ptr result;
@@ -116,11 +117,12 @@ WorkspaceAlgebraProxy::wraptype_ptr WorkspaceAlgebraProxy::performBinaryOp(const
   return result;
 }
 
-/// Binary operation on double and workspace
-/// @param lhs the right hand side double of the operation
-/// @param rhs the left hand side workspace of the operation
-/// @param op The operation
-/// @returns The resulting workspace
+/** Binary operation on double and workspace
+ @param lhs The left-hand side of the operation
+ @param rhs The right-hand side of the operation
+ @param op One of 'p', 'm', 't', 'd' to denote the required operation
+ @returns The resulting workspace
+ */
 WorkspaceAlgebraProxy::wraptype_ptr WorkspaceAlgebraProxy::performBinaryOp(double lhs, const wraptype_ptr rhs, char op)
 {
   wraptype_ptr result;