Skip to content
Snippets Groups Projects
Commit 8dbc8841 authored by Pospelov, Gennady's avatar Pospelov, Gennady
Browse files

Doxygen: comments in Algorithms and Samples

parent 833c957a
No related branches found
No related tags found
No related merge requests found
Showing
with 122 additions and 19 deletions
...@@ -20,8 +20,9 @@ ...@@ -20,8 +20,9 @@
#include "IParameterized.h" #include "IParameterized.h"
#include "EigenCore.h" #include "EigenCore.h"
//! @class Beam
//! Ideal collimated Beam defined by wavelength, direction and intensity. //! @ingroup simulation
//! @brief Ideal collimated Beam defined by wavelength, direction and intensity.
class BA_CORE_API_ Beam : public IParameterized class BA_CORE_API_ Beam : public IParameterized
{ {
......
...@@ -18,6 +18,9 @@ ...@@ -18,6 +18,9 @@
#include "IChiSquaredModule.h" #include "IChiSquaredModule.h"
//! @class ChiSquaredFrequency
//! @ingroup algorithms_internal
//! @brief Calculation of chi2 in fourier transformed space
class ChiSquaredFrequency : public IChiSquaredModule class ChiSquaredFrequency : public IChiSquaredModule
{ {
......
...@@ -18,6 +18,10 @@ ...@@ -18,6 +18,10 @@
#include "IChiSquaredModule.h" #include "IChiSquaredModule.h"
//! @class ChiSquaredModule
//! @ingroup algorithms
//! @brief Calculation of chi2 between two data sets
class BA_CORE_API_ ChiSquaredModule : public IChiSquaredModule class BA_CORE_API_ ChiSquaredModule : public IChiSquaredModule
{ {
public: public:
......
...@@ -19,8 +19,10 @@ ...@@ -19,8 +19,10 @@
#include "IDetectorResolution.h" #include "IDetectorResolution.h"
#include "IResolutionFunction2D.h" #include "IResolutionFunction2D.h"
//! Convolutes the intensity in 1 or 2 dimensions with a resolution function. //! @class ConvolutionDetectorResolution
//! @ingroup algorithms
//! @brief Convolutes the intensity in 1 or 2 dimensions with a resolution function.
//!
//! Limitation: this class assumes that the data points are evenly //! Limitation: this class assumes that the data points are evenly
//! distributed on each axis //! distributed on each axis
......
...@@ -21,7 +21,9 @@ ...@@ -21,7 +21,9 @@
#include "MultiLayer.h" #include "MultiLayer.h"
#include "SpecularMatrix.h" #include "SpecularMatrix.h"
//! Calculation of diffuse (aka off-specular) reflection from multilayers. //! @class DWBADiffuseReflection
//! @ingroup algorithms_internal
//! @brief Calculation of diffuse (aka off-specular) reflection from multilayers.
class BA_CORE_API_ DWBADiffuseReflection : public ISimulation class BA_CORE_API_ DWBADiffuseReflection : public ISimulation
{ {
......
...@@ -23,7 +23,10 @@ ...@@ -23,7 +23,10 @@
#include "Types.h" #include "Types.h"
#include "EigenCore.h" #include "EigenCore.h"
//! Base class for different simulations, using DWBA.
//! @class DWBASimulation
//! @ingroup algorithms_internal
//! @brief Base class for different simulations, using DWBA.
class DWBASimulation : public ISimulation class DWBASimulation : public ISimulation
{ {
......
...@@ -22,7 +22,9 @@ ...@@ -22,7 +22,9 @@
class Layer; class Layer;
//! Calculates scattering cross sections in DWBA for a layer with particles in/on it //! @class DecoratedLayerDWBASimulation
//! @ingroup algorithms_internal
//! @brief Calculates scattering cross sections in DWBA for a layer with particles in/on it
class DecoratedLayerDWBASimulation : public LayerDWBASimulation class DecoratedLayerDWBASimulation : public LayerDWBASimulation
{ {
......
...@@ -19,6 +19,10 @@ ...@@ -19,6 +19,10 @@
#include "Types.h" #include "Types.h"
#include "IInterferenceFunctionStrategy.h" #include "IInterferenceFunctionStrategy.h"
//! @class DecouplingApproximationStrategy
//! @ingroup algorithms_internal
//! @brief Strategy for implementing decoupling approximation
class DecouplingApproximationStrategy : public IInterferenceFunctionStrategy class DecouplingApproximationStrategy : public IInterferenceFunctionStrategy
{ {
public: public:
......
...@@ -22,7 +22,6 @@ ...@@ -22,7 +22,6 @@
#include "EigenCore.h" #include "EigenCore.h"
//! @class Detector //! @class Detector
//! @ingroup simulation //! @ingroup simulation
//! @brief The detector with axes and resolution function. //! @brief The detector with axes and resolution function.
......
...@@ -18,7 +18,9 @@ ...@@ -18,7 +18,9 @@
#include "TRange.h" #include "TRange.h"
//! Store parameters for specifying one axis //! @class AxisParameters
//! @ingroup simulation_internal
//! @brief Store parameters for specifying one axis
struct AxisParameters struct AxisParameters
{ {
...@@ -38,7 +40,9 @@ inline AxisParameters::AxisParameters() ...@@ -38,7 +40,9 @@ inline AxisParameters::AxisParameters()
{ {
} }
//! Store parameters for specifying a 2D detector. //! @class DetectorParameters
//! @ingroup simulation_internal
//! @brief Store parameters for specifying a 2D detector.
struct DetectorParameters struct DetectorParameters
{ {
......
...@@ -19,6 +19,10 @@ ...@@ -19,6 +19,10 @@
#include "LayerDWBASimulation.h" #include "LayerDWBASimulation.h"
#include "DiffuseParticleInfo.h" #include "DiffuseParticleInfo.h"
//! @class DiffuseDWBASimulation
//! @ingroup algorithms_internal
//! @brief Calculation of diffuse scattering in DWBA
class DiffuseDWBASimulation: public LayerDWBASimulation class DiffuseDWBASimulation: public LayerDWBASimulation
{ {
public: public:
......
...@@ -22,6 +22,11 @@ ...@@ -22,6 +22,11 @@
#include "Numeric.h" #include "Numeric.h"
//! @class IFTDistribution1D
//! @ingroup algorithms_internal
//! @brief Interface for 1 dimensional distributions in Fourier space
class IFTDistribution1D class IFTDistribution1D
{ {
public: public:
...@@ -33,7 +38,10 @@ protected: ...@@ -33,7 +38,10 @@ protected:
double m_omega; double m_omega;
}; };
//! Interface for 2 dimensional distributions in Fourier space
//! @class IFTDistribution2D
//! @ingroup algorithms_internal
//! @brief Interface for 2 dimensional distributions in Fourier space
class BA_CORE_API_ IFTDistribution2D : public IParameterized class BA_CORE_API_ IFTDistribution2D : public IParameterized
{ {
public: public:
...@@ -78,8 +86,12 @@ protected: ...@@ -78,8 +86,12 @@ protected:
double m_delta; double m_delta;
}; };
//! 2 dimensional Cauchy distribution in Fourier space
//! @class FTDistribution2DCauchy
//! @ingroup algorithms
//! @brief 2 dimensional Cauchy distribution in Fourier space
//! corresponds to exp(-r) in real space //! corresponds to exp(-r) in real space
class BA_CORE_API_ FTDistribution2DCauchy : public IFTDistribution2D class BA_CORE_API_ FTDistribution2DCauchy : public IFTDistribution2D
{ {
public: public:
...@@ -91,8 +103,12 @@ public: ...@@ -91,8 +103,12 @@ public:
virtual double evaluate(double qx, double qy) const; virtual double evaluate(double qx, double qy) const;
}; };
//! 2 dimensional Gauss distribution in Fourier space
//! @class FTDistribution2DGauss
//! @ingroup algorithms
//! @brief 2 dimensional Gauss distribution in Fourier space
//! corresponds to exp(-r^2) in real space //! corresponds to exp(-r^2) in real space
class BA_CORE_API_ FTDistribution2DGauss : public IFTDistribution2D class BA_CORE_API_ FTDistribution2DGauss : public IFTDistribution2D
{ {
public: public:
...@@ -104,8 +120,12 @@ public: ...@@ -104,8 +120,12 @@ public:
virtual double evaluate(double qx, double qy) const; virtual double evaluate(double qx, double qy) const;
}; };
//! 2 dimensional Voigt distribution in Fourier space
//! @class FTDistribution2DVoigt
//! @ingroup algorithms
//! @brief 2 dimensional Voigt distribution in Fourier space
//! Corresponds to eta*Gauss + (1-eta)*Cauchy //! Corresponds to eta*Gauss + (1-eta)*Cauchy
class BA_CORE_API_ FTDistribution2DVoigt : public IFTDistribution2D class BA_CORE_API_ FTDistribution2DVoigt : public IFTDistribution2D
{ {
public: public:
......
...@@ -21,7 +21,10 @@ ...@@ -21,7 +21,10 @@
#include "IOutputDataNormalizer.h" #include "IOutputDataNormalizer.h"
#include "IIntensityFunction.h" #include "IIntensityFunction.h"
//! Interface for ChiSquaredModule, ChiSquaredFrequency.
//! @class IChiSquaredModule
//! @ingroup algorithms_internal
//! @brief Interface for ChiSquaredModule, ChiSquaredFrequency for chi2 calculations.
class BA_CORE_API_ IChiSquaredModule : public ICloneable class BA_CORE_API_ IChiSquaredModule : public ICloneable
{ {
......
...@@ -21,6 +21,11 @@ ...@@ -21,6 +21,11 @@
#include "ICloneable.h" #include "ICloneable.h"
#include "EigenCore.h" #include "EigenCore.h"
//! @class IDetectorResolution
//! @ingroup algorithms_internal
//! @brief Interface for detector resolution algorithms
class BA_CORE_API_ IDetectorResolution : public ICloneable, public IParameterized class BA_CORE_API_ IDetectorResolution : public ICloneable, public IParameterized
{ {
public: public:
......
...@@ -18,6 +18,11 @@ ...@@ -18,6 +18,11 @@
#include "OutputData.h" #include "OutputData.h"
//! @class IFittingDataSelector
//! @ingroup algorithms_internal
//! @brief Interface for selecting data points and its weights
class IFittingDataSelector class IFittingDataSelector
{ {
public: public:
...@@ -29,6 +34,11 @@ public: ...@@ -29,6 +34,11 @@ public:
const OutputData<double>& simulated_data) const=0; const OutputData<double>& simulated_data) const=0;
}; };
//! @class DefaultAllDataSelector
//! @ingroup algorithms_internal
//! @brief Default algorithm for selecting all data points and giving them equal weight of 1.
class DefaultAllDataSelector : public IFittingDataSelector class DefaultAllDataSelector : public IFittingDataSelector
{ {
public: public:
......
...@@ -19,6 +19,11 @@ ...@@ -19,6 +19,11 @@
#include <cmath> #include <cmath>
//! @class IIntensityFunction
//! @ingroup algorithms_internal
//! @brief Interface for applying arbitrary function to the measured intensity
class IIntensityFunction class IIntensityFunction
{ {
public: public:
...@@ -28,6 +33,11 @@ public: ...@@ -28,6 +33,11 @@ public:
virtual double evaluate(double value) const=0; virtual double evaluate(double value) const=0;
}; };
//! @class IntensityFunctionLog
//! @ingroup algorithms_internal
//! @brief Algorithm for applying log function to the measured intensity
class IntensityFunctionLog : public IIntensityFunction class IntensityFunctionLog : public IIntensityFunction
{ {
public: public:
...@@ -38,6 +48,11 @@ public: ...@@ -38,6 +48,11 @@ public:
return (value > 0 ? std::log(value) : 0); } return (value > 0 ? std::log(value) : 0); }
}; };
//! @class IntensityFunctionSqrt
//! @ingroup algorithms_internal
//! @brief Algorithm for applying sqrt function to the measured intensity
class IntensityFunctionSqrt : public IIntensityFunction class IntensityFunctionSqrt : public IIntensityFunction
{ {
public: public:
......
...@@ -25,6 +25,11 @@ ...@@ -25,6 +25,11 @@
#include <vector> #include <vector>
//! @class IInterferenceFunctionStrategy
//! @ingroup algorithms_internal
//! @brief Algorithm to apply one of interference function strategies (LMA, SCCA etc)
class IInterferenceFunctionStrategy class IInterferenceFunctionStrategy
{ {
public: public:
......
...@@ -19,6 +19,11 @@ ...@@ -19,6 +19,11 @@
#include "Types.h" #include "Types.h"
#include "EigenCore.h" #include "EigenCore.h"
//! @class ILayerRTCoefficients
//! @ingroup algorithms_internal
//! @brief Interface to access reflection/transmition coefficients
class ILayerRTCoefficients class ILayerRTCoefficients
{ {
public: public:
......
...@@ -20,7 +20,10 @@ ...@@ -20,7 +20,10 @@
#include "IParameterized.h" #include "IParameterized.h"
#include "OutputData.h" #include "OutputData.h"
//! Interface to OutputData normalizers.
//! @class IOutputDataNormalizer
//! @ingroup algorithms_internal
//! @brief Interface to OutputData normalizers.
class BA_CORE_API_ IOutputDataNormalizer : public IParameterized class BA_CORE_API_ IOutputDataNormalizer : public IParameterized
{ {
...@@ -35,7 +38,10 @@ public: ...@@ -35,7 +38,10 @@ public:
virtual void setMaximumIntensity(double ) = 0; virtual void setMaximumIntensity(double ) = 0;
}; };
//! Standard OutputData normalizer, with configurable max_intensity.
//! @class OutputDataNormalizer
//! @ingroup algorithms_internal
//! @brief Standard OutputData normalizer, with configurable max_intensity.
class BA_CORE_API_ OutputDataNormalizer : public IOutputDataNormalizer class BA_CORE_API_ OutputDataNormalizer : public IOutputDataNormalizer
{ {
...@@ -65,7 +71,10 @@ protected: ...@@ -65,7 +71,10 @@ protected:
double m_max_intensity; double m_max_intensity;
}; };
//! Simplified OutputData normalizer, with max_intensity=1.
//! @class OutputDataSimpleNormalizer
//! @ingroup algorithms_internal
//! @brief Simplified OutputData normalizer, with max_intensity=1.
class OutputDataSimpleNormalizer : public OutputDataNormalizer class OutputDataSimpleNormalizer : public OutputDataNormalizer
{ {
......
...@@ -18,7 +18,10 @@ ...@@ -18,7 +18,10 @@
#include "IParameterized.h" #include "IParameterized.h"
//! Interface providing two-dimensional resolution function.
//! @class IResolutionFunction2D
//! @ingroup algorithms_internal
//! @brief Interface providing two-dimensional resolution function.
class BA_CORE_API_ IResolutionFunction2D : public IParameterized class BA_CORE_API_ IResolutionFunction2D : public IParameterized
{ {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment