diff --git a/Core/Algorithms/inc/Beam.h b/Core/Algorithms/inc/Beam.h index 245123354fbb3e308bed0506ff33dbd63a1f7f12..cc05c17b94a4ff781602f2f2eac7f106d122e220 100644 --- a/Core/Algorithms/inc/Beam.h +++ b/Core/Algorithms/inc/Beam.h @@ -20,8 +20,9 @@ #include "IParameterized.h" #include "EigenCore.h" - -//! Ideal collimated Beam defined by wavelength, direction and intensity. +//! @class Beam +//! @ingroup simulation +//! @brief Ideal collimated Beam defined by wavelength, direction and intensity. class BA_CORE_API_ Beam : public IParameterized { diff --git a/Core/Algorithms/inc/ChiSquaredFrequency.h b/Core/Algorithms/inc/ChiSquaredFrequency.h index a9b1655855dc7421348ce96432fdc857579f7406..c44b487bf4434fe79812f262a741090900b1fcdc 100644 --- a/Core/Algorithms/inc/ChiSquaredFrequency.h +++ b/Core/Algorithms/inc/ChiSquaredFrequency.h @@ -18,6 +18,9 @@ #include "IChiSquaredModule.h" +//! @class ChiSquaredFrequency +//! @ingroup algorithms_internal +//! @brief Calculation of chi2 in fourier transformed space class ChiSquaredFrequency : public IChiSquaredModule { diff --git a/Core/Algorithms/inc/ChiSquaredModule.h b/Core/Algorithms/inc/ChiSquaredModule.h index d5559e4719265c16559203ca4d730baa06261dc2..65fa517fdbe3994ee35b6fcdffb3f9a4c4a0e9a6 100644 --- a/Core/Algorithms/inc/ChiSquaredModule.h +++ b/Core/Algorithms/inc/ChiSquaredModule.h @@ -18,6 +18,10 @@ #include "IChiSquaredModule.h" +//! @class ChiSquaredModule +//! @ingroup algorithms +//! @brief Calculation of chi2 between two data sets + class BA_CORE_API_ ChiSquaredModule : public IChiSquaredModule { public: diff --git a/Core/Algorithms/inc/ConvolutionDetectorResolution.h b/Core/Algorithms/inc/ConvolutionDetectorResolution.h index 47537d83de2309387230e5f5b67428ada78a365c..68da64a620a608b38f5b2a08498cd441f1bfecdb 100644 --- a/Core/Algorithms/inc/ConvolutionDetectorResolution.h +++ b/Core/Algorithms/inc/ConvolutionDetectorResolution.h @@ -19,8 +19,10 @@ #include "IDetectorResolution.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 //! distributed on each axis diff --git a/Core/Algorithms/inc/DWBADiffuseReflection.h b/Core/Algorithms/inc/DWBADiffuseReflection.h index 2385a8850402ad39e284d4277116e690956f93a1..bfcfe147df6cafa04cbff90194787ef4d9934bb5 100644 --- a/Core/Algorithms/inc/DWBADiffuseReflection.h +++ b/Core/Algorithms/inc/DWBADiffuseReflection.h @@ -21,7 +21,9 @@ #include "MultiLayer.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 { diff --git a/Core/Algorithms/inc/DWBASimulation.h b/Core/Algorithms/inc/DWBASimulation.h index cf7ba118510890a1a8f7a29302875b543037aef1..a16a339fba7a8876159c5dd82b6bb8d4717ddf54 100644 --- a/Core/Algorithms/inc/DWBASimulation.h +++ b/Core/Algorithms/inc/DWBASimulation.h @@ -23,7 +23,10 @@ #include "Types.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 { diff --git a/Core/Algorithms/inc/DecoratedLayerDWBASimulation.h b/Core/Algorithms/inc/DecoratedLayerDWBASimulation.h index 85f67b53d949312f3427c0c0ec8ea9f37edd2fd8..e698b359818483736ac01828c300449a5095c6f0 100644 --- a/Core/Algorithms/inc/DecoratedLayerDWBASimulation.h +++ b/Core/Algorithms/inc/DecoratedLayerDWBASimulation.h @@ -22,7 +22,9 @@ 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 { diff --git a/Core/Algorithms/inc/DecouplingApproximationStrategy.h b/Core/Algorithms/inc/DecouplingApproximationStrategy.h index f36c624b9dfe78ade53a8c6cd7f0e266308bbd66..ee84ffa1ec7b969b90902c83735af36846000d4b 100644 --- a/Core/Algorithms/inc/DecouplingApproximationStrategy.h +++ b/Core/Algorithms/inc/DecouplingApproximationStrategy.h @@ -19,6 +19,10 @@ #include "Types.h" #include "IInterferenceFunctionStrategy.h" +//! @class DecouplingApproximationStrategy +//! @ingroup algorithms_internal +//! @brief Strategy for implementing decoupling approximation + class DecouplingApproximationStrategy : public IInterferenceFunctionStrategy { public: diff --git a/Core/Algorithms/inc/Detector.h b/Core/Algorithms/inc/Detector.h index 2a4ebbf4c544cc2d23f968a991abd667cb85a3a6..acf2197b282209c550d9c4e633eede3aa5b71102 100644 --- a/Core/Algorithms/inc/Detector.h +++ b/Core/Algorithms/inc/Detector.h @@ -22,7 +22,6 @@ #include "EigenCore.h" - //! @class Detector //! @ingroup simulation //! @brief The detector with axes and resolution function. diff --git a/Core/Algorithms/inc/DetectorParameters.h b/Core/Algorithms/inc/DetectorParameters.h index 7102f7a559cc9185018c186e112185dca72137ef..df25f343b1472eea4c8d2b365caa391fec426ceb 100644 --- a/Core/Algorithms/inc/DetectorParameters.h +++ b/Core/Algorithms/inc/DetectorParameters.h @@ -18,7 +18,9 @@ #include "TRange.h" -//! Store parameters for specifying one axis +//! @class AxisParameters +//! @ingroup simulation_internal +//! @brief Store parameters for specifying one axis struct 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 { diff --git a/Core/Algorithms/inc/DiffuseDWBASimulation.h b/Core/Algorithms/inc/DiffuseDWBASimulation.h index 4ab5e332826e5086c152b4d9dd863f826f583648..c0b130d6810fcb26cc245b9eb83323e2cc114a4c 100644 --- a/Core/Algorithms/inc/DiffuseDWBASimulation.h +++ b/Core/Algorithms/inc/DiffuseDWBASimulation.h @@ -19,6 +19,10 @@ #include "LayerDWBASimulation.h" #include "DiffuseParticleInfo.h" +//! @class DiffuseDWBASimulation +//! @ingroup algorithms_internal +//! @brief Calculation of diffuse scattering in DWBA + class DiffuseDWBASimulation: public LayerDWBASimulation { public: diff --git a/Core/Algorithms/inc/FTDistributions.h b/Core/Algorithms/inc/FTDistributions.h index 5f49cfc4e80470110e7c8c19a8966aef2da3e7cc..ae968ed6d07f757729b4127ec6de4749e97561b7 100644 --- a/Core/Algorithms/inc/FTDistributions.h +++ b/Core/Algorithms/inc/FTDistributions.h @@ -22,6 +22,11 @@ #include "Numeric.h" + +//! @class IFTDistribution1D +//! @ingroup algorithms_internal +//! @brief Interface for 1 dimensional distributions in Fourier space + class IFTDistribution1D { public: @@ -33,7 +38,10 @@ protected: 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 { public: @@ -78,8 +86,12 @@ protected: 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 + class BA_CORE_API_ FTDistribution2DCauchy : public IFTDistribution2D { public: @@ -91,8 +103,12 @@ public: 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 + class BA_CORE_API_ FTDistribution2DGauss : public IFTDistribution2D { public: @@ -104,8 +120,12 @@ public: 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 + class BA_CORE_API_ FTDistribution2DVoigt : public IFTDistribution2D { public: diff --git a/Core/Algorithms/inc/IChiSquaredModule.h b/Core/Algorithms/inc/IChiSquaredModule.h index 34a7ba2fc942b4321f1c95821fd2f246efdd5f2d..f66d0d27fb6dc4918f80a7f0e03f6ed9b498247f 100644 --- a/Core/Algorithms/inc/IChiSquaredModule.h +++ b/Core/Algorithms/inc/IChiSquaredModule.h @@ -21,7 +21,10 @@ #include "IOutputDataNormalizer.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 { diff --git a/Core/Algorithms/inc/IDetectorResolution.h b/Core/Algorithms/inc/IDetectorResolution.h index c840e01ebdce8fa358830946844a8eb2dbb5bf7c..4ee46b041c81bafa1023c9557cd9def8262a85c1 100644 --- a/Core/Algorithms/inc/IDetectorResolution.h +++ b/Core/Algorithms/inc/IDetectorResolution.h @@ -21,6 +21,11 @@ #include "ICloneable.h" #include "EigenCore.h" + +//! @class IDetectorResolution +//! @ingroup algorithms_internal +//! @brief Interface for detector resolution algorithms + class BA_CORE_API_ IDetectorResolution : public ICloneable, public IParameterized { public: diff --git a/Core/Algorithms/inc/IFittingDataSelector.h b/Core/Algorithms/inc/IFittingDataSelector.h index 4da703c0d5a16f12585eb71d76799e71fb7c4b17..442efa61858cacd26f67b5347922d822022609ca 100644 --- a/Core/Algorithms/inc/IFittingDataSelector.h +++ b/Core/Algorithms/inc/IFittingDataSelector.h @@ -18,6 +18,11 @@ #include "OutputData.h" + +//! @class IFittingDataSelector +//! @ingroup algorithms_internal +//! @brief Interface for selecting data points and its weights + class IFittingDataSelector { public: @@ -29,6 +34,11 @@ public: 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 { public: diff --git a/Core/Algorithms/inc/IIntensityFunction.h b/Core/Algorithms/inc/IIntensityFunction.h index 0efaa6707accd1e663e8986507cfa698227a892a..104845bae96d6d20a648777c87ec0527fc9bf59a 100644 --- a/Core/Algorithms/inc/IIntensityFunction.h +++ b/Core/Algorithms/inc/IIntensityFunction.h @@ -19,6 +19,11 @@ #include <cmath> + +//! @class IIntensityFunction +//! @ingroup algorithms_internal +//! @brief Interface for applying arbitrary function to the measured intensity + class IIntensityFunction { public: @@ -28,6 +33,11 @@ public: 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 { public: @@ -38,6 +48,11 @@ public: 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 { public: diff --git a/Core/Algorithms/inc/IInterferenceFunctionStrategy.h b/Core/Algorithms/inc/IInterferenceFunctionStrategy.h index bd983f211138885b68ce08440b9c7daf7beea812..8d8f7d142b45e80172fb5cbc5e36d57789bb2f30 100644 --- a/Core/Algorithms/inc/IInterferenceFunctionStrategy.h +++ b/Core/Algorithms/inc/IInterferenceFunctionStrategy.h @@ -25,6 +25,11 @@ #include <vector> + +//! @class IInterferenceFunctionStrategy +//! @ingroup algorithms_internal +//! @brief Algorithm to apply one of interference function strategies (LMA, SCCA etc) + class IInterferenceFunctionStrategy { public: diff --git a/Core/Algorithms/inc/ILayerRTCoefficients.h b/Core/Algorithms/inc/ILayerRTCoefficients.h index 49399832253d9c158bc9c7c59debf445619a6c85..dd35706b6e6654a410e20151a00b0f814fa491f4 100644 --- a/Core/Algorithms/inc/ILayerRTCoefficients.h +++ b/Core/Algorithms/inc/ILayerRTCoefficients.h @@ -19,6 +19,11 @@ #include "Types.h" #include "EigenCore.h" + +//! @class ILayerRTCoefficients +//! @ingroup algorithms_internal +//! @brief Interface to access reflection/transmition coefficients + class ILayerRTCoefficients { public: diff --git a/Core/Algorithms/inc/IOutputDataNormalizer.h b/Core/Algorithms/inc/IOutputDataNormalizer.h index 35ceae9dfd6d733c812f5b9b0ce81bd22c9f97f4..6986d7e5ca140e8f14ff0e85be146287dfdfa3e3 100644 --- a/Core/Algorithms/inc/IOutputDataNormalizer.h +++ b/Core/Algorithms/inc/IOutputDataNormalizer.h @@ -20,7 +20,10 @@ #include "IParameterized.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 { @@ -35,7 +38,10 @@ public: 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 { @@ -65,7 +71,10 @@ protected: 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 { diff --git a/Core/Algorithms/inc/IResolutionFunction2D.h b/Core/Algorithms/inc/IResolutionFunction2D.h index 28b5288d1989e4b3bb45c8abd0674ccff63572b9..28eebb5356bc1215ce3035aa29df510d083afc3b 100644 --- a/Core/Algorithms/inc/IResolutionFunction2D.h +++ b/Core/Algorithms/inc/IResolutionFunction2D.h @@ -18,7 +18,10 @@ #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 { diff --git a/Core/Algorithms/inc/ISampleBuilder.h b/Core/Algorithms/inc/ISampleBuilder.h index 5bd4f2d349608d1cce16a2decaa4981883dc5dc5..1522c6b7995a42f2fc751709cf8cfe9ef085519d 100644 --- a/Core/Algorithms/inc/ISampleBuilder.h +++ b/Core/Algorithms/inc/ISampleBuilder.h @@ -20,6 +20,11 @@ #include <boost/shared_ptr.hpp> +//! @class ISampleBuilder +//! @ingroup simulation_internal +//! @brief Interface to the class capable to build samples to simulate + + class BA_CORE_API_ ISampleBuilder : public IParameterized { public: diff --git a/Core/Algorithms/inc/ISimulation.h b/Core/Algorithms/inc/ISimulation.h index 27aeafcae9e9f080982b49b65e69139410219e3f..c573977918c6a4c0361c5ea92d4eed0326ec54e3 100644 --- a/Core/Algorithms/inc/ISimulation.h +++ b/Core/Algorithms/inc/ISimulation.h @@ -18,7 +18,9 @@ #include "ICloneable.h" -//! Interface class, encapsulating different simulations. +//! @class ISimulation +//! @ingroup algorithms_internal +//! @brief Interface class, encapsulating different simulations. class BA_CORE_API_ ISimulation : public ICloneable { diff --git a/Core/Algorithms/inc/ISpecularInfoMap.h b/Core/Algorithms/inc/ISpecularInfoMap.h index 30a5080c46bbd4d379a607290c16260263238740..bd1cc004e86094687dd784e5cf340116d069819f 100644 --- a/Core/Algorithms/inc/ISpecularInfoMap.h +++ b/Core/Algorithms/inc/ISpecularInfoMap.h @@ -18,6 +18,11 @@ #include "ILayerRTCoefficients.h" + +//! @class ISpecularInfoMap +//! @ingroup algorithms_internal +//! @brief Interface class providing access to the reflection and transmittion coefficients + class ISpecularInfoMap { public: diff --git a/Core/Algorithms/inc/ISquaredFunction.h b/Core/Algorithms/inc/ISquaredFunction.h index edae04003ebcad8cdd336d6764be2df59347721c..86d521c8b7f322652e171d5db7d9870a1a4058b0 100644 --- a/Core/Algorithms/inc/ISquaredFunction.h +++ b/Core/Algorithms/inc/ISquaredFunction.h @@ -21,7 +21,12 @@ #include <iostream> -//! Interface providing measures for deviation between two values. + +//! @class ISquaredFunction +//! @ingroup algorithms_internal +//! @brief Interface providing measures for deviation between two values. +//! +//! Used By ChiSquaredModule for chi2 calculations class ISquaredFunction { @@ -42,6 +47,10 @@ public: }; +//! @class SquaredFunctionDefault +//! @ingroup algorithms_internal +//! @brief Squared difference betwee two values + class SquaredFunctionDefault : public ISquaredFunction { public: @@ -67,6 +76,10 @@ public: }; +//! @class SquaredFunctionWhichOnlyWorks +//! @ingroup algorithms_internal +//! @brief Squared difference betwee two values + class SquaredFunctionWhichOnlyWorks : public ISquaredFunction { public: @@ -89,6 +102,10 @@ public: }; +//! @class SquaredFunctionWithSystematicError +//! @ingroup algorithms_internal +//! @brief Squared difference between two values with systematic error + class SquaredFunctionWithSystematicError : public ISquaredFunction { public: @@ -112,6 +129,10 @@ private: }; +//! @class SquaredFunctionWithGaussianError +//! @ingroup algorithms_internal +//! @brief Squared difference between two values with gaussian error + class SquaredFunctionWithGaussianError : public ISquaredFunction { public: diff --git a/Core/Algorithms/inc/Instrument.h b/Core/Algorithms/inc/Instrument.h index c4b3dd54230d5d78ed9c9d0a84aefc7bfc5a49d5..5cc3a2f25fe78609ed7f7d7dd3ac834bbb3b1305 100644 --- a/Core/Algorithms/inc/Instrument.h +++ b/Core/Algorithms/inc/Instrument.h @@ -20,7 +20,9 @@ #include "Detector.h" #include "IResolutionFunction2D.h" -//! Assembles beam, detector and their relative positions wrt the sample. +//! @class Instrument +//! @ingroup simulation_internal +//! @brief Assembles beam, detector and their relative positions wrt the sample. class BA_CORE_API_ Instrument : public IParameterized { diff --git a/Core/Algorithms/inc/IsGISAXSMorphologyFileStrategy.h b/Core/Algorithms/inc/IsGISAXSMorphologyFileStrategy.h index 326eca2bf8b24d1d113d44644b43d1e221d8944f..aa064bf84dfcbe66a8b9d423ccfdb3ae1aaf7889 100644 --- a/Core/Algorithms/inc/IsGISAXSMorphologyFileStrategy.h +++ b/Core/Algorithms/inc/IsGISAXSMorphologyFileStrategy.h @@ -19,7 +19,10 @@ #include "Types.h" #include "IInterferenceFunctionStrategy.h" -//! Definition of interference function strategy that emulates the behaviour of + +//! @class ISampleBuilder +//! @ingroup algorithms_internal +//! @brief Definition of interference function strategy that emulates the behaviour of //! IsGISAXS for morphology files class IsGISAXSMorphologyFileStrategy : public IInterferenceFunctionStrategy diff --git a/Core/Algorithms/inc/LayerDWBASimulation.h b/Core/Algorithms/inc/LayerDWBASimulation.h index 468307c77518ef0a61059292bd1734bc4a651afa..027de5120bfa4b26f223203cc1908c75edcc1fe3 100644 --- a/Core/Algorithms/inc/LayerDWBASimulation.h +++ b/Core/Algorithms/inc/LayerDWBASimulation.h @@ -19,7 +19,9 @@ #include "DWBASimulation.h" #include "LayerSpecularInfo.h" -//! Base class for LayerDecoratorDWBASimulation, DiffuseDWBASimulation. +//! @class LayerDWBASimulation +//! @ingroup algorithms_internal +//! @brief Base class for LayerDecoratorDWBASimulation, DiffuseDWBASimulation. class LayerDWBASimulation : public DWBASimulation { diff --git a/Core/Algorithms/inc/LayerSpecularInfo.h b/Core/Algorithms/inc/LayerSpecularInfo.h index 7d96aae7514e9d31aca4bcdd03e702da48755779..384c01e948669f2ced5bd449e3b25c0e46a679d1 100644 --- a/Core/Algorithms/inc/LayerSpecularInfo.h +++ b/Core/Algorithms/inc/LayerSpecularInfo.h @@ -23,7 +23,10 @@ #include <boost/shared_ptr.hpp> -//! LayerSpecularInfo holds the amplitude information of the neutron + +//! @class LayerSpecularInfo +//! @ingroup algorithms_internal +//! @brief Holds the amplitude information of the neutron //! wavefunction in a specific layer for different incoming (outgoing) angles of //! the neutron beam in the top layer (these amplitudes correspond to the //! specular part of the neutron wavefunction) diff --git a/Core/Algorithms/inc/LayerStrategyBuilder.h b/Core/Algorithms/inc/LayerStrategyBuilder.h index 717abd05ff54c2979004737d2e254a265587cdf1..060c2a0b792cd329837d4c8bd66e4348c6730e0e 100644 --- a/Core/Algorithms/inc/LayerStrategyBuilder.h +++ b/Core/Algorithms/inc/LayerStrategyBuilder.h @@ -31,7 +31,11 @@ class ParticleInfo; class IFormFactor; class LayerSpecularInfo; -//! Methods to generate a simulation strategy for decorated Layer SimulationParameters + + +//! @class LayerStrategyBuilder +//! @ingroup algorithms_internal +//! @brief Methods to generate a simulation strategy for decorated Layer SimulationParameters class LayerStrategyBuilder { @@ -76,6 +80,10 @@ private: }; +//! @class FormFactorInfo +//! @ingroup formfactors_internal +//! @brief The %FormFactorInfo holds information about particle position and abundance + class FormFactorInfo : public ICloneable { public: diff --git a/Core/Algorithms/inc/LocalMonodisperseApproximationStrategy.h b/Core/Algorithms/inc/LocalMonodisperseApproximationStrategy.h index b203627b3f904642b565ad2a7cb8e786c676a721..5ba0b45b61fec65c223f52f1a7be7f3ea54a2d74 100644 --- a/Core/Algorithms/inc/LocalMonodisperseApproximationStrategy.h +++ b/Core/Algorithms/inc/LocalMonodisperseApproximationStrategy.h @@ -19,6 +19,10 @@ #include "IInterferenceFunctionStrategy.h" +//! @class LocalMonodisperseApproximationStrategy +//! @ingroup algorithms_internal +//! @brief Strategy which implements local monodisperse approximation. + class LocalMonodisperseApproximationStrategy : public IInterferenceFunctionStrategy { diff --git a/Core/Algorithms/inc/Mask.h b/Core/Algorithms/inc/Mask.h index ae31f434d9a9391e37401490706330c62aaf5c42..16cf686902a92ac032e3015c5318dc19e9ac78b0 100644 --- a/Core/Algorithms/inc/Mask.h +++ b/Core/Algorithms/inc/Mask.h @@ -18,7 +18,10 @@ #include "MaskCoordinateFunction.h" -//! Base class for masking OutputData elements. + +//! @class Mask +//! @ingroup simulation_internal +//! @brief Base class for masking OutputData elements. class BA_CORE_API_ Mask : public ICloneable { @@ -46,7 +49,10 @@ private: size_t nextSubIndex(size_t total_index); }; -//! Mask based on the index modulo a given number. + +//! @class MaskIndexModulus +//! @ingroup simulation_internal +//! @brief Mask based on the index modulo a given number. class BA_CORE_API_ MaskIndexModulus : public Mask { @@ -64,7 +70,10 @@ private: size_t m_remainder; }; -//! Mask based on the coordinates. + +//! @class MaskCoordinates +//! @ingroup simulation_internal +//! @brief Mask based on the coordinates. class BA_CORE_API_ MaskCoordinates : public Mask { diff --git a/Core/Algorithms/inc/MaskCoordinateFunction.h b/Core/Algorithms/inc/MaskCoordinateFunction.h index 2d925abc9194c7bf0536d2882ccdd3d86c340dd6..7c9c065329fb09e7497517db88cec8212dd4951c 100644 --- a/Core/Algorithms/inc/MaskCoordinateFunction.h +++ b/Core/Algorithms/inc/MaskCoordinateFunction.h @@ -20,7 +20,10 @@ #include <cstddef> #include "ICloneable.h" -//! base class for all kind of OutputData's masks + +//! @class MaskCoordinateFunction +//! @ingroup simulation_internal +//! @brief Base class for all kind of OutputData's masks class BA_CORE_API_ MaskCoordinateFunction : public ICloneable { @@ -37,7 +40,10 @@ protected: bool m_invert; //!< if true, the complement is masked instead }; -//! rectangular mask for OutputData + +//! @class MaskCoordinateRectangleFunction +//! @ingroup simulation_internal +//! @brief Rectangular mask for OutputData class BA_CORE_API_ MaskCoordinateRectangleFunction : public MaskCoordinateFunction { @@ -54,7 +60,9 @@ private: int *m_maxima; }; -//! ellipse shaped mask for OutputData +//! @class MaskCoordinateEllipseFunction +//! @ingroup simulation_internal +//! @brief Ellipse shaped mask for OutputData class BA_CORE_API_ MaskCoordinateEllipseFunction : public MaskCoordinateFunction { diff --git a/Core/Algorithms/inc/MatrixRTCoefficients.h b/Core/Algorithms/inc/MatrixRTCoefficients.h index 4e7a2f4cbcddea97d6d247549cd1c1a2b178facc..010ce64f81b51fba34800def1e86d0a29796c2b4 100644 --- a/Core/Algorithms/inc/MatrixRTCoefficients.h +++ b/Core/Algorithms/inc/MatrixRTCoefficients.h @@ -19,8 +19,12 @@ #include "ILayerRTCoefficients.h" #include "Types.h" -//! Specular reflection and transmission coefficients in a layer in case + +//! @class MatrixRTCoefficients +//! @ingroup algorithms_internal +//! @brief Specular reflection and transmission coefficients in a layer in case //! of 2x2 matrix interactions between the layers and the scattered particle + class MatrixRTCoefficients : public ILayerRTCoefficients { public: diff --git a/Core/Algorithms/inc/MatrixSpecularInfoMap.h b/Core/Algorithms/inc/MatrixSpecularInfoMap.h index 50b5078e322a19ee5685b1f736c18f4d992ac4f7..d88b263e7d75e45462b8b1c69820bd8b2acfa6f0 100644 --- a/Core/Algorithms/inc/MatrixSpecularInfoMap.h +++ b/Core/Algorithms/inc/MatrixSpecularInfoMap.h @@ -20,7 +20,9 @@ #include "Utils.h" -//! Implementation of ISpecularInfoMap for matrix valued reflection/ +//! @class MatrixSpecularInfoMap +//! @ingroup algorithms_internal +//! @brief Implementation of ISpecularInfoMap for matrix valued reflection/ //! transmission coefficients (the map contains values for both alpha_f and //! phi_f, because of broken rotation symmetry in the xy-plane diff --git a/Core/Algorithms/inc/MultiLayerDWBASimulation.h b/Core/Algorithms/inc/MultiLayerDWBASimulation.h index 7a1c778ab2cf8ae828fb031eee58495341ab1676..67e8e916f7ff7668d23ab4557c7c720e7d571534 100644 --- a/Core/Algorithms/inc/MultiLayerDWBASimulation.h +++ b/Core/Algorithms/inc/MultiLayerDWBASimulation.h @@ -24,7 +24,10 @@ class MultiLayer; class MultiLayerRoughnessDWBASimulation; -//! This is the class that will perform a DWBA calculation with the given + +//! @class MultiLayerDWBASimulation +//! @ingroup algorithms_internal +//! @brief This is the class that will perform a DWBA calculation with the given //! sample and simulation parameters class MultiLayerDWBASimulation : public DWBASimulation diff --git a/Core/Algorithms/inc/MultiLayerRoughnessDWBASimulation.h b/Core/Algorithms/inc/MultiLayerRoughnessDWBASimulation.h index 289b291a2e927407b6ea1ba75e61e02c64ce9c74..db74e8440ad069eed8bb86c7be851d1616a1abdb 100644 --- a/Core/Algorithms/inc/MultiLayerRoughnessDWBASimulation.h +++ b/Core/Algorithms/inc/MultiLayerRoughnessDWBASimulation.h @@ -23,7 +23,10 @@ class MultiLayer; -//! Calculation of diffuse reflection from multilayer with rough interfaces + +//! @class MultiLayerRoughnessDWBASimulation +//! @ingroup algorithms_internal +//! @brief Calculation of diffuse reflection from multilayer with rough interfaces class MultiLayerRoughnessDWBASimulation : public DWBASimulation { diff --git a/Core/Algorithms/inc/ResolutionFunction2DSimple.h b/Core/Algorithms/inc/ResolutionFunction2DSimple.h index 0394d610b48b710bd3564b83fd762712f22e98e2..495c7157beff03278fb9eeecdb7c33cd93e40ae5 100644 --- a/Core/Algorithms/inc/ResolutionFunction2DSimple.h +++ b/Core/Algorithms/inc/ResolutionFunction2DSimple.h @@ -18,6 +18,9 @@ #include "IResolutionFunction2D.h" +//! @class ResolutionFunction2DSimple +//! @ingroup algorithms_internal +//! @brief Simple gaussian two-dimensional resolution function. class BA_CORE_API_ ResolutionFunction2DSimple : public IResolutionFunction2D { @@ -32,7 +35,6 @@ public: protected: virtual void init_parameters(); private: - //! hiding copy constructor and disabling assignment operator ResolutionFunction2DSimple(const ResolutionFunction2DSimple& other); ResolutionFunction2DSimple& operator=(const ResolutionFunction2DSimple& ); diff --git a/Core/Algorithms/inc/ScalarRTCoefficients.h b/Core/Algorithms/inc/ScalarRTCoefficients.h index 9ffb998879412a9d61d24ece05c41d4285c33356..9e0ff60854aff28a3f97fcc43600cf399be6766d 100644 --- a/Core/Algorithms/inc/ScalarRTCoefficients.h +++ b/Core/Algorithms/inc/ScalarRTCoefficients.h @@ -19,8 +19,12 @@ #include "ILayerRTCoefficients.h" #include "Types.h" -//! Specular reflection and transmission coefficients in a layer in case + +//! @class ScalarRTCoefficients +//! @ingroup algorithms_internal +//! @brief Specular reflection and transmission coefficients in a layer in case //! of scalar interactions between the layers and the scattered particle + class ScalarRTCoefficients : public ILayerRTCoefficients { public: diff --git a/Core/Algorithms/inc/ScalarSpecularInfoMap.h b/Core/Algorithms/inc/ScalarSpecularInfoMap.h index 685ff7939b1ff5c5fcd0b4dd0aa8863771833cf5..ff1ec299afd6c746f3ca0ba357bd937c6c982ebd 100644 --- a/Core/Algorithms/inc/ScalarSpecularInfoMap.h +++ b/Core/Algorithms/inc/ScalarSpecularInfoMap.h @@ -20,7 +20,10 @@ #include "ScalarRTCoefficients.h" #include "Utils.h" -//! Implementation of ISpecularInfoMap for scalar valued reflection/ + +//! @class ScalarSpecularInfoMap +//! @ingroup algorithms_internal +//! @brief Implementation of ISpecularInfoMap for scalar valued reflection/ //! transmission coefficients (the map contains values only for alpha_f, //! because of rotation symmetry in the xy-plane diff --git a/Core/Algorithms/inc/Simulation.h b/Core/Algorithms/inc/Simulation.h index c7c103c14b08396bfdceed1a87f51bfa875b89ba..3101b2009cd5a25865d28660048fb9efb8af80dc 100644 --- a/Core/Algorithms/inc/Simulation.h +++ b/Core/Algorithms/inc/Simulation.h @@ -24,7 +24,9 @@ class ProgramOptions; -//! Run one simulation. +//! @class Simulation +//! @ingroup simulation +//! @brief Main class to run the simulation. class BA_CORE_API_ Simulation : public ICloneable, public IParameterized { diff --git a/Core/Algorithms/inc/SimulationParameters.h b/Core/Algorithms/inc/SimulationParameters.h index 07623b4ff91e882fb4b7bb571942e7b0de831db4..7699b0b943610445bf0b957ff3517cab6ace1e76 100644 --- a/Core/Algorithms/inc/SimulationParameters.h +++ b/Core/Algorithms/inc/SimulationParameters.h @@ -16,7 +16,10 @@ #ifndef SIMULATIONPARAMETERS_H_ #define SIMULATIONPARAMETERS_H_ -//! Collect the different options for simulation + +//! @class Simulation +//! @ingroup simulation +//! @brief Collect the different options for simulation class SimulationParameters { diff --git a/Core/Algorithms/inc/SizeSpacingCorrelationApproximationStrategy.h b/Core/Algorithms/inc/SizeSpacingCorrelationApproximationStrategy.h index ce676cb936c87a1a54336befd8809bed28e04e7c..1b1405047c5022237186e71e86067e63a92e70a0 100644 --- a/Core/Algorithms/inc/SizeSpacingCorrelationApproximationStrategy.h +++ b/Core/Algorithms/inc/SizeSpacingCorrelationApproximationStrategy.h @@ -20,6 +20,10 @@ #include "IInterferenceFunctionStrategy.h" +//! @class SizeSpacingCorrelationApproximationStrategy +//! @ingroup algorithms_internal +//! @brief Strategy which implements size spacing correlation approximation. + class SizeSpacingCorrelationApproximationStrategy : public IInterferenceFunctionStrategy { diff --git a/Core/Algorithms/inc/SpecularMagnetic.h b/Core/Algorithms/inc/SpecularMagnetic.h index 66238799a9facc61053ce9afd30eda1ea6fa2cb6..fee9a3ba0da4ea7837a9452cca701ca804ab63c8 100644 --- a/Core/Algorithms/inc/SpecularMagnetic.h +++ b/Core/Algorithms/inc/SpecularMagnetic.h @@ -23,7 +23,9 @@ #include "EigenCore.h" -//! Implements the matrix formalism for the calculation of wave amplitudes of +//! @class SpecularMagnetic +//! @ingroup algorithms_internal +//! @brief Implements the matrix formalism for the calculation of wave amplitudes of //! the coherent wave solution in a multilayer with magnetization class BA_CORE_API_ SpecularMagnetic : public ISimulation diff --git a/Core/Algorithms/inc/SpecularMatrix.h b/Core/Algorithms/inc/SpecularMatrix.h index 54c6bfbdabdf6f00319c47127cf30ab555c08630..f62510c92bfee3b323807dd80af9664b47448814 100644 --- a/Core/Algorithms/inc/SpecularMatrix.h +++ b/Core/Algorithms/inc/SpecularMatrix.h @@ -23,7 +23,9 @@ #include "EigenCore.h" -//! Implements the matrix formalism for the calculation of wave amplitudes of +//! @class SpecularMatrix +//! @ingroup algorithms_internal +//! @brief Implements the matrix formalism for the calculation of wave amplitudes of //! the coherent wave solution in a multilayer class BA_CORE_API_ SpecularMatrix : public ISimulation diff --git a/Core/Algorithms/inc/ThreadInfo.h b/Core/Algorithms/inc/ThreadInfo.h index ffc4ae569b6506ecb1a59954ea2aadc0c1f4f86b..c9ab5c50b4a1ccfa7727eabca793b696179327c3 100644 --- a/Core/Algorithms/inc/ThreadInfo.h +++ b/Core/Algorithms/inc/ThreadInfo.h @@ -18,7 +18,10 @@ #include "Exceptions.h" -//! Information for threads + +//! @class SpecularMatrix +//! @ingroup simulation +//! @brief Information to run simulation with dedicated number of threads struct ThreadInfo { diff --git a/Core/Samples/inc/Crystal.h b/Core/Samples/inc/Crystal.h index f842e5160443fabe67b203da8faa0054514af771..428c7a4e27bce73f8ef4557e6b1b1c1a61b98550 100644 --- a/Core/Samples/inc/Crystal.h +++ b/Core/Samples/inc/Crystal.h @@ -21,7 +21,10 @@ #include "Lattice.h" #include "LatticeBasis.h" -//! A crystal structure with a form factor as a basis. + +//! @class Crystal +//! @ingroup samples +//! @brief A crystal structure with a form factor as a basis. class BA_CORE_API_ Crystal : public IClusteredParticles { diff --git a/Core/Samples/inc/DiffuseParticleInfo.h b/Core/Samples/inc/DiffuseParticleInfo.h index e3aaca19c65f4911fd1ebd59c84e09dc0ffbafaa..0606184d16036acb820aa5ebe7e6dbe700de9ec3 100644 --- a/Core/Samples/inc/DiffuseParticleInfo.h +++ b/Core/Samples/inc/DiffuseParticleInfo.h @@ -18,7 +18,9 @@ #include "ParticleInfo.h" -//! Holds additional information about diffuse particle +//! @class DiffuseParticleInfo +//! @ingroup samples_internal +//! @brief Holds additional information about diffuse particle. class BA_CORE_API_ DiffuseParticleInfo : public ParticleInfo { diff --git a/Core/Samples/inc/HomogeneousMagneticMaterial.h b/Core/Samples/inc/HomogeneousMagneticMaterial.h index 2ca5959d1e718f09e7bb41831079cd3d2d900368..505e3aefb90b018741f12d2784751b7eb67f9f7d 100644 --- a/Core/Samples/inc/HomogeneousMagneticMaterial.h +++ b/Core/Samples/inc/HomogeneousMagneticMaterial.h @@ -19,7 +19,9 @@ #include "HomogeneousMaterial.h" #include "EigenCore.h" -//! An homogeneous material with magnetization +//! @class HomogeneousMagneticMaterial +//! @ingroup materials +//! @brief An homogeneous material with magnetization. class BA_CORE_API_ HomogeneousMagneticMaterial : public HomogeneousMaterial { diff --git a/Core/Samples/inc/HomogeneousMaterial.h b/Core/Samples/inc/HomogeneousMaterial.h index 971218dab76eddfbc587dde41488c21a2f77b2c2..f9596b620d472cc4c8cdfe8e492f18b34dbe80a3 100644 --- a/Core/Samples/inc/HomogeneousMaterial.h +++ b/Core/Samples/inc/HomogeneousMaterial.h @@ -19,7 +19,9 @@ #include "IMaterial.h" #include "Types.h" -//! A homogeneous material with a refractive index. +//! @class HomogeneousMaterial +//! @ingroup materials +//! @brief An homogeneous material with a refractive index. class BA_CORE_API_ HomogeneousMaterial : public IMaterial { diff --git a/Core/Samples/inc/IClusteredParticles.h b/Core/Samples/inc/IClusteredParticles.h index af2bb55f135fa702c19dacfb7193b3f653ceb3cb..91216e7d8c9e0465da351a6971c2565ccd103ccb 100644 --- a/Core/Samples/inc/IClusteredParticles.h +++ b/Core/Samples/inc/IClusteredParticles.h @@ -22,7 +22,9 @@ #include "Exceptions.h" #include "DiffuseParticleInfo.h" -//! An ordered assembly of particles +//! @class IClusteredParticles +//! @ingroup samples_internal +//! @brief An ordered assembly of particles class BA_CORE_API_ IClusteredParticles : public ICompositeSample { diff --git a/Core/Samples/inc/ICompositeIterator.h b/Core/Samples/inc/ICompositeIterator.h index 90ef6869f36d8849a7f7b6bda4dda86b8c80406c..3954de7833bd24873931985f059493527f73fd75 100644 --- a/Core/Samples/inc/ICompositeIterator.h +++ b/Core/Samples/inc/ICompositeIterator.h @@ -23,7 +23,9 @@ #include <stack> #include <list> -//! Holds state of ICompositeSample iterator +//! @class MementoState +//! @ingroup samples_internal +//! @brief Holds state of iterator (Memento pattern) for ICompositeIterator class MementoState { @@ -59,6 +61,9 @@ private: MementoState(); }; +//! @class MementoIterator +//! @ingroup samples_internal +//! @brief The iterator from Memento pattern, part of ICompositeSample iterator class MementoIterator { @@ -80,8 +85,10 @@ protected: }; -//! Iterator through ISample tree of objects inside ICompositeSample object. - +//! @class ICompositeIterator +//! @ingroup samples_internal +//! @brief Iterator through ISample tree of objects inside ICompositeSample object. +//! //! Usage example: //! ICompositeIterator it = sample->createIterator(); //! it.first(); diff --git a/Core/Samples/inc/ICompositeSample.h b/Core/Samples/inc/ICompositeSample.h index 289bea220f33240b7d6e105828abf4a19ea41f7a..808a470f9b076b8398c1b3634f1c28f9e2d56e30 100644 --- a/Core/Samples/inc/ICompositeSample.h +++ b/Core/Samples/inc/ICompositeSample.h @@ -19,7 +19,9 @@ #include "ISample.h" #include <list> -//! Interface to equip ISample with a tree structure. +//! @class ICompositeSample +//! @ingroup samples_internal +//! @brief Interface to describe the tree-like composition of samples class BA_CORE_API_ ICompositeSample : public ISample { diff --git a/Core/Samples/inc/IDecoration.h b/Core/Samples/inc/IDecoration.h index 0fcfdd1163062a9cb618072387a263af2712ef7e..0d31fca40e62ce6d5afb5c663ea52d911bcbff3d 100644 --- a/Core/Samples/inc/IDecoration.h +++ b/Core/Samples/inc/IDecoration.h @@ -24,7 +24,9 @@ class IInterferenceFunctionStrategy; class IInterferenceFunction; -//! Interface to equip a sample component with various properties. +//! @class IDecoration +//! @ingroup samples_internal +//! @brief Interface to equip a sample component with various properties. class BA_CORE_API_ IDecoration : public ICompositeSample { diff --git a/Core/Samples/inc/IDispersalState.h b/Core/Samples/inc/IDispersalState.h deleted file mode 100644 index 1f3a002d77e27857988e5e0fbd5c86e5c7b56482..0000000000000000000000000000000000000000 --- a/Core/Samples/inc/IDispersalState.h +++ /dev/null @@ -1,28 +0,0 @@ -// ************************************************************************** // -// -// BornAgain: simulate and fit scattering at grazing incidence -// -//! @file Samples/inc/IDispersalState.h -//! @brief Defines interface class IDispersalState (destructor only) -//! -//! @homepage http://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 -// -// ************************************************************************** // - -#ifndef IDISPERSALSTATE_H_ -#define IDISPERSALSTATE_H_ - - -class IDispersalState -{ -public: - virtual ~IDispersalState() {} -}; - -#endif /* IDISPERSALSTATE_H_ */ - - diff --git a/Core/Samples/inc/IInterferenceFunction.h b/Core/Samples/inc/IInterferenceFunction.h index 34c8a87f31a5ddaadf527bd2c52e39c52dc2566a..d573da89820a4a45a8d2327677a3d56d5e5faac4 100644 --- a/Core/Samples/inc/IInterferenceFunction.h +++ b/Core/Samples/inc/IInterferenceFunction.h @@ -19,7 +19,9 @@ #include "Types.h" #include "ISample.h" -//! Interface to interference functions. +//! @class IInterferenceFunction +//! @ingroup interference_internal +//! @brief Interface to interference functions. class BA_CORE_API_ IInterferenceFunction : public ISample { diff --git a/Core/Samples/inc/IMaterial.h b/Core/Samples/inc/IMaterial.h index 6dbf31d7474edaa7025c0391ac64c506c60c1599..f4f4bcafae7dfd8f353df7610f377833b0e59a32 100644 --- a/Core/Samples/inc/IMaterial.h +++ b/Core/Samples/inc/IMaterial.h @@ -23,8 +23,9 @@ #include <string> #include <iostream> - -//! Interface to a named material. +//! @class IMaterial +//! @ingroup materials_internal +//! @brief Interface to a named material. class BA_CORE_API_ IMaterial : public INamed { diff --git a/Core/Samples/inc/IRoughness.h b/Core/Samples/inc/IRoughness.h index 16f437744bc1b5852f48c0a7cd102c3f84755443..9c7d5bf2dd411200b470ee5206cda45295538f72 100644 --- a/Core/Samples/inc/IRoughness.h +++ b/Core/Samples/inc/IRoughness.h @@ -18,7 +18,9 @@ #include "ISample.h" -//! Interface to equip a sample with a roughness. +//! @class IRoughness +//! @ingroup samples_internal +//! @brief Interface to equip an interface with a roughness. class BA_CORE_API_ IRoughness : public ISample { diff --git a/Core/Samples/inc/ISample.h b/Core/Samples/inc/ISample.h index f86d7b8138de186da741fd0dfc2829e9677587f3..37e498527bb46c3b37cdcc05c5fbb67c5a0fa651 100644 --- a/Core/Samples/inc/ISample.h +++ b/Core/Samples/inc/ISample.h @@ -23,7 +23,9 @@ class ICompositeSample; class DWBASimulation; -//! Interface for objects related to scattering +//! @class ISample +//! @ingroup samples_internal +//! @brief Interface for objects related to scattering. class BA_CORE_API_ ISample : public ICloneable, public IParameterized { diff --git a/Core/Samples/inc/ISampleVisitor.h b/Core/Samples/inc/ISampleVisitor.h index 1b86950a6ed9683a8ce17c1452d5c091001f7d69..3a2045f7e1a52c0e4de3614070948f55d3c493bf 100644 --- a/Core/Samples/inc/ISampleVisitor.h +++ b/Core/Samples/inc/ISampleVisitor.h @@ -92,6 +92,11 @@ class InterferenceFunctionNone; class IRoughness; class LayerRoughness; +//! @class ISampleVisitor +//! @ingroup samples_internal +//! @brief Visitor interface to visit ISample objects +//! +//! From visitor pattern to achieve double dispatch class BA_CORE_API_ ISampleVisitor { diff --git a/Core/Samples/inc/ISelectionRule.h b/Core/Samples/inc/ISelectionRule.h index 683262726df6d1573cfb37a4187e8c1d9efbf07f..50b12d6c642ba01957a42c6ff6d85ec616141efa 100644 --- a/Core/Samples/inc/ISelectionRule.h +++ b/Core/Samples/inc/ISelectionRule.h @@ -20,7 +20,9 @@ typedef Geometry::BasicVector3D<int> IndexVector3D; -//! Pure virtual base class for selection rules. +//! @class ISelectionRule +//! @ingroup samples_internal +//! @brief Pure virtual base class for selection rules. class ISelectionRule { @@ -32,7 +34,9 @@ public: virtual bool coordinateSelected(const IndexVector3D& coordinate) const=0; }; -//! Selection rule (v*q)%modulus!=0, defined by vector v(a,b,c) and modulus. +//! @class SimpleSelectionRule +//! @ingroup samples_internal +//! @brief Selection rule (v*q)%modulus!=0, defined by vector v(a,b,c) and modulus. class SimpleSelectionRule : public ISelectionRule { diff --git a/Core/Samples/inc/InterferenceFunction1DParaCrystal.h b/Core/Samples/inc/InterferenceFunction1DParaCrystal.h index b3457e0f4d7843665b187524177e59e5385f5416..a0bde55d128e4f823133e8d960ca60e18247ea68 100644 --- a/Core/Samples/inc/InterferenceFunction1DParaCrystal.h +++ b/Core/Samples/inc/InterferenceFunction1DParaCrystal.h @@ -18,13 +18,15 @@ #include "IInterferenceFunction.h" -//! Interference function of 1D paracrystal. +//! @class InterferenceFunction1DParaCrystal +//! @ingroup interference +//! @brief Interference function of 1D paracrystal. class BA_CORE_API_ InterferenceFunction1DParaCrystal : public IInterferenceFunction { public: - //! @brief constructor + //! @brief constructor of 1D paracrystal interference function //! @param peak_distance The distance to the first neighbor peak. //! @param width Width parameter in the pair correlation function. //! @param m_corr_length Correlation length of paracrystal. diff --git a/Core/Samples/inc/InterferenceFunction2DLattice.h b/Core/Samples/inc/InterferenceFunction2DLattice.h index 08e31aaf51912278178756e27ea2ab4d527f769f..49b7245f17a915e42be1c5f025e3075743558fae 100644 --- a/Core/Samples/inc/InterferenceFunction2DLattice.h +++ b/Core/Samples/inc/InterferenceFunction2DLattice.h @@ -20,7 +20,9 @@ #include "Lattice2DIFParameters.h" #include "FTDistributions.h" -//! Interference function of 2D lattice +//! @class InterferenceFunction2DLattice +//! @ingroup interference +//! @brief Interference function of 2D lattice class BA_CORE_API_ InterferenceFunction2DLattice : public IInterferenceFunction { diff --git a/Core/Samples/inc/InterferenceFunction2DParaCrystal.h b/Core/Samples/inc/InterferenceFunction2DParaCrystal.h index 67c6695847c51ff9e4e104ad39cf7f847051833e..262620fba9314276c83f9ba6b60cc94a6020e9d3 100644 --- a/Core/Samples/inc/InterferenceFunction2DParaCrystal.h +++ b/Core/Samples/inc/InterferenceFunction2DParaCrystal.h @@ -20,13 +20,15 @@ #include "FTDistributions.h" #include <iostream> -//! Interference function of 2D paracrystal. +//! @class InterferenceFunction2DParaCrystal +//! @ingroup interference +//! @brief Interference function of 2D paracrystal. class BA_CORE_API_ InterferenceFunction2DParaCrystal : public IInterferenceFunction { public: - //! @brief constructor + //! @brief constructor of 2D paracrystal interference function //! @param length_1 Lattice length 1. //! @param length_2 Lattice length 2. //! @param alpha_lattice Angle between lattice basis vectors. diff --git a/Core/Samples/inc/InterferenceFunctionNone.h b/Core/Samples/inc/InterferenceFunctionNone.h index 184dbe7c42100f112d3a8f3bb96f5bc367ffaf49..9bf45a870ddcd3ec3cf83512a7057e8521accc84 100644 --- a/Core/Samples/inc/InterferenceFunctionNone.h +++ b/Core/Samples/inc/InterferenceFunctionNone.h @@ -18,6 +18,9 @@ #include "IInterferenceFunction.h" +//! @class InterferenceFunctionNone +//! @ingroup interference +//! @brief Default interference function (i.e. absence of any interference) class InterferenceFunctionNone : public IInterferenceFunction { @@ -25,7 +28,11 @@ public: InterferenceFunctionNone() { setName("InterferenceFunctionNone"); } virtual ~InterferenceFunctionNone() {} virtual InterferenceFunctionNone *clone() const - { return new InterferenceFunctionNone(); } + { + InterferenceFunctionNone *result = new InterferenceFunctionNone(); + result->setName(getName()); + return result; + } virtual void accept(ISampleVisitor *visitor) const { visitor->visit(this); } virtual double evaluate(const cvector_t& q) const { (void)q; return 1.0; } diff --git a/Core/Samples/inc/Lattice.h b/Core/Samples/inc/Lattice.h index 6f54a1e55e828e4e8d9b887d69c298d9120caea6..b7d0fd92ef1e9ab1f3db461dd78e3473e9dffb1b 100644 --- a/Core/Samples/inc/Lattice.h +++ b/Core/Samples/inc/Lattice.h @@ -24,7 +24,9 @@ #include <vector> -//! A Lattice with three basis vectors. +//! @class Lattice +//! @ingroup samples +//! @brief A lattice with three basis vectors. class BA_CORE_API_ Lattice { diff --git a/Core/Samples/inc/Lattice2DIFParameters.h b/Core/Samples/inc/Lattice2DIFParameters.h index 808394bdee73d89c5367dfbb3bb1fb3bc0889875..8d6e86c4d285c0663ccd72fc6e9f3c211472a11b 100644 --- a/Core/Samples/inc/Lattice2DIFParameters.h +++ b/Core/Samples/inc/Lattice2DIFParameters.h @@ -18,6 +18,10 @@ #include "IParameterized.h" +//! @class Lattice2DIFParameters +//! @ingroup samples +//! @brief Additional parameters for 2D lattice + class Lattice2DIFParameters { public: diff --git a/Core/Samples/inc/LatticeBasis.h b/Core/Samples/inc/LatticeBasis.h index 04670cbe9b3eee0250280db6b8cbc1fc0ddb91bf..b574174b843bdb5b834786c5655d33d6d9a8b571 100644 --- a/Core/Samples/inc/LatticeBasis.h +++ b/Core/Samples/inc/LatticeBasis.h @@ -20,6 +20,10 @@ #include "Types.h" #include <vector> +//! @class LatticeBasis +//! @ingroup samples +//! @brief Basis of the lattice represented by the composition of particles + class BA_CORE_API_ LatticeBasis : public Particle { public: diff --git a/Core/Samples/inc/Layer.h b/Core/Samples/inc/Layer.h index 38d7f9cb655d6b6ffbb65841530e2bfab5dcff49..32bf63661eafd1470f16ec957e7cd4553668d449 100644 --- a/Core/Samples/inc/Layer.h +++ b/Core/Samples/inc/Layer.h @@ -23,7 +23,9 @@ #include "LayerDWBASimulation.h" #include "ParticleDecoration.h" -//! A Layer with thickness and pointer to the material +//! @class Layer +//! @ingroup samples +//! @brief A layer with thickness and material class BA_CORE_API_ Layer : public ICompositeSample { diff --git a/Core/Samples/inc/LayerInterface.h b/Core/Samples/inc/LayerInterface.h index ba9a96d4ed87b0f5ec8a701288fc069aaef4140f..ff7f0370c3e0203e6a2c69b2a0477390159b3689 100644 --- a/Core/Samples/inc/LayerInterface.h +++ b/Core/Samples/inc/LayerInterface.h @@ -21,7 +21,9 @@ class Layer; -//! Interface between two layers, possibly with roughness. +//! @class LayerInterface +//! @ingroup samples_internal +//! @brief Interface between two layers, possibly with roughness. class LayerInterface : public ICompositeSample { diff --git a/Core/Samples/inc/LayerRoughness.h b/Core/Samples/inc/LayerRoughness.h index 27705d0c3125347af9621009a6f5796c5ae8bcff..481b5114fb009634d07b90f5e6eb0b0eaf1bf467 100644 --- a/Core/Samples/inc/LayerRoughness.h +++ b/Core/Samples/inc/LayerRoughness.h @@ -20,12 +20,12 @@ #include "IRoughness.h" //! @class LayerRoughness -//! @brief Roughness of interface between two layers. +//! @ingroup samples +//! @brief A Roughness of interface between two layers. //! //! Based on the article //! D.K.G. de Boer, Physical review B, Volume 51, Number 8, 15 February 1995 //! "X-ray reflection and transmission by rough surfaces" -//! See Appendix A2 class BA_CORE_API_ LayerRoughness : public IRoughness { diff --git a/Core/Samples/inc/MaterialManager.h b/Core/Samples/inc/MaterialManager.h index ff18d13baeeff8b83385f6ad524ae2bef56fdb26..c5a1ddb11dc224104ab3edf0ca3fd4db2de82b9f 100644 --- a/Core/Samples/inc/MaterialManager.h +++ b/Core/Samples/inc/MaterialManager.h @@ -23,11 +23,14 @@ #include <string> #include <map> -//! Manager of materials used in simulation. - -//! A singleton that maintains a database of materials, and -//! provides a common and unique interface for material creation and access. +//! @class MaterialManager +//! @ingroup materials +//! @brief Manager of materials used in simulation. //! +//! Maintains a database of materials, and provides a common and unique +//! interface for material creation and access. + + class BA_CORE_API_ MaterialManager: public ISingleton<MaterialManager> { public: diff --git a/Core/Samples/inc/MesoCrystal.h b/Core/Samples/inc/MesoCrystal.h index 4d83862a083ac716bbb3202d9f92c5459f745681..6480f2e9585d2b8c137f155a2b9771f3eb77e7a9 100644 --- a/Core/Samples/inc/MesoCrystal.h +++ b/Core/Samples/inc/MesoCrystal.h @@ -20,7 +20,9 @@ #include "IFormFactor.h" #include "Particle.h" -//! A particle with an internal structure of smaller particles +//! @class MesoCrystal +//! @ingroup samples +//! @brief A particle with an internal structure of smaller particles class BA_CORE_API_ MesoCrystal : public Particle { diff --git a/Core/Samples/inc/MultiLayer.h b/Core/Samples/inc/MultiLayer.h index 357cffbbd1ebd1b215e2a1783c3a98f69a808451..4dffcabfe872f54ecd9a1b6fd026cd44a6baffa9 100644 --- a/Core/Samples/inc/MultiLayer.h +++ b/Core/Samples/inc/MultiLayer.h @@ -22,7 +22,9 @@ #include "MultiLayerDWBASimulation.h" #include <vector> + //! @class MultiLayer +//! @ingroup samples //! @brief Stack of layers one below the other //! //! Example of system of 4 layers (3 interfaces): @@ -35,6 +37,7 @@ //! --------- interface #2 //! substrate layer #3 z=getLayerBottomZ(3)=-60.0 + class BA_CORE_API_ MultiLayer : public ICompositeSample { public: diff --git a/Core/Samples/inc/Particle.h b/Core/Samples/inc/Particle.h index 1da3d32916b057623d9e7302b1bace32018037b9..f8c2795eb82a14a94b58fc0a1ad707255a19e08b 100644 --- a/Core/Samples/inc/Particle.h +++ b/Core/Samples/inc/Particle.h @@ -24,7 +24,9 @@ class ParticleInfo; class DiffuseParticleInfo; -//! A particle with a form factor and refractive index +//! @class Particle +//! @ingroup samples +//! @brief A particle with a form factor and refractive index class BA_CORE_API_ Particle : public ICompositeSample { diff --git a/Core/Samples/inc/ParticleBuilder.h b/Core/Samples/inc/ParticleBuilder.h index 7a10fc8de41e452c368e2a076dc2fb5512383995..1f358891163e7400c3925f15daac73f02fa67504 100644 --- a/Core/Samples/inc/ParticleBuilder.h +++ b/Core/Samples/inc/ParticleBuilder.h @@ -21,10 +21,8 @@ #include "ParticleDecoration.h" //! @class ParticleBuilder +//! @ingroup samples_internal //! @brief To build set of particles with similar properties -//! -//! currently produces particles but probably can produce directly -//! ParticleInfo, or even ISample class BA_CORE_API_ ParticleBuilder { diff --git a/Core/Samples/inc/ParticleCoreShell.h b/Core/Samples/inc/ParticleCoreShell.h index 85abdce851bc11c06700931fdf45428a709709d5..457548433f8c906f066090c548106b32f920e9aa 100644 --- a/Core/Samples/inc/ParticleCoreShell.h +++ b/Core/Samples/inc/ParticleCoreShell.h @@ -18,7 +18,9 @@ #include "Particle.h" -//! A particle with a core/shell geometry +//! @class ParticleCoreShell +//! @ingroup samples +//! @brief A particle with a core/shell geometry class BA_CORE_API_ ParticleCoreShell : public Particle { @@ -58,19 +60,15 @@ public: } //! Returns the core particle - const Particle *getCoreParticle() const { - return mp_core; - } + const Particle *getCoreParticle() const { return mp_core; } //! Returns the shell particle - const Particle *getShellParticle() const { - return mp_shell; - } + const Particle *getShellParticle() const { return mp_shell; } +protected: void addAndRegisterCore(const Particle &core); void addAndRegisterShell(const Particle &shell); -protected: ParticleCoreShell(kvector_t relative_core_position); Particle *mp_shell; Particle *mp_core; diff --git a/Core/Samples/inc/ParticleDecoration.h b/Core/Samples/inc/ParticleDecoration.h index 3d12e929883b40d1b15836b9b87ca94286e5cd20..6d53b48f6ce2b91d3f2db57727936317df027172 100644 --- a/Core/Samples/inc/ParticleDecoration.h +++ b/Core/Samples/inc/ParticleDecoration.h @@ -21,7 +21,9 @@ #include "ParticleInfo.h" #include "IInterferenceFunction.h" -//! Decorator class that adds particles to ISample objects +//! @class ParticleDecoration +//! @ingroup samples +//! @brief Decorator class that adds particles to ISample objects class BA_CORE_API_ ParticleDecoration : public IDecoration { diff --git a/Core/Samples/inc/ParticleInfo.h b/Core/Samples/inc/ParticleInfo.h index ffdc49eceaee4d847c4e5f5068ccb54e644ddabb..7badbdbfd806d56d3345eefb4d678607739ddc2e 100644 --- a/Core/Samples/inc/ParticleInfo.h +++ b/Core/Samples/inc/ParticleInfo.h @@ -19,7 +19,11 @@ #include "ICompositeSample.h" #include "Particle.h" -//! Holds additional information about particle (used in ParticleDecoration). +//! @class ParticleInfo +//! @ingroup samples +//! @brief Holds additional information about particle. +//! +//! Used in ParticleDecoration class BA_CORE_API_ ParticleInfo : public ICompositeSample { diff --git a/Core/Samples/inc/PositionParticleInfo.h b/Core/Samples/inc/PositionParticleInfo.h index b82d60cca8972d762c7d49abdafc7630aebe316f..1dd931b06d914a477d4c3fc519df71d4edba2c8a 100644 --- a/Core/Samples/inc/PositionParticleInfo.h +++ b/Core/Samples/inc/PositionParticleInfo.h @@ -18,11 +18,13 @@ #include "ParticleInfo.h" -//! Enhances ParticleInfo by position in x and y. - -//! Used in IsGISAXSMorphologyFileDecoration. -//! Note that position in z ("depth") is inherited from ParticleInfo. +//! @class PositionParticleInfo +//! @ingroup samples +//! @brief Enhances ParticleInfo by position in x and y. //! +//! Note that position in z ("depth") is inherited from ParticleInfo. + + class BA_CORE_API_ PositionParticleInfo : public ParticleInfo { public: diff --git a/Core/Samples/src/InterferenceFunction1DParaCrystal.cpp b/Core/Samples/src/InterferenceFunction1DParaCrystal.cpp index ff067cb474383486bd211a33d0d7733d7720ff78..4536bc738a0cc09c752ea59ddd9fe78cd8a33d15 100644 --- a/Core/Samples/src/InterferenceFunction1DParaCrystal.cpp +++ b/Core/Samples/src/InterferenceFunction1DParaCrystal.cpp @@ -38,11 +38,12 @@ void InterferenceFunction1DParaCrystal::init_parameters() InterferenceFunction1DParaCrystal *InterferenceFunction1DParaCrystal::clone() const { - InterferenceFunction1DParaCrystal *p_clone = + InterferenceFunction1DParaCrystal *result = new InterferenceFunction1DParaCrystal( m_peak_distance, m_width, m_corr_length); - p_clone->setKappa(m_kappa); - return p_clone; + result->setName(getName()); + result->setKappa(m_kappa); + return result; } diff --git a/Core/Samples/src/InterferenceFunction2DLattice.cpp b/Core/Samples/src/InterferenceFunction2DLattice.cpp index 62bcac9ce6821bd7ad8488e40c954c2c11be89f9..1b533cc3e7bafe10bf1137b505784ed2686fcec9 100644 --- a/Core/Samples/src/InterferenceFunction2DLattice.cpp +++ b/Core/Samples/src/InterferenceFunction2DLattice.cpp @@ -35,9 +35,10 @@ InterferenceFunction2DLattice::~InterferenceFunction2DLattice() } InterferenceFunction2DLattice *InterferenceFunction2DLattice::clone() const { - InterferenceFunction2DLattice *p_clone = new InterferenceFunction2DLattice(m_lattice_params); - p_clone->setProbabilityDistribution(*mp_pdf); - return p_clone; + InterferenceFunction2DLattice *result = new InterferenceFunction2DLattice(m_lattice_params); + result->setProbabilityDistribution(*mp_pdf); + result->setName(getName()); + return result; } diff --git a/Core/Samples/src/InterferenceFunction2DParaCrystal.cpp b/Core/Samples/src/InterferenceFunction2DParaCrystal.cpp index ed2daef950e9b5ab74b56e798506a1d126421f50..79f7d400becbe31b474079fd1a912e2274743491 100644 --- a/Core/Samples/src/InterferenceFunction2DParaCrystal.cpp +++ b/Core/Samples/src/InterferenceFunction2DParaCrystal.cpp @@ -49,14 +49,15 @@ InterferenceFunction2DParaCrystal::~InterferenceFunction2DParaCrystal() InterferenceFunction2DParaCrystal *InterferenceFunction2DParaCrystal::clone() const { - InterferenceFunction2DParaCrystal *p_new = + InterferenceFunction2DParaCrystal *result = new InterferenceFunction2DParaCrystal(m_lattice_lengths[0], m_lattice_lengths[1], m_alpha_lattice, m_xi, m_corr_length); - p_new->setDomainSizes(m_domain_sizes[0], m_domain_sizes[1]); + result->setDomainSizes(m_domain_sizes[0], m_domain_sizes[1]); if(m_pdfs[0] && m_pdfs[1]) - p_new->setProbabilityDistributions(*m_pdfs[0], *m_pdfs[1]); - p_new->setIntegrationOverXi(m_integrate_xi); - return p_new; + result->setProbabilityDistributions(*m_pdfs[0], *m_pdfs[1]); + result->setIntegrationOverXi(m_integrate_xi); + result->setName(getName()); + return result; } diff --git a/Core/StandardSamples/FunctionalTestRegistry.h b/Core/StandardSamples/FunctionalTestRegistry.h index 7f8a9191fad1aeb9b8edd41e06686b6ab455ebde..41e9cec4b9ecd83c7eb5623fc45e60fd882a9b04 100644 --- a/Core/StandardSamples/FunctionalTestRegistry.h +++ b/Core/StandardSamples/FunctionalTestRegistry.h @@ -21,6 +21,13 @@ #include <map> #include "IFunctionalTest.h" + +//! @class FunctionalTestRegistry +//! @ingroup samples +//! @brief Enhances ParticleInfo by position in x and y. +//! +//! Note that position in z ("depth") is inherited from ParticleInfo. + class FunctionalTestRegistry { public: diff --git a/Core/Tools/inc/ICloneable.h b/Core/Tools/inc/ICloneable.h index cc6e264a7d341d966850f3eb81d4f735aea80f98..bb38e93b2ba745f4d080ddbcf44d03655e148925 100644 --- a/Core/Tools/inc/ICloneable.h +++ b/Core/Tools/inc/ICloneable.h @@ -18,8 +18,11 @@ #include "Exceptions.h" -//! Standard mix-in for objects that must not be copied, except by cloning. +//! @class ICloneable +//! @ingroup tools +//! @brief Standard mix-in for objects that must not be copied, except by cloning. +//! //! This virtual base class disables the copy constructor and the operator= //! in all its child classes. //! Child classes should provide clone(). diff --git a/Core/Tools/inc/INamed.h b/Core/Tools/inc/INamed.h index 676d1bbacf9eac19f4588b32d9b1332b33f8dc54..47fc748ca8d1a3f55fa173bdd595c93563a151c8 100644 --- a/Core/Tools/inc/INamed.h +++ b/Core/Tools/inc/INamed.h @@ -19,7 +19,9 @@ #include "WinDllMacros.h" #include <string> -//! Standard mix-in for all objects that have a name. +//! @class INamed +//! @ingroup tools +//! @brief Interface for named objects. class BA_CORE_API_ INamed { diff --git a/Core/Tools/inc/IParameterized.h b/Core/Tools/inc/IParameterized.h index 9bf964375324d8951ec13f22c4b83fcb401836cd..ba8f37756db2f81e858289f28140ec20def0fd19 100644 --- a/Core/Tools/inc/IParameterized.h +++ b/Core/Tools/inc/IParameterized.h @@ -20,7 +20,9 @@ #include "IChangeable.h" #include "ParameterPool.h" -//! Manage a "local" parameter pool, and a tree of children's pools. +//! @class IParameterized +//! @ingroup tools +//! @brief Manage a "local" parameter pool, and a tree of children's pools. class BA_CORE_API_ IParameterized : public INamed { diff --git a/Doc/Doxygen/defgroups.doc b/Doc/Doxygen/defgroups.doc index 40d2238cfc39e6429b6b9b432dada63ecfb8a23e..8b1bb263efee599eb4092774211d7c37e11dc3c1 100644 --- a/Doc/Doxygen/defgroups.doc +++ b/Doc/Doxygen/defgroups.doc @@ -1,17 +1,41 @@ /*! +\defgroup simulation Simulation description +\defgroup simulation_internal Simulation internals + +\defgroup algorithms Algorithms +\defgroup algorithms_internal Algorithm internals + + \defgroup formfactors Available formfactors -\defgroup ff_decorations Formfactor decorations. -\defgroup ff_internals Formfactor internals. +\defgroup formfactors_internal Formfactor internals +\defgroup formfactors_decorations Formfactor decorations + + +\defgroup samples Samples +Collection of objects to describe experimental sample. + +\defgroup samples_internal Sample internals + +\defgroup materials Materials +\defgroup materials_internal Material internals + +\defgroup interference Interference functions + +\defgroup interference_internal Interference function internals + +\defgroup standard_samples + + + + + + + -\defgroup simulation Simulation API -\defgroup simulation_internals -\defgroup sample Samples -\defgroup sample_internals Sample internals -\defgroup interference -\defgroup layers +\defgroup tools */