From 63f40c999729a84443173bd49033774626360c13 Mon Sep 17 00:00:00 2001
From: Randolf Beerwerth <r.beerwerth@fz-juelich.de>
Date: Thu, 2 Jul 2020 10:44:33 +0200
Subject: [PATCH] Updated doxygen comments

---
 Core/Computation/SpecularComputationTerm.h   | 11 +++++++++++
 Core/Multilayer/ISpecularStrategy.h          |  7 +++++++
 Core/Multilayer/SpecularMagneticStrategy.h   |  4 ++++
 Core/Multilayer/SpecularScalarNCStrategy.h   |  8 ++++++--
 Core/Multilayer/SpecularScalarStrategy.h     |  6 +++++-
 Core/Multilayer/SpecularScalarTanhStrategy.h |  9 ++++++---
 6 files changed, 39 insertions(+), 6 deletions(-)

diff --git a/Core/Computation/SpecularComputationTerm.h b/Core/Computation/SpecularComputationTerm.h
index 00deb89b0a2..d1a8864d4d4 100644
--- a/Core/Computation/SpecularComputationTerm.h
+++ b/Core/Computation/SpecularComputationTerm.h
@@ -28,6 +28,9 @@ class Slice;
 
 //! Computes the specular scattering.
 //! Used by SpecularComputation.
+//!
+//! Inherited by SpecularScalarTerm, SpecularMatrixTerm
+//!
 //! @ingroup algorithms_internal
 
 class SpecularComputationTerm
@@ -51,6 +54,10 @@ private:
     std::unique_ptr<DelayedProgressCounter> mP_progress_counter;
 };
 
+//! Computes the specular scattering for a scalar sample
+//! Used by SpecularComputation.
+//! @ingroup algorithms_internal
+
 class SpecularScalarTerm : public SpecularComputationTerm
 {
 public:
@@ -63,6 +70,10 @@ protected:
     void eval(SpecularSimulationElement& elem, const std::vector<Slice>& slices) const override;
 };
 
+//! Computes the specular scattering for a magnetic sample
+//! Used by SpecularComputation.
+//! @ingroup algorithms_internal
+
 class SpecularMatrixTerm : public SpecularComputationTerm
 {
 public:
diff --git a/Core/Multilayer/ISpecularStrategy.h b/Core/Multilayer/ISpecularStrategy.h
index 3df63acf9fd..dfbfd1068b0 100644
--- a/Core/Multilayer/ISpecularStrategy.h
+++ b/Core/Multilayer/ISpecularStrategy.h
@@ -18,6 +18,13 @@
 #include "ILayerRTCoefficients.h"
 #include "Slice.h"
 
+//! Interface for the Fresnel computations, both in the scalar and magnetic case
+//!
+//! Inherited by SpecularScalarStrategy, SpecularMagneticOldStrategy,
+//! SpecularMagneticStrategy, SpecularMagneticNewStrategy
+
+//! @ingroup algorithms_internal
+
 class BA_CORE_API_ ISpecularStrategy
 {
 public:
diff --git a/Core/Multilayer/SpecularMagneticStrategy.h b/Core/Multilayer/SpecularMagneticStrategy.h
index 6bde6ceebb8..257fe4cd521 100644
--- a/Core/Multilayer/SpecularMagneticStrategy.h
+++ b/Core/Multilayer/SpecularMagneticStrategy.h
@@ -23,8 +23,12 @@
 
 class Slice;
 
+//! Implements the magnetic Fresnel computation without roughness
+//!
 //! Implements the matrix formalism for the calculation of wave amplitudes of
 //! the coherent wave solution in a multilayer with magnetization.
+//! For a detailed description see internal document "Polarized Specular Reflectometry"
+//!
 //! @ingroup algorithms_internal
 class BA_CORE_API_ SpecularMagneticStrategy : public ISpecularStrategy
 {
diff --git a/Core/Multilayer/SpecularScalarNCStrategy.h b/Core/Multilayer/SpecularScalarNCStrategy.h
index 367ea6d32ff..a49c45e241f 100644
--- a/Core/Multilayer/SpecularScalarNCStrategy.h
+++ b/Core/Multilayer/SpecularScalarNCStrategy.h
@@ -19,8 +19,12 @@
 
 class Slice;
 
-//! Implements method 'execute' to compute refraction angles and transmission/reflection
-//! coefficients for coherent wave propagation in a multilayer.
+//! Implements Nevot-Croce roughness for a scaler computation.
+//!
+//! Implements the transition function that includes Nevot-Croce roughness
+//! in the computation of the coefficients for coherent wave propagation
+//! in a multilayer by applying modified Fresnel coefficients.
+//!
 //! @ingroup algorithms_internal
 
 class BA_CORE_API_ SpecularScalarNCStrategy : public SpecularScalarStrategy
diff --git a/Core/Multilayer/SpecularScalarStrategy.h b/Core/Multilayer/SpecularScalarStrategy.h
index 1fa65f63549..c601b5f912c 100644
--- a/Core/Multilayer/SpecularScalarStrategy.h
+++ b/Core/Multilayer/SpecularScalarStrategy.h
@@ -23,10 +23,14 @@
 
 class Slice;
 
+//! Implements the scalar Fresnel computation
+//!
 //! Implements method 'execute' to compute refraction angles and transmission/reflection
 //! coefficients for coherent wave propagation in a multilayer.
+//!
+//! Inherited by SpecularScalarNCStrategy, SpecularScalarTanhStrategy
+//!
 //! @ingroup algorithms_internal
-
 class BA_CORE_API_ SpecularScalarStrategy : public ISpecularStrategy
 {
 public:
diff --git a/Core/Multilayer/SpecularScalarTanhStrategy.h b/Core/Multilayer/SpecularScalarTanhStrategy.h
index 81b415fdd91..7312cd680bd 100644
--- a/Core/Multilayer/SpecularScalarTanhStrategy.h
+++ b/Core/Multilayer/SpecularScalarTanhStrategy.h
@@ -19,10 +19,13 @@
 
 class Slice;
 
-//! Implements method 'execute' to compute refraction angles and transmission/reflection
-//! coefficients for coherent wave propagation in a multilayer.
+//! Implements an tanh transition function to model roughness in a scaler computation.
+//!
+//! Implements the transition function that includes the analytical roughness model
+//! of an tanh interface transition in the computation of the coefficients for
+//! coherent wave propagation in a multilayer by applying modified Fresnel coefficients.
+//!
 //! @ingroup algorithms_internal
-
 class BA_CORE_API_ SpecularScalarTanhStrategy : public SpecularScalarStrategy
 {
 private:
-- 
GitLab