From 74f16edfd885a5a70c59316c2d87552127d3c5ac Mon Sep 17 00:00:00 2001
From: "Joachim Wuttke (laptop)" <j.wuttke@fz-juelich.de>
Date: Sun, 24 Mar 2013 22:15:43 +0100
Subject: [PATCH] Doxygen comments in App/inc

---
 App/inc/App.h                          |   3 +-
 App/inc/AppLinkDef.h                   |   3 +-
 App/inc/AppOptionsDescription.h        |   2 +-
 App/inc/DrawHelper.h                   |  13 +-
 App/inc/FitSuiteObserverFactory.h      |  31 +++--
 App/inc/FunctionalTestFactory.h        |  21 +--
 App/inc/IFunctionalTest.h              |  22 +--
 App/inc/IsGISAXSData.h                 |  24 ++--
 App/inc/IsGISAXSTools.h                | 184 +++++++++++++++----------
 App/inc/SampleFactory.h                |  14 +-
 App/inc/StandardSamples.h              |   3 +-
 App/inc/TestConvolution.h              |   9 +-
 App/inc/TestDetectorResolution.h       |   5 +-
 App/inc/TestDiffuseReflection.h        |  14 +-
 App/inc/TestFittingBenchmark.h         |   6 +-
 App/inc/TestFittingModule1.h           |   9 +-
 App/inc/TestFittingModule2.h           |  20 ++-
 App/inc/TestFittingModule3.h           |  10 +-
 App/inc/TestFormFactor.h               |   2 -
 App/inc/TestFormFactors.h              |   5 +-
 App/inc/TestFourier.h                  |   5 +-
 App/inc/TestFresnelCoeff.h             |   6 +-
 App/inc/TestFumiliLMA.h                |  37 ++---
 App/inc/TestIsGISAXS1.h                |   6 +-
 App/inc/TestIsGISAXS10.h               |   6 +-
 App/inc/TestIsGISAXS11.h               |   7 +-
 App/inc/TestIsGISAXS12.h               |   9 +-
 App/inc/TestIsGISAXS13.h               |   9 +-
 App/inc/TestIsGISAXS14.h               |   6 +-
 App/inc/TestIsGISAXS15.h               |  12 +-
 App/inc/TestIsGISAXS2.h                |  11 +-
 App/inc/TestIsGISAXS3.h                |  15 +-
 App/inc/TestIsGISAXS4.h                |  17 +--
 App/inc/TestIsGISAXS5.h                |   9 +-
 App/inc/TestIsGISAXS6.h                |  20 +--
 App/inc/TestIsGISAXS8.h                |   6 +-
 App/inc/TestIsGISAXS9.h                |   7 +-
 App/inc/TestMesoCrystal1.h             |   7 +-
 App/inc/TestMesoCrystal2.h             |   5 +-
 App/inc/TestMiscellaneous.h            |   5 +-
 App/inc/TestMultiLayerRoughness.h      |   8 +-
 App/inc/TestPerformance.h              |   6 +-
 App/inc/TestRootTree.h                 |   7 +-
 App/inc/TestRoughness.h                |  11 +-
 App/inc/TestToySimulation.h            |  10 +-
 App/inc/TreeEventStructure.h           |  11 +-
 App/inc/Version.h                      |   3 +-
 App/inc/fp_exception_glibc_extension.h |  23 +---
 48 files changed, 305 insertions(+), 379 deletions(-)

diff --git a/App/inc/App.h b/App/inc/App.h
index 4c2d245ddfa..a0091309cf0 100644
--- a/App/inc/App.h
+++ b/App/inc/App.h
@@ -3,7 +3,7 @@
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
 //! @file      App/App.h 
-//! @brief     Defines class App.
+//! @brief     A few includes.
 //
 //! Homepage:  apps.jcns.fz-juelich.de/BornAgain
 //! License:   GNU General Public License v3 or higher (see COPYING)
@@ -16,7 +16,6 @@
 #ifndef APP_H
 #define APP_H
 
-//#include "ISingleton.h"
 #include "DrawHelper.h"
 #include "TreeEventStructure.h"
 
diff --git a/App/inc/AppLinkDef.h b/App/inc/AppLinkDef.h
index f6f3c7a236a..f6078a7254c 100644
--- a/App/inc/AppLinkDef.h
+++ b/App/inc/AppLinkDef.h
@@ -3,7 +3,7 @@
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
 //! @file      App/AppLinkDef.h 
-//! @brief     Defines class AppLinkDef.
+//! @brief     A few link pragmas.
 //
 //! Homepage:  apps.jcns.fz-juelich.de/BornAgain
 //! License:   GNU General Public License v3 or higher (see COPYING)
@@ -20,7 +20,6 @@
 #pragma link off all classes;
 #pragma link off all functions;
 
-//#pragma link C++ class ISingleton<DrawHelper>+;
 #pragma link C++ class DrawHelper+;
 #pragma link C++ class TreeEventOutputData+;
 #pragma link C++ class TreeEventFitData+;
diff --git a/App/inc/AppOptionsDescription.h b/App/inc/AppOptionsDescription.h
index b50cccefbd3..5d5bdd393db 100644
--- a/App/inc/AppOptionsDescription.h
+++ b/App/inc/AppOptionsDescription.h
@@ -3,7 +3,7 @@
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
 //! @file      App/AppOptionsDescription.h 
-//! @brief     Defines class AppOptionsDescription.
+//! @brief     Defines global function AppOptionsDescription.
 //
 //! Homepage:  apps.jcns.fz-juelich.de/BornAgain
 //! License:   GNU General Public License v3 or higher (see COPYING)
diff --git a/App/inc/DrawHelper.h b/App/inc/DrawHelper.h
index ab0602e9f22..353d545b753 100644
--- a/App/inc/DrawHelper.h
+++ b/App/inc/DrawHelper.h
@@ -24,13 +24,11 @@ class TCanvas;
 class MultiLayer;
 class TPad;
 
-//- -------------------------------------------------------------------
-//! @class DrawHelper
-//! @brief Several usefull utilities for graphics in ROOT
-//!
+//! Several usefull utilities for graphics in ROOT
+
 //! Provides magnification of pads in canvas, common style for drawing,
 //! saving of all opened canvases from memory to pdf file
-//- -------------------------------------------------------------------
+//!
 class DrawHelper :public TObject
 {
 public:
@@ -50,7 +48,8 @@ public:
     static void DrawMultilayer(const MultiLayer *sample);
 
     //! create and register canvas
-    static TCanvas *createAndRegisterCanvas(std::string name, std::string title, int xsize=0, int ysize=0);
+    static TCanvas *createAndRegisterCanvas(
+        std::string name, std::string title, int xsize=0, int ysize=0);
 
     //! save reports (pdf and ROOT)
     static void saveReport();
@@ -66,4 +65,4 @@ private:
   ClassDef(DrawHelper,1)
 };
 
-#endif // DRAWHELPER_H
+#endif /* DRAWHELPER_H */
diff --git a/App/inc/FitSuiteObserverFactory.h b/App/inc/FitSuiteObserverFactory.h
index 20e3c1a89a4..c63f6a69dcd 100644
--- a/App/inc/FitSuiteObserverFactory.h
+++ b/App/inc/FitSuiteObserverFactory.h
@@ -3,7 +3,7 @@
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
 //! @file      App/FitSuiteObserverFactory.h 
-//! @brief     Defines class FitSuiteObserverFactory.
+//! @brief     Defines classes FitSuiteObserverFactory, FitSuiteObserverPrint, FitSuiteObserverDraw, FitSuiteObserverWriteTree
 //
 //! Homepage:  apps.jcns.fz-juelich.de/BornAgain
 //! License:   GNU General Public License v3 or higher (see COPYING)
@@ -39,7 +39,12 @@ class TCanvas;
 class FitSuiteObserverPrint : public IObserver
 {
 public:
-    FitSuiteObserverPrint(int print_every_nth = 1) : m_print_every_nth(print_every_nth), m_wall_time(0.0), m_last_call_clock(clock()), m_last_call_time() {
+    FitSuiteObserverPrint(int print_every_nth = 1)
+        : m_print_every_nth(print_every_nth)
+        , m_wall_time(0.0)
+        , m_last_call_clock(clock())
+        , m_last_call_time()
+    {
         gettimeofday(&m_last_call_time, 0);
     }
     void update(IObservable *subject);
@@ -58,13 +63,18 @@ private:
 class FitSuiteObserverDraw : public IObserver
 {
 public:
-    FitSuiteObserverDraw( int draw_every_nth = 20, const std::string &canvas_base_name = std::string("FitSuiteObserverDraw") );
+    FitSuiteObserverDraw(
+        int draw_every_nth = 20,
+        const std::string &canvas_base_name =
+        std::string("FitSuiteObserverDraw") );
     ~FitSuiteObserverDraw();
 
     void update(IObservable *subject);
 
-    //! return output data which contains relative difference between simulation and real data
-    OutputData<double > *getRelativeDifferenceMap(const OutputData<double> *p_simu_data, const OutputData<double> *p_real_data);
+    //! Return relative difference between simulation and real data.
+    OutputData<double > *getRelativeDifferenceMap(
+        const OutputData<double> *p_simu_data,
+        const OutputData<double> *p_real_data);
 
 private:
     int m_draw_every_nth; //! update canvas every nth iteration
@@ -75,15 +85,16 @@ private:
 };
 
 
-//- -------------------------------------------------------------------
-//! @class FitSuiteObserverWrite
-//! @brief Save results of each fit iteration to the disk in the form of ROOT tree
+//! Save results of each fit iteration to the disk in the form of ROOT tree.
+
 //! If tree exist, data will be appended to it
-//- -------------------------------------------------------------------
+//!
 class FitSuiteObserverWriteTree : public IObserver
 {
 public:
-    FitSuiteObserverWriteTree(const std::string &file_name = std::string("fitsuite.root")) : m_file_name(file_name), m_prev_data(0) {}
+    FitSuiteObserverWriteTree(
+        const std::string &file_name = std::string("fitsuite.root"))
+        : m_file_name(file_name), m_prev_data(0) {}
     void update(IObservable *subject);
 private:
     std::string m_file_name; //! canvas name were to draw
diff --git a/App/inc/FunctionalTestFactory.h b/App/inc/FunctionalTestFactory.h
index aaf80c6b923..421d72e7f54 100644
--- a/App/inc/FunctionalTestFactory.h
+++ b/App/inc/FunctionalTestFactory.h
@@ -22,30 +22,35 @@
 #include "IFactory.h"
 #include "IFunctionalTest.h"
 
-
 class TBenchmark;
 class ProgramOptions;
 
-class FunctionalTestFactory : public ISingleton<FunctionalTestFactory>, public IFactory<std::string, IFunctionalTest>
+class FunctionalTestFactory : public ISingleton<FunctionalTestFactory>,
+                              public IFactory<std::string, IFunctionalTest>
 {
-public:
+  public:
     FunctionalTestFactory();
     virtual ~FunctionalTestFactory();
 
     //! execute specified test
-    static void execute(std::string name, ProgramOptions *p_options) { instance().this_execute(name, p_options); }
+    static void execute(std::string name, ProgramOptions *p_options)
+    { instance().this_execute(name, p_options); }
 
     //! profile specified test
-    static void profile(std::string name, ProgramOptions *p_options)  { instance().this_profile(name, p_options); }
+    static void profile(std::string name, ProgramOptions *p_options)
+    { instance().this_profile(name, p_options); }
 
     //! execute all registered tests
-    static void execute_all(ProgramOptions *p_options)  { instance().this_execute_all(p_options); }
+    static void execute_all(ProgramOptions *p_options)
+    { instance().this_execute_all(p_options); }
 
     //! print names of registered tests
-    static void print_testnames() { instance().this_print_testnames(); }
+    static void print_testnames()
+    { instance().this_print_testnames(); }
 
     //! print benchmark summary
-    static void print_benchmarks() { instance().this_print_benchmarks(); }
+    static void print_benchmarks()
+    { instance().this_print_benchmarks(); }
 
     static iterator begin() { return instance().m_descriptions.begin(); }
     static iterator end() { return instance().m_descriptions.end(); }
diff --git a/App/inc/IFunctionalTest.h b/App/inc/IFunctionalTest.h
index 30bf81b692d..b4eae403dd7 100644
--- a/App/inc/IFunctionalTest.h
+++ b/App/inc/IFunctionalTest.h
@@ -21,27 +21,27 @@
 
 class ProgramOptions;
 
-//- -------------------------------------------------------------------
-//! @class IFunctionalTest
-//! @brief Base class for sophisticated functional tests.
+//! Base class for sophisticated functional tests.
+
 //! See also FunctionalTestFactory
-//- -------------------------------------------------------------------
+//!
 class IFunctionalTest : public INamed
 {
-public:
+  public:
     IFunctionalTest() : mp_options(0) {}
     IFunctionalTest(const std::string &name) : INamed(name), mp_options(0) {}
-    IFunctionalTest(const std::string &name, const std::string &title) : INamed(name, title), mp_options(0) {}
+    IFunctionalTest(const std::string &name, const std::string &title)
+        : INamed(name, title), mp_options(0) {}
     virtual ~IFunctionalTest(){}
 
-    virtual void initialise(ProgramOptions *p_options) {
-        mp_options = p_options;
-    }
+    virtual void initialise(ProgramOptions *p_options)
+    { mp_options = p_options; }
     virtual void execute();
     virtual void finalise() {}
     std::string getOutputPath() const { return m_output_path; }
-    void setOutputPath(const std::string &output_path) { m_output_path = output_path; }
-protected:
+    void setOutputPath(const std::string &output_path)
+    { m_output_path = output_path; }
+  protected:
     ProgramOptions *mp_options;
     std::string m_output_path;
 };
diff --git a/App/inc/IsGISAXSData.h b/App/inc/IsGISAXSData.h
index 99559147cb1..44f2c584bc2 100644
--- a/App/inc/IsGISAXSData.h
+++ b/App/inc/IsGISAXSData.h
@@ -21,35 +21,35 @@
 #include "SafePointerVector.h"
 #include <vector>
 
-//- -------------------------------------------------------------------
-//! @class IsGISAXSData
-//! @brief Collection of tools for reading isgisaxs files *.dat, *.out
-//- -------------------------------------------------------------------
+//! Collection of tools for reading isgisaxs files *.dat, *.out
+
 class IsGISAXSData
 {
 public:
     typedef SafePointerVector<OutputData<double> >  DataSet_t;
-    enum ItemToRead {kSin_twotheta, kSin_alphaf, kQx, kQy, kQz, kSimResult, kData2fit, kErrorbar, kIobs_Icalc, kFitted };
+    enum ItemToRead { kSin_twotheta, kSin_alphaf, kQx, kQy, kQz,
+                      kSimResult, kData2fit, kErrorbar, kIobs_Icalc, kFitted };
 
     IsGISAXSData(){}
     ~IsGISAXSData(){}
 
-    //! represent single line stored in isgisaxs *.dat file with data to fit
+    //! Represent single line stored in isgisaxs *.dat file with data to fit.
     class IsgiData {
     public:
         IsgiData() : use_it(true), phif(0), alphaf(0), intensity(0), err(0) {}
         bool use_it; double phif; double alphaf; double intensity; double err;
     };
 
-    //! reading isgisaxs *.dat file which holds experimental data scans for fit
-    static void read_datfile(const std::string &filename, DataSet_t &dataset);
+    //! Read isgisaxs *.dat file which holds experimental data scans for fit.
+    static void read_datfile(const std::string& filename, DataSet_t& dataset);
 
-    //!  read special isgisaxs *.out file with isgisaxs fit results
-    static void read_outfile(const std::string &filename, DataSet_t &dataset, ItemToRead item = kData2fit);
+    //! Read special isgisaxs *.out file with isgisaxs fit results.
+    static void read_outfile(const std::string& filename, DataSet_t& dataset, ItemToRead item = kData2fit);
 
 private:
-    //! convert isgisaxs 1d scan to output data 2d object
-    static OutputData<double> *convert_isgi_scan(std::vector<IsgiData > &isgi_data);
+    //! Convert isgisaxs 1d scan to output data 2d object.
+    static OutputData<double> *convert_isgi_scan(
+        std::vector<IsgiData >& isgi_data);
 
 };
 
diff --git a/App/inc/IsGISAXSTools.h b/App/inc/IsGISAXSTools.h
index 374e4d3e677..645c4fe13bb 100644
--- a/App/inc/IsGISAXSTools.h
+++ b/App/inc/IsGISAXSTools.h
@@ -26,10 +26,8 @@ class TH1D;
 class TH2D;
 class TLine;
 
-//- -------------------------------------------------------------------
-//! @class IsGISAXSTools
-//! @brief Definition of functions and classes for IsGISAXS validation
-//- -------------------------------------------------------------------
+//! Histogram management for IsGISAXS validation.
+
 class IsGISAXSTools {
 public:
     struct AxisStructure {
@@ -38,91 +36,129 @@ public:
         std::string name;
     };
 
-    //! draw 2D histogram representing logarithm of OutputData (in new canvas)
-    static void drawLogOutputData(const OutputData<double> &output, const std::string &canvas_name,
-            const std::string &canvas_title, const std::string &draw_options,
-            const std::string &histogram_title);
-
-    //! draw 2D histogram representing OutputData (in new canvas)
-    static void drawOutputData(const OutputData<double> &output, const std::string &canvas_name,
-            const std::string &canvas_title, const std::string &draw_options,
-            const std::string &histogram_title);
-
-    //! draw 2D histogram representing OutputData (in current gPad)
-    static void drawOutputDataInPad(const OutputData<double> &output, const std::string &draw_options, const std::string &histogram_title);
-
-    //! draw 1D distribution over values stored in OutputData
-    static void drawOutputDataDistribution1D(const OutputData<double> &output, const std::string &draw_options, const std::string &histogram_title = std::string());
-
-    //! draw 1D distribution over relative difference in two OutputData sets
-    static void drawOutputDataDifference1D(const OutputData<double> &left, const OutputData<double> &right, const std::string &draw_options, const std::string &histogram_title = std::string());
-
-    //! draw relative difference of two 2D OutputData sets
-    static void drawOutputDataRelativeDifference2D(const OutputData<double> &left, const OutputData<double> &right, const std::string &draw_options, const std::string &histogram_title = std::string());
-
-    //! draw relative difference of two 2D OutputData sets
-    static void drawOutputDataChi2Difference2D(const OutputData<double> &left, const OutputData<double> &right, const std::string &draw_options, const std::string &histogram_title = std::string());
-
-//    // write output data (1D or 2D) in ASCII file
-//    static void writeOutputDataToFile(const OutputData<double> &output, const std::string &filename, int precision=10);
-
-//    // read data from ASCII file (2D assumed) and fill newly created OutputData with it
-//    static OutputData<double> *readOutputDataFromFile(const std::string &filename, int precision=6);
-
-    //! set minimum and maximum values of y-axis (for 1D histogram), or z-axis (for 2D histograms)
-    static void setMinimum(double hist_min) { m_hist_min = hist_min; m_has_min = true; }
-
-    //! set minimum and maximum values of y-axis (for 1D histogram), or z-axis (for 2D histograms)
-    static void setMaximum(double hist_max) { m_hist_max = hist_max; m_has_max = true; }
-
-    //! return true if user has defined minimum
+    //! Draw 2D histogram representing logarithm of OutputData (in new canvas)
+    static void drawLogOutputData(
+        const OutputData<double> &output,
+        const std::string &canvas_name,
+        const std::string &canvas_title,
+        const std::string &draw_options,
+        const std::string &histogram_title);
+
+    //! Draw 2D histogram representing OutputData (in new canvas)
+    static void drawOutputData(
+        const OutputData<double> &output,
+        const std::string &canvas_name,
+        const std::string &canvas_title,
+        const std::string &draw_options,
+        const std::string &histogram_title);
+
+    //! Draw 2D histogram representing OutputData (in current gPad)
+    static void drawOutputDataInPad(
+        const OutputData<double> &output,
+        const std::string &draw_options,
+        const std::string &histogram_title);
+
+    //! Draw 1D distribution over values stored in OutputData
+    static void drawOutputDataDistribution1D(
+        const OutputData<double> &output,
+        const std::string &draw_options,
+        const std::string &histogram_title = std::string());
+
+    //! Draw 1D distribution over relative difference in two OutputData sets.
+    static void drawOutputDataDifference1D(
+        const OutputData<double> &left,
+        const OutputData<double> &right,
+        const std::string &draw_options,
+        const std::string &histogram_title = std::string());
+
+    //! Draw relative difference of two 2D OutputData sets.
+    static void drawOutputDataRelativeDifference2D(
+        const OutputData<double> &left,
+        const OutputData<double> &right,
+        const std::string &draw_options,
+        const std::string &histogram_title = std::string());
+
+    //! Draw relative difference of two 2D OutputData sets
+    static void drawOutputDataChi2Difference2D(
+        const OutputData<double> &left,
+        const OutputData<double> &right,
+        const std::string &draw_options,
+        const std::string &histogram_title = std::string());
+
+    //! Set minimum of y-axis (for 1D histogram), or z-axis (2D histograms).
+    static void setMinimum(double hist_min)
+    { m_hist_min = hist_min; m_has_min = true; }
+
+    //! Set maximum of y-axis (for 1D histogram), or z-axis (2D histograms).
+    static void setMaximum(double hist_max)
+    { m_hist_max = hist_max; m_has_max = true; }
+
+    //! Return true if user has defined minimum
     static bool hasMinimum()  { return m_has_min; }
 
-    //! return true if user has defined minimum
+    //! Return true if user has defined minimum
     static bool hasMaximum()  { return m_has_max; }
 
-    //! reset user defined min values for histograms, they will be calculated automatically
+    //! Reset user defined min values for histograms, they will be calculated automatically
     static void resetMinimum() { m_hist_min = 0; m_has_min = false; }
 
-    //! reset user defined max values for histograms, they will be calculated automatically
+    //! Reset user defined max values for histograms, they will be calculated automatically
     static void resetMaximum() { m_hist_max = 0; m_has_max = false; }
 
-    //! reset user defined min,max values for histograms
+    //! Reset user defined min,max values for histograms
     static void resetMinimumAndMaximum() { resetMinimum(); resetMaximum(); }
 
-    //! export 2D output data in std::vectors (used for saving in ROOT tree)
-    static void exportOutputDataInVectors2D(const OutputData<double> &input_data
-                                            , std::vector<std::vector<double > > &v_data
-                                            , std::vector<std::vector<double > > &v_axis0
-                                            , std::vector<std::vector<double > > &v_axis1);
+    //! Export 2D output data in std::vectors (used for saving in ROOT tree).
+    static void exportOutputDataInVectors2D(
+        const OutputData<double> &input_data,
+        std::vector<std::vector<double > > &v_data,
+        std::vector<std::vector<double > > &v_axis0,
+        std::vector<std::vector<double > > &v_axis1);
 
-    //! create two-dimensional TH2D from OutputData
-    static TH2D *getOutputDataTH2D(const OutputData<double>& output, const std::string &histo_name);
+    //! Create two-dimensional TH2D from OutputData.
+    static TH2D *getOutputDataTH2D(
+        const OutputData<double>& output,
+        const std::string &histo_name);
 
-    //! create one, two, three-dimensional histograms from OutputData
-    static TH1 *getOutputDataTH123D(const OutputData<double>& output, const std::string &histo_name);
+    //! Create one, two, three-dimensional histograms from OutputData.
+    static TH1 *getOutputDataTH123D(
+        const OutputData<double>& output,
+        const std::string &histo_name);
 
-    //! Create TLine for displaying of one-dimensional data scan
+    //! Create TLine for displaying of one-dimensional data scan.
     static TLine *getOutputDataScanLine(const OutputData<double> &data);
 
-    //! Create TH1D for displaying of one-dimensional data scan
-    static TH1D *getOutputDataScanHist(const OutputData<double> &data, const std::string &hname=std::string("scan_hist"));
-
-    //! create noisy data
-    static OutputData<double > *createNoisyData(const OutputData<double> &exact_data, double noise_factor = 0.1);
-    static OutputData<double > *createDataWithGaussianNoise(const OutputData<double> &exact_data, double sigma);
-
-    //! draw standard IsGISAXS comparison canvas
-    static void drawOutputDataComparisonResults(const OutputData<double> &data, const OutputData<double> &reference, const std::string &name=std::string("noname"), const std::string &title=std::string("no title"), double hmin=1., double hmax = -1., double hdiff=0.0001 );
-
-private:
-    static double m_hist_min; // minimum value of y-axis (for 1D histograms), or z-axis (for 2D histograms)
-    static double m_hist_max; // maximum value of y-axis (for 1D histograms), or z-axis (for 2D histograms)
-    static bool m_has_min;    // if user defined histogram minimum
-    static bool m_has_max;    // if user defined histogram maximum
+    //! Create TH1D for displaying of one-dimensional data scan.
+    static TH1D *getOutputDataScanHist(
+        const OutputData<double> &data,
+        const std::string &hname=std::string("scan_hist"));
+
+    //! Create noisy data.
+    static OutputData<double > *createNoisyData(
+        const OutputData<double> &exact_data,
+        double noise_factor = 0.1);
+    static OutputData<double > *createDataWithGaussianNoise(
+        const OutputData<double> &exact_data, double sigma);
+
+    //! Draw standard IsGISAXS comparison canvas.
+    static void drawOutputDataComparisonResults(
+        const OutputData<double> &data,
+        const OutputData<double> &reference,
+        const std::string &name=std::string("noname"),
+        const std::string &title=std::string("no title"),
+        double hmin=1.,
+        double hmax = -1.,
+        double hdiff=0.0001 );
+
+  private:
+    //! lower bound of y-axis (for 1D histograms), or z-axis (for 2D histograms)
+    static double m_hist_min; 
+    //! upper bound of y-axis (for 1D histograms), or z-axis (for 2D histograms)
+    static double m_hist_max; 
+    //! user defined histogram minimum ?
+    static bool m_has_min;
+    //! user defined histogram maximum
+    static bool m_has_max;    
 };
 
-
-///* namespace IsGISAXS Tools */
-
 #endif /* ISGISAXSTOOLS_H_ */
diff --git a/App/inc/SampleFactory.h b/App/inc/SampleFactory.h
index 0dd36a066e4..82dc86bfb36 100644
--- a/App/inc/SampleFactory.h
+++ b/App/inc/SampleFactory.h
@@ -20,18 +20,18 @@
 #include "IFactory.h"
 #include "ISample.h"
 
+//! Factory to create standard pre-defined samples
 
-//- -------------------------------------------------------------------
-//! @class SampleFactory
-//! @brief Factory to create standard pre-defined samples
 //! Samples itself are defined in StandardSamples.{h, cxx}
-//- -------------------------------------------------------------------
-class SampleFactory : public ISingleton<SampleFactory>, public IFactory<std::string, ISample>
+//!
+class SampleFactory : public ISingleton<SampleFactory>,
+                      public IFactory<std::string, ISample>
 {
-public:
+  public:
     SampleFactory();
 
-    static ISample *createSample(const std::string &sample_name) { return instance().createItem(sample_name); }
+    static ISample *createSample(const std::string &sample_name)
+    { return instance().createItem(sample_name); }
 };
 
 #endif // SAMPLEFACTORY_H
diff --git a/App/inc/StandardSamples.h b/App/inc/StandardSamples.h
index 5f0dfffa9b0..398a1aaf84c 100644
--- a/App/inc/StandardSamples.h
+++ b/App/inc/StandardSamples.h
@@ -3,7 +3,7 @@
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
 //! @file      App/StandardSamples.h 
-//! @brief     Defines class StandardSamples.
+//! @brief     Defines namespace StandardSamples.
 //
 //! Homepage:  apps.jcns.fz-juelich.de/BornAgain
 //! License:   GNU General Public License v3 or higher (see COPYING)
@@ -19,6 +19,7 @@
 #include "ISample.h"
 #include "SampleFactory.h"
 
+//! Collection of ISample* pointers to all standard examples.
 
 namespace StandardSamples{
 
diff --git a/App/inc/TestConvolution.h b/App/inc/TestConvolution.h
index 2bb71a47d69..d545bfa2259 100644
--- a/App/inc/TestConvolution.h
+++ b/App/inc/TestConvolution.h
@@ -21,14 +21,11 @@
 #include <string>
 #include <vector>
 
+//! Test Convolve class for instrumental effects studies.
 
-//- -------------------------------------------------------------------
-//! @class TestConvolution
-//! @brief Testing Convolve class for instrumental effects studies
-//- -------------------------------------------------------------------
 class TestConvolution : public IFunctionalTest
 {
-public:
+  public:
     TestConvolution();
 
     void execute();
@@ -39,7 +36,7 @@ public:
     //! testing convolution in 2d
     void test_convolve2d();
 
-private:
+  private:
     //! test function with many gaus'es on top of flat background for convolution studies
     double fpeaks(double *x, double *par);
 
diff --git a/App/inc/TestDetectorResolution.h b/App/inc/TestDetectorResolution.h
index 2c238867776..001d5ba5bfd 100644
--- a/App/inc/TestDetectorResolution.h
+++ b/App/inc/TestDetectorResolution.h
@@ -23,15 +23,14 @@
 #include "InterferenceFunction1DParaCrystal.h"
 #include "InterferenceFunctionNone.h"
 
-
 class TestDetectorResolution : public IFunctionalTest
 {
-public:
+  public:
     TestDetectorResolution();
     virtual ~TestDetectorResolution();
     virtual void execute();
 
-private:
+  private:
     void initializeSample();
     OutputData<double> *mp_intensity_output;
     ISample *mp_sample;
diff --git a/App/inc/TestDiffuseReflection.h b/App/inc/TestDiffuseReflection.h
index 1d172e68830..77607934d9a 100644
--- a/App/inc/TestDiffuseReflection.h
+++ b/App/inc/TestDiffuseReflection.h
@@ -22,11 +22,8 @@
 
 class MultiLayer;
 
+//! Test diffuse (off-specular) reflection from multilayer.
 
-//- -------------------------------------------------------------------
-//! @class TestDiffuseReflection
-//! @brief Test diffuse (off-specular) reflection from multilayer
-//- -------------------------------------------------------------------
 class TestDiffuseReflection : public IFunctionalTest
 {
 public:
@@ -39,13 +36,12 @@ public:
 private:
     MultiLayer *m_sample; //!< pointer to multilayer sample
     OutputData<double  > *m_data_spec; //!< specular reflectivity
-    OutputData<double  > *m_data_offspec; //!< off specular reflectivity
+    OutputData<double  > *m_data_offspec; //!< off-specular reflectivity
 
-    double m_alphaMin; //! min alpha value
-    double m_alphaMax; //! max alpha value
-    int m_npoints;     //! number of points in range [m_alphaMin, m_alphaMax]
+    double m_alphaMin; //!< min alpha value
+    double m_alphaMax; //!< max alpha value
+    int m_npoints;     //!< number of points in range [m_alphaMin, m_alphaMax]
 
 };
 
-
 #endif // TESTDIFFUSESCATTERING_H
diff --git a/App/inc/TestFittingBenchmark.h b/App/inc/TestFittingBenchmark.h
index 856f3546abb..60acdfa7444 100644
--- a/App/inc/TestFittingBenchmark.h
+++ b/App/inc/TestFittingBenchmark.h
@@ -18,18 +18,14 @@
 
 #include "IFunctionalTest.h"
 
+//! Test of minimizers with hard-to-minimize test functions
 
-//- -------------------------------------------------------------------
-//! @class TestFittingBenchmark
-//! @brief Test of minimizers with hard-to-minimize test functions
-//- -------------------------------------------------------------------
 class TestFittingBenchmark : public IFunctionalTest
 {
 public:
     TestFittingBenchmark();
     virtual ~TestFittingBenchmark(){}
     virtual void execute();
-
 };
 
 #endif // TESTFITTINGBENCHMARK_H
diff --git a/App/inc/TestFittingModule1.h b/App/inc/TestFittingModule1.h
index 19521bceb39..3f41779fe8f 100644
--- a/App/inc/TestFittingModule1.h
+++ b/App/inc/TestFittingModule1.h
@@ -16,20 +16,16 @@
 #ifndef TESTFITTINGMODULE1_H_
 #define TESTFITTINGMODULE1_H_
 
-
 #include "IFunctionalTest.h"
 #include "OutputData.h"
 #include "ISample.h"
 #include "Simulation.h"
 #include "ISampleBuilder.h"
 
-
 class FitSuite;
 
-//- -------------------------------------------------------------------
-//! @class TestFittingModule1
-//! @brief Testing of fitting module with simple samples
-//- -------------------------------------------------------------------
+//! Test of fitting module with simple samples.
+
 class TestFittingModule1 : public IFunctionalTest
 {
 public:
@@ -53,5 +49,4 @@ private:
     FitSuite *m_fitSuite;
 };
 
-
 #endif /* TESTFITTINGMODULE1_H_ */
diff --git a/App/inc/TestFittingModule2.h b/App/inc/TestFittingModule2.h
index ac10c1d6fd6..15010e405a5 100644
--- a/App/inc/TestFittingModule2.h
+++ b/App/inc/TestFittingModule2.h
@@ -16,24 +16,21 @@
 #ifndef TESTFITTINGMODULE2_H
 #define TESTFITTINGMODULE2_H
 
-
 #include "IFunctionalTest.h"
 #include "OutputData.h"
 #include "ISample.h"
 #include "Simulation.h"
 #include "ISampleBuilder.h"
 
-
 class FitSuite;
 
-//- -------------------------------------------------------------------
-//! @class TestFittingModule2
-//! @brief Testing different fitting approaches on 5 parameter sample
+//! Test different fitting approaches on 5 parameter sample.
+
 //! a) sample builder b) chi2 module c) different fit strategies d) mask on data
-//- -------------------------------------------------------------------
+//!
 class TestFittingModule2 : public IFunctionalTest
 {
-public:
+  public:
     TestFittingModule2();
     virtual ~TestFittingModule2();
     virtual void execute();
@@ -41,13 +38,13 @@ public:
     //! builds sample for fitter testing
     class SampleBuilder : public ISampleBuilder
     {
-    public:
+      public:
         SampleBuilder();
         virtual ~SampleBuilder(){}
         virtual ISample *buildSample() const;
-    protected:
+      protected:
         virtual void init_parameters();
-    private:
+      private:
         double m_cylinder_height;
         double m_cylinder_radius;
         double m_prism3_half_side;
@@ -67,7 +64,7 @@ public:
     //! fit example with data masking
     void fit_example_mask();
 
-private:
+  private:
     void initializeSimulation();
     void initializeRealData();
 
@@ -78,5 +75,4 @@ private:
     FitSuite *m_fitSuite;
 };
 
-
 #endif // TESTFITTINGMODULE2_H
diff --git a/App/inc/TestFittingModule3.h b/App/inc/TestFittingModule3.h
index 25be5127069..ea476538b60 100644
--- a/App/inc/TestFittingModule3.h
+++ b/App/inc/TestFittingModule3.h
@@ -16,7 +16,6 @@
 #ifndef TESTFITTINGMODULE3_H
 #define TESTFITTINGMODULE3_H
 
-
 #include "IFunctionalTest.h"
 #include "OutputData.h"
 #include "ISample.h"
@@ -27,10 +26,10 @@
 
 class FitSuite;
 
-//- -------------------------------------------------------------------
-//! @class TestFittingModule3
-//! @brief Simultaneous fit of several 1D scans (mixture of cylinders and prisms, 4 parameters)
-//- -------------------------------------------------------------------
+//! Simultaneous fit of several 1D scans.
+
+//! Mixture of cylinders and prisms, 4 parameters.
+//!
 class TestFittingModule3 : public IFunctionalTest
 {
 public:
@@ -51,4 +50,5 @@ private:
     OutputData<double > *m_real_data;
     DataScan_t m_data_scans;
 };
+
 #endif // TESTFITTINGMODULE3_H
diff --git a/App/inc/TestFormFactor.h b/App/inc/TestFormFactor.h
index 29e647dd44c..5406c540b04 100644
--- a/App/inc/TestFormFactor.h
+++ b/App/inc/TestFormFactor.h
@@ -20,7 +20,6 @@
 #include "OutputData.h"
 #include "FormFactors.h"
 
-
 class TestFormFactor : public IFunctionalTest
 {
 public:
@@ -34,5 +33,4 @@ private:
     FormFactorCylinder m_ff;
 };
 
-
 #endif // TESTFORMFACTOR_H
diff --git a/App/inc/TestFormFactors.h b/App/inc/TestFormFactors.h
index 9579d765f41..3ed50ad5e13 100644
--- a/App/inc/TestFormFactors.h
+++ b/App/inc/TestFormFactors.h
@@ -20,11 +20,8 @@
 #include "OutputData.h"
 #include "ISample.h"
 
+//! Comparison with FormFactors ex-1: mean forfactor cylinder and prism
 
-//- -------------------------------------------------------------------
-//! @class TestFormFactors
-//! @brief Comparison with FormFactors ex-1: mean forfactor cylinder and prism
-//- -------------------------------------------------------------------
 class TestFormFactors : public IFunctionalTest
 {
 public:
diff --git a/App/inc/TestFourier.h b/App/inc/TestFourier.h
index 505156e92b9..7f68695586a 100644
--- a/App/inc/TestFourier.h
+++ b/App/inc/TestFourier.h
@@ -22,16 +22,15 @@
 
 class TestFourier : public IFunctionalTest
 {
-public:
+  public:
     TestFourier();
     virtual ~TestFourier();
     virtual void execute();
 
-private:
+  private:
     void initializeSample();
     OutputData<double> *mp_intensity_output;
     ISample *mp_sample;
 };
 
-
 #endif /* TESTFOURIER_H_ */
diff --git a/App/inc/TestFresnelCoeff.h b/App/inc/TestFresnelCoeff.h
index 16339bf276d..08c0239faf1 100644
--- a/App/inc/TestFresnelCoeff.h
+++ b/App/inc/TestFresnelCoeff.h
@@ -21,12 +21,8 @@
 #include "MultiLayer.h"
 #include "OutputData.h"
 
+//! Calculate Fresnel coefficients for several typical multilayer samples and produce validation plots
 
-//- -------------------------------------------------------------------
-//! @class TestFresnelCoeff
-//! @brief Calculate Fresnel coefficients for several typical multilayer
-//! samples and produce validation plots
-//- -------------------------------------------------------------------
 class TestFresnelCoeff : public IFunctionalTest
 {
 public:
diff --git a/App/inc/TestFumiliLMA.h b/App/inc/TestFumiliLMA.h
index e007daa1849..7b39dff1224 100644
--- a/App/inc/TestFumiliLMA.h
+++ b/App/inc/TestFumiliLMA.h
@@ -32,11 +32,8 @@ class IFunctionObject;
 class IChiSquaredModule;
 class TCanvas;
 
+//! Test of ROOT's LMA-based minimizers Fumili and GSLMultiFit
 
-//- -------------------------------------------------------------------
-//! @class TestFumiliLMA
-//! @brief Test of ROOT's LMA-based minimizers Fumili and GSLMultiFit
-//- -------------------------------------------------------------------
 class TestFumiliLMA : public IFunctionalTest
 {
 public:
@@ -49,16 +46,17 @@ public:
     double functionToMinimize(const double *pars);
 
 private:
-    void FillOutputDataFromFunction(OutputData<double> &data, TF2 *fun, int nbinsx=100, int nbinsy=100);
-
-    ROOT::Math::Minimizer *m_root_minimizer; //! minimizer
-    ROOT::Math::Functor *m_fcn; //! fit function
-    IFunctionObject *m_func_object; //! simulation function
-    TF2 *m_func; //! ROOT representation of the simulation function with min, max defined
-    IChiSquaredModule *m_chi_module; //! chi squared module
-    OutputData<double > *m_real_data; //! real data
-    size_t m_ndim; //! number of fit parametrs
-    double m_sigma; //! gaussian noise
+    void FillOutputDataFromFunction(
+        OutputData<double> &data, TF2 *fun, int nbinsx=100, int nbinsy=100);
+
+    ROOT::Math::Minimizer *m_root_minimizer; //!< minimizer
+    ROOT::Math::Functor *m_fcn; //!< fit function
+    IFunctionObject *m_func_object; //!< simulation function
+    TF2 *m_func; //!< ROOT representation of the simulation function with min, max defined
+    IChiSquaredModule *m_chi_module; //!< chi squared module
+    OutputData<double > *m_real_data; //!< real data
+    size_t m_ndim; //!< number of fit parametrs
+    double m_sigma; //!< gaussian noise
     TCanvas *m_c1;
 };
 
@@ -108,11 +106,17 @@ class MyChi2Function : public ROOT::Math::FitMethodFunction
 public:
     typedef ROOT::Math::BasicFitMethodFunction<ROOT::Math::IMultiGenFunction>::Type_t  Type_t;
 
-    MyChi2Function(TestFumiliLMA *test) : ROOT::Math::FitMethodFunction((int)test->m_ndim, (int)test->m_real_data->getAllocatedSize()), m_test(test) {}
+    MyChi2Function(TestFumiliLMA *test)
+        : ROOT::Math::FitMethodFunction(
+            (int)test->m_ndim,
+            (int)test->m_real_data->getAllocatedSize())
+        , m_test(test) {}
     virtual ~MyChi2Function(){}
 
     Type_t Type() const { return ROOT::Math::FitMethodFunction::kLeastSquare; }
-    ROOT::Math::IMultiGenFunction * Clone() const { return new MyChi2Function(m_test); }
+
+    ROOT::Math::IMultiGenFunction * Clone() const
+    { return new MyChi2Function(m_test); }
 
     // evaluation of the all chi2
     double DoEval(const double * par) const {
@@ -133,5 +137,4 @@ public:
     TestFumiliLMA *m_test;
 };
 
-
 #endif // TESTFUMILILMA_H
diff --git a/App/inc/TestIsGISAXS1.h b/App/inc/TestIsGISAXS1.h
index 3200092cbd1..4b33d56a0e3 100644
--- a/App/inc/TestIsGISAXS1.h
+++ b/App/inc/TestIsGISAXS1.h
@@ -18,10 +18,8 @@
 
 #include "IFunctionalTest.h"
 
-//- -------------------------------------------------------------------
-//! @class TestIsGISAXS1
-//! @brief Comparison with IsGISAXS ex-1: mean forfactor cylinder and prism
-//- -------------------------------------------------------------------
+//! IsGISAXS ex#1: Mean formfactor cylinder and prism.
+
 class TestIsGISAXS1 : public IFunctionalTest
 {
 public:
diff --git a/App/inc/TestIsGISAXS10.h b/App/inc/TestIsGISAXS10.h
index f4fb603dcf2..96c02723460 100644
--- a/App/inc/TestIsGISAXS10.h
+++ b/App/inc/TestIsGISAXS10.h
@@ -18,10 +18,8 @@
 
 #include "IFunctionalTest.h"
 
-//- -------------------------------------------------------------------
-//! @class TestIsGISAXS10
-//! @brief Comparison with IsGISAXS ex-10: cylinder with interference on top of substrate
-//- -------------------------------------------------------------------
+//! IsGISAXS ex#10: Cylinder with interference on top of substrate.
+
 class TestIsGISAXS10 : public IFunctionalTest
 {
 public:
diff --git a/App/inc/TestIsGISAXS11.h b/App/inc/TestIsGISAXS11.h
index 41be90945a7..2c5ad9aeca3 100644
--- a/App/inc/TestIsGISAXS11.h
+++ b/App/inc/TestIsGISAXS11.h
@@ -18,10 +18,8 @@
 
 #include "IFunctionalTest.h"
 
-//- -------------------------------------------------------------------
-//! @class TestIsGISAXS11
-//! @brief Comparison with IsGISAXS ex-11:
-//- -------------------------------------------------------------------
+//! IsGISAXS ex#11: ?.
+
 class TestIsGISAXS11 : public IFunctionalTest
 {
 public:
@@ -32,5 +30,4 @@ public:
     virtual void finalise();
 };
 
-
 #endif /* TESTISGISAXS11_H_ */
diff --git a/App/inc/TestIsGISAXS12.h b/App/inc/TestIsGISAXS12.h
index d5c42374d0c..ac56d29b37d 100644
--- a/App/inc/TestIsGISAXS12.h
+++ b/App/inc/TestIsGISAXS12.h
@@ -26,10 +26,8 @@
 class Simulation;
 class FitSuite;
 
-//- -------------------------------------------------------------------
-//! @class TestIsGISAXS12
-//! @brief Comparison with IsGISAXS ex-12: constrained fit example
-//- -------------------------------------------------------------------
+//! IsGISAXS ex#12: Constrained fit.
+
 class TestIsGISAXS12 : public IFunctionalTest
 {
 public:
@@ -48,7 +46,7 @@ private:
 
         virtual ISample *buildSample() const;
     protected:
-        //! initialize pool parameters, i.e. register some of class members for later access via parameter pool
+        //! register some class members for later access via parameter pool
         virtual void init_parameters();
         double m_particle_probability1;
         double m_particle_radius1;
@@ -90,5 +88,4 @@ private:
     FitSuite *m_fitSuite;
 };
 
-
 #endif // TESTISGISAXS12_H
diff --git a/App/inc/TestIsGISAXS13.h b/App/inc/TestIsGISAXS13.h
index 0184276a344..6a9c5d1af38 100644
--- a/App/inc/TestIsGISAXS13.h
+++ b/App/inc/TestIsGISAXS13.h
@@ -23,11 +23,10 @@
 class Simulation;
 class FitSuite;
 
-//- -------------------------------------------------------------------
-//! @class TestIsGISAXS
-//! @brief Comparison with IsGISAXS ex-13: simulating annealing
-//! (cylinders with size distribution and 1D paracrystal inderference function)
-//- -------------------------------------------------------------------
+//! IsGISAXS ex#13: Simulating annealing.
+
+//! Cylinders with size distribution and 1D paracrystal interference function.
+//!
 class TestIsGISAXS13 : public IFunctionalTest
 {
 public:
diff --git a/App/inc/TestIsGISAXS14.h b/App/inc/TestIsGISAXS14.h
index 724095f0c89..6014a7565bf 100644
--- a/App/inc/TestIsGISAXS14.h
+++ b/App/inc/TestIsGISAXS14.h
@@ -18,10 +18,8 @@
 
 #include "IFunctionalTest.h"
 
-//- -------------------------------------------------------------------
-//! @class TestIsGISAXS14
-//! @brief Comparison with IsGISAXS ex-14: multi layered sphere on graded interface
-//- -------------------------------------------------------------------
+//! IsGISAXS ex#14: Multi layered sphere on graded interface.
+
 class TestIsGISAXS14 : public IFunctionalTest
 {
 public:
diff --git a/App/inc/TestIsGISAXS15.h b/App/inc/TestIsGISAXS15.h
index c47fd377682..5a075ec4973 100644
--- a/App/inc/TestIsGISAXS15.h
+++ b/App/inc/TestIsGISAXS15.h
@@ -18,10 +18,8 @@
 
 #include "IFunctionalTest.h"
 
-//- -------------------------------------------------------------------
-//! @class TestIsGISAXS15
-//! @brief Comparison with IsGISAXS ex-15: Size-Spacing Correlation Approximation
-//- -------------------------------------------------------------------
+//! IsGISAXS ex#15: Size-Spacing Correlation Approximation.
+
 class TestIsGISAXS15 : public IFunctionalTest
 {
 public:
@@ -34,7 +32,10 @@ private:
     // structure to hold info over several compare cases
     struct CompareStruct
     {
-        CompareStruct(std::string _isginame, std::string _thisname, std::string _descr) : isginame(_isginame), thisname(_thisname), descr(_descr){}
+        CompareStruct(std::string _isginame,
+                      std::string _thisname,
+                      std::string _descr)
+        : isginame(_isginame), thisname(_thisname), descr(_descr){}
         std::string isginame;
         std::string thisname;
         std::string descr;
@@ -43,5 +44,4 @@ private:
     std::string m_data_path;
 };
 
-
 #endif /* TESTISGISAXS15_H_ */
diff --git a/App/inc/TestIsGISAXS2.h b/App/inc/TestIsGISAXS2.h
index 6c616ebf9dd..1a9d52bdfa7 100644
--- a/App/inc/TestIsGISAXS2.h
+++ b/App/inc/TestIsGISAXS2.h
@@ -22,11 +22,8 @@
 
 #include <string>
 
-//- -------------------------------------------------------------------
-//! @class TestIsGISAXS2
-//! @brief Comparison with IsGISAXS ex-2: mean form factors for particles
-//! with shape size distributions
-//- -------------------------------------------------------------------
+//! IsGISAXS ex#2: Mean formfactors for particles with shape size distributions.
+
 class TestIsGISAXS2 : public IFunctionalTest
 {
 public:
@@ -35,10 +32,6 @@ public:
 
     virtual void execute();
     virtual void finalise();
-
-//private:
-//    std::string m_data_path;
-
 };
 
 #endif // TESTISGISAXS2_H
diff --git a/App/inc/TestIsGISAXS3.h b/App/inc/TestIsGISAXS3.h
index 78465d8dc46..829b4cdcf0c 100644
--- a/App/inc/TestIsGISAXS3.h
+++ b/App/inc/TestIsGISAXS3.h
@@ -22,23 +22,24 @@
 
 #include <string>
 
-//- -------------------------------------------------------------------
-//! @class TestIsGISAXS3
-//! @brief Comparison with IsGISAXS ex-3: cylinder on top of substrate
-//- -------------------------------------------------------------------
+//! IsGISAXS ex#3: Cylinder on top of substrate.
+
 class TestIsGISAXS3 : public IFunctionalTest
 {
-public:
+  public:
     TestIsGISAXS3();
     virtual ~TestIsGISAXS3(){}
     virtual void execute();
     virtual void finalise();
 
-private:
+  private:
     // structure to hold info over several compare cases
     struct CompareStruct
     {
-        CompareStruct(std::string _isginame, std::string _thisname, std::string _descr) : isginame(_isginame), thisname(_thisname), descr(_descr){}
+        CompareStruct(std::string _isginame,
+                      std::string _thisname,
+                      std::string _descr)
+        : isginame(_isginame), thisname(_thisname), descr(_descr){}
         std::string isginame;
         std::string thisname;
         std::string descr;
diff --git a/App/inc/TestIsGISAXS4.h b/App/inc/TestIsGISAXS4.h
index a4d6b9c2fb7..5265d6b1ea7 100644
--- a/App/inc/TestIsGISAXS4.h
+++ b/App/inc/TestIsGISAXS4.h
@@ -18,23 +18,25 @@
 
 #include "IFunctionalTest.h"
 
-//- -------------------------------------------------------------------
-//! @class TestIsGISAXS4
-//! @brief Comparison with IsGISAXS ex-4: cylinder with interference 1DDL or 2DDL
-//- -------------------------------------------------------------------
+//! IsGISAXS ex#4: Cylinder with interference 1DDL or 2DDL.
+
 class TestIsGISAXS4 : public IFunctionalTest
 {
-public:
+  public:
     TestIsGISAXS4();
     virtual ~TestIsGISAXS4(){}
 
     virtual void execute();
     virtual void finalise();
-private:
+  private:
     // structure to hold info over several compare cases
     struct CompareStruct
     {
-        CompareStruct(std::string _isginame, std::string _thisname, std::string _descr) : isginame(_isginame), thisname(_thisname), descr(_descr){}
+        CompareStruct(
+            std::string _isginame,
+            std::string _thisname,
+            std::string _descr)
+        : isginame(_isginame), thisname(_thisname), descr(_descr){}
         std::string isginame;
         std::string thisname;
         std::string descr;
@@ -43,5 +45,4 @@ private:
     std::string m_data_path;
 };
 
-
 #endif /* TESTISGISAXS4_H_ */
diff --git a/App/inc/TestIsGISAXS5.h b/App/inc/TestIsGISAXS5.h
index 940d082c49e..0790e82bf8e 100644
--- a/App/inc/TestIsGISAXS5.h
+++ b/App/inc/TestIsGISAXS5.h
@@ -23,11 +23,8 @@
 class Simulation;
 class FitSuite;
 
-//- -------------------------------------------------------------------
-//! @class TestIsGISAXS
-//! @brief Comparison with IsGISAXS ex-5: LMA fitting of cylinders with
-//! size distribution and 1D paracrystal inderference function.
-//- -------------------------------------------------------------------
+//! IsGISAXS ex#5: LMA fit of cylinders with size distribution and 1D paracrystal interference function.
+
 class TestIsGISAXS5 : public IFunctionalTest
 {
 public:
@@ -43,7 +40,7 @@ public:
         SampleBuilder();
         virtual ISample *buildSample() const;
     protected:
-        //! initialize pool parameters, i.e. register some of class members for later access via parameter pool
+        //! register some class members for later access via parameter pool
         virtual void init_parameters();
         double m_particle_radius;
         double m_dispersion_radius;
diff --git a/App/inc/TestIsGISAXS6.h b/App/inc/TestIsGISAXS6.h
index eb9d51e6d7b..101e6e38c77 100644
--- a/App/inc/TestIsGISAXS6.h
+++ b/App/inc/TestIsGISAXS6.h
@@ -19,11 +19,8 @@
 #include "IFunctionalTest.h"
 //#include "ISampleBuilder.h"
 
-//- -------------------------------------------------------------------
-//! @class TestIsGISAXS6
-//! @brief Comparison with IsGISAXS ex-6: cylinders with regular lattice
-//! interference functions
-//- -------------------------------------------------------------------
+//! IsGISAXS ex#6: Cylinders with regular lattice interference functions.
+
 class TestIsGISAXS6 : public IFunctionalTest
 {
 public:
@@ -41,20 +38,7 @@ private:
         std::string thisname;
         std::string descr;
     };
-   // class LatticeVariantBuilder : public ISampleBuilder {
-   // public:
-     //   LatticeVariantBuilder() : m_xi(0.0) {}
-     //   virtual ~LatticeVariantBuilder() {}
-
-    //    virtual ISample *buildSample() const;
-
-   //     void setXi(double xi) { m_xi = xi; }
-   // private:
-   //     double m_xi;
-  //  };
-  //  LatticeVariantBuilder m_builder;
     std::string m_data_path;
 };
 
-
 #endif /* TESTISGISAXS6_H_ */
diff --git a/App/inc/TestIsGISAXS8.h b/App/inc/TestIsGISAXS8.h
index af34292981d..f03c891aa82 100644
--- a/App/inc/TestIsGISAXS8.h
+++ b/App/inc/TestIsGISAXS8.h
@@ -18,10 +18,8 @@
 
 #include "IFunctionalTest.h"
 
-//- -------------------------------------------------------------------
-//! @class TestIsGISAXS8
-//! @brief Comparison with IsGISAXS ex-8: cylinder with interference 2DDL_lattice
-//- -------------------------------------------------------------------
+//! IsGISAXS ex#8: Cylinder with interference 2DDL_lattice.
+
 class TestIsGISAXS8 : public IFunctionalTest
 {
 public:
diff --git a/App/inc/TestIsGISAXS9.h b/App/inc/TestIsGISAXS9.h
index fee65981799..0d8219d7eff 100644
--- a/App/inc/TestIsGISAXS9.h
+++ b/App/inc/TestIsGISAXS9.h
@@ -19,13 +19,9 @@
 #include "IFunctionalTest.h"
 #include "OutputData.h"
 #include "ISample.h"
-//#include "SafePointerVector.h"
 
+//! IsGISAXS ex#9: Pyramids on top of substrate.
 
-//- -------------------------------------------------------------------
-//! @class TestIsGISAXS9
-//! @brief Comparison with IsGISAXS ex-9: pyramids on top of substrate
-//- -------------------------------------------------------------------
 class TestIsGISAXS9 : public IFunctionalTest
 {
 public:
@@ -37,5 +33,4 @@ public:
 
 };
 
-
 #endif // TESTISGISAXS9_H
diff --git a/App/inc/TestMesoCrystal1.h b/App/inc/TestMesoCrystal1.h
index c2f7f206703..0edc81740f7 100644
--- a/App/inc/TestMesoCrystal1.h
+++ b/App/inc/TestMesoCrystal1.h
@@ -26,11 +26,8 @@
 #include "MesoCrystal.h"
 #include "Lattice.h"
 
+//! Simulation of 3D ordered particle assemblies.
 
-//- -------------------------------------------------------------------
-//! @class TestMesoCrystal1
-//! @brief Simulation of 3D ordered particle assemblies
-//- -------------------------------------------------------------------
 class TestMesoCrystal1 : public IFunctionalTest
 {
 public:
@@ -69,6 +66,4 @@ private:
     ISampleBuilder *mp_sample_builder;
 };
 
-
-
 #endif /* TESTMESOCRYSTAL1_H_ */
diff --git a/App/inc/TestMesoCrystal2.h b/App/inc/TestMesoCrystal2.h
index 8721669ea8d..0d1edd54561 100644
--- a/App/inc/TestMesoCrystal2.h
+++ b/App/inc/TestMesoCrystal2.h
@@ -28,11 +28,8 @@ class IFormFactor;
 class Lattice;
 class FitSuite;
 
+//! Simulation and fit of 3D ordered particle assemblies.
 
-//- -------------------------------------------------------------------
-//! @class TestMesoCrystal2
-//! @brief Simulation and fit of 3D ordered particle assemblies
-//- -------------------------------------------------------------------
 class TestMesoCrystal2 : public IFunctionalTest
 {
 public:
diff --git a/App/inc/TestMiscellaneous.h b/App/inc/TestMiscellaneous.h
index c0e9e849e65..df1a9162b29 100644
--- a/App/inc/TestMiscellaneous.h
+++ b/App/inc/TestMiscellaneous.h
@@ -18,11 +18,8 @@
 
 #include "IFunctionalTest.h"
 
+//! Collection of functional tests for miscellaneous issues.
 
-//- -------------------------------------------------------------------
-//! @class TestMiscellaneous
-//! @brief Collection of functional tests for miscellaneous issues
-//- -------------------------------------------------------------------
 class TestMiscellaneous : public IFunctionalTest
 {
 public:
diff --git a/App/inc/TestMultiLayerRoughness.h b/App/inc/TestMultiLayerRoughness.h
index 90d1cd7efb0..b2d2dde206b 100644
--- a/App/inc/TestMultiLayerRoughness.h
+++ b/App/inc/TestMultiLayerRoughness.h
@@ -20,12 +20,10 @@
 #include "OutputData.h"
 #include "ISample.h"
 
+//! Tests of specular and diffuse reflection from rough multilayer in DWBA.
 
-//- -------------------------------------------------------------------
-//! @class TestMultiLayerRoughness
-//! @brief Tests of specular and diffuse reflection from rough multilayer in DWBA.
-//! (this is replacement for TestDiffuseReflection test)
-//- -------------------------------------------------------------------
+//! This is replacement for TestDiffuseReflection test.
+//!
 class TestMultiLayerRoughness : public IFunctionalTest
 {
 public:
diff --git a/App/inc/TestPerformance.h b/App/inc/TestPerformance.h
index 89cec75a1c8..e7b23cdb2e2 100644
--- a/App/inc/TestPerformance.h
+++ b/App/inc/TestPerformance.h
@@ -25,10 +25,8 @@
 #include <map>
 #include <iostream>
 
-//- -------------------------------------------------------------------
-//! @class TestPerformance
-//! @brief run standard tests to trace changes in the performance
-//- -------------------------------------------------------------------
+//! Run standard tests to trace changes in the performance.
+
 class TestPerformance : public IFunctionalTest
 {
 public:
diff --git a/App/inc/TestRootTree.h b/App/inc/TestRootTree.h
index f54f5ad3118..050116c095f 100644
--- a/App/inc/TestRootTree.h
+++ b/App/inc/TestRootTree.h
@@ -21,11 +21,8 @@
 #include "OutputData.h"
 #include "Simulation.h"
 
+//! Using ROOT trees to read/write data from/to disk.
 
-//- -------------------------------------------------------------------
-//! @class TestRootTree.h
-//! @brief using ROOT trees to read/write data from/to disk
-//- -------------------------------------------------------------------
 class TestRootTree : public IFunctionalTest
 {
 public:
@@ -63,6 +60,4 @@ private:
     OutputData<double> *mp_data;
 };
 
-
-
 #endif // TESTROOTTREE_H
diff --git a/App/inc/TestRoughness.h b/App/inc/TestRoughness.h
index 2993deb88b3..254e1b155cc 100644
--- a/App/inc/TestRoughness.h
+++ b/App/inc/TestRoughness.h
@@ -20,13 +20,11 @@
 #include "IFunctionalTest.h"
 #include "LayerRoughness.h"
 
+//! Draw profile of rough surface for different sets of roughness parameters.
 
-//- -------------------------------------------------------------------
-//! @class TestRoughness
-//! @brief Draw profile of rough surface for different sets of
-//! roughness parameters. Two models are used for profile calculation:
+//! Two models are used for profile calculation:
 //! 1) matrix method 2) fast fourier transform using moving average
-//- -------------------------------------------------------------------
+//!
 class TestRoughness : public IFunctionalTest
 {
 public:
@@ -58,7 +56,4 @@ private:
     std::vector<TestMethod > m_TestMethods; // collection of class methods which will be used for correlated randoms
 };
 
-
-
-
 #endif // TESTROUGHNESS_H
diff --git a/App/inc/TestToySimulation.h b/App/inc/TestToySimulation.h
index a67fb41d063..e1c405732b6 100644
--- a/App/inc/TestToySimulation.h
+++ b/App/inc/TestToySimulation.h
@@ -25,11 +25,8 @@
 #include <vector>
 #include "TF2.h"
 
+//! Toy simulation to test whole fitting chain with simple 2D functions.
 
-//- -------------------------------------------------------------------
-//! @class ToySimulation
-//! @brief Toy simulation to test whole fitting chain with simple 2D functions
-//- -------------------------------------------------------------------
 class ToySimulation : public Simulation
 {
 public:
@@ -50,11 +47,8 @@ private:
     std::vector<double > pars;
 };
 
+//! Test of fitting chain using toy simulation.
 
-//- -------------------------------------------------------------------
-//! @class TestToySimulation
-//! @brief Test of fitting chain using toy simulation
-//- -------------------------------------------------------------------
 class TestToySimulation : public IFunctionalTest
 {
 public:
diff --git a/App/inc/TreeEventStructure.h b/App/inc/TreeEventStructure.h
index 9e35c32aeb7..8fa3156cbb4 100644
--- a/App/inc/TreeEventStructure.h
+++ b/App/inc/TreeEventStructure.h
@@ -20,13 +20,10 @@
 #include <vector>
 #include <string>
 
+//! Data structure respresenting OutputData and mesocrystal settings.
 
-
-//- -------------------------------------------------------------------
-//! @class TreeEventOutputData
-//! @brief Data structure respresenting OutputData and mesocrystal settings
-//! for writing/reading in/from the ROOT tree.
-//- -------------------------------------------------------------------
+//! For writing/reading in/from the ROOT tree.
+//!
 class TreeEventOutputData
 {
 public:
@@ -85,6 +82,4 @@ public:
     ClassDef(TreeEventFitData,1)
 };
 
-
-
 #endif // TREEEVENTSTRUCTURE_H
diff --git a/App/inc/Version.h b/App/inc/Version.h
index 50eb5bb3b1f..9ef317791f5 100644
--- a/App/inc/Version.h
+++ b/App/inc/Version.h
@@ -3,7 +3,7 @@
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
 //! @file      App/Version.h 
-//! @brief     Defines class Version.
+//! @brief     Defines namespace AppVersion.
 //
 //! Homepage:  apps.jcns.fz-juelich.de/BornAgain
 //! License:   GNU General Public License v3 or higher (see COPYING)
@@ -21,5 +21,4 @@ const std::string g_app_name = "Born Again Functional tests";
 const std::string g_app_version_number = "v0.4";
 }
 
-
 #endif /* VERSION_H_ */
diff --git a/App/inc/fp_exception_glibc_extension.h b/App/inc/fp_exception_glibc_extension.h
index 91339f93848..3cea78d07d7 100644
--- a/App/inc/fp_exception_glibc_extension.h
+++ b/App/inc/fp_exception_glibc_extension.h
@@ -1,29 +1,14 @@
 // ************************************************************************** //
 //                                                                           
-//  BornAgain: simulate and fit scattering at grazing incidence
-//
 //! @file      App/fp_exception_glibc_extension.h 
-//! @brief     Defines class fp_exception_glibc_extension.
+//! @brief     glibc floating point extension replacement for OS X.
 //
-//! Homepage:  apps.jcns.fz-juelich.de/BornAgain
-//! License:   GNU General Public License v3 or higher (see COPYING)
-//! @copyright Forschungszentrum Jülich GmbH 2013
-//! @authors   Scientific Computing Group at MLZ Garching
-//! @authors   C. Durniak, G. Pospelov, W. Van Herck, J. Wuttke 
+//! License:   Public Domain
+//! @authors   David N. Williams
+//! @version   0.5.0
 //
 // ************************************************************************** //
 
-/* 
-   glibc floating point extension replacement for OS X. 
-   
-   Title:  Floating-point exception handling example
-   Author:  David N. Williams
-   File:  fe-handlng-example.c
-   License:  Public Domain
-   Version:  0.5.0
-
-*/
-
 #ifndef __FENV_H_LINUX_REPLACEMENT__
 #define __FENV_H_LINUX_REPLACEMENT__
 
-- 
GitLab