diff --git a/Core/Beam/Beam.h b/Core/Beam/Beam.h index 612b302664e0a14361abcb2bc71179c36ce9ea96..03a05517b0e7f51a2b0597f6860ecf9abfeb692f 100644 --- a/Core/Beam/Beam.h +++ b/Core/Beam/Beam.h @@ -22,7 +22,7 @@ class IFootprintFactor; //! Beam defined by wavelength, direction and intensity. -//! @ingroup simulation +//! @ingroup beam class BA_CORE_API_ Beam : public INode { diff --git a/Core/Beam/FootprintFactorGaussian.h b/Core/Beam/FootprintFactorGaussian.h index 2807cd1f8debdc0062638e679d39b268f262160c..1fbd898468144b191bbaf248d4169be152c12ea5 100644 --- a/Core/Beam/FootprintFactorGaussian.h +++ b/Core/Beam/FootprintFactorGaussian.h @@ -20,7 +20,7 @@ //! Calculates footprint coefficient for a gaussian beam //! Beam width is interpreted as the full width on the level //! of \f[ \exp{-1/2} \f] from the peak intensity. -//! @ingroup simulation +//! @ingroup beam class BA_CORE_API_ FootprintFactorGaussian : public IFootprintFactor { diff --git a/Core/Beam/FootprintFactorSquare.h b/Core/Beam/FootprintFactorSquare.h index ef3f7d85ee9c06de7dd0076c389a05ade9d644c6..e65caa7ef3477a402c6b74d8e622f2a7dbd68af0 100644 --- a/Core/Beam/FootprintFactorSquare.h +++ b/Core/Beam/FootprintFactorSquare.h @@ -18,7 +18,7 @@ #include "IFootprintFactor.h" //! Calculates footprint coefficient for a square beam -//! @ingroup simulation +//! @ingroup beam class BA_CORE_API_ FootprintFactorSquare : public IFootprintFactor { diff --git a/Core/Beam/IFootprintFactor.h b/Core/Beam/IFootprintFactor.h index e41388350e50b0894bfaf0aac4f804885edc746e..62d59a94069fa9306d1b8ca8f2d326ef848778c1 100644 --- a/Core/Beam/IFootprintFactor.h +++ b/Core/Beam/IFootprintFactor.h @@ -22,7 +22,7 @@ class MultiLayer; class Beam; //! Abstract base for classes that calculate the beam footprint factor -//! @ingroup simulation +//! @ingroup beam class BA_CORE_API_ IFootprintFactor : public ICloneable, public INode { diff --git a/Core/Binning/IPixel.h b/Core/Binning/IPixel.h index f8ac970ff52823b6e7ce687d28685717b17072f4..f77ab86c401233b4176323af18db42a78f994964 100644 --- a/Core/Binning/IPixel.h +++ b/Core/Binning/IPixel.h @@ -19,7 +19,7 @@ #include "WinDllMacros.h" //! Interface for a function that maps [0,1]x[0,1] to the kvectors in a pixel. -//! @ingroup simulation +//! @ingroup detector class BA_CORE_API_ IPixel { diff --git a/Core/Instrument/AxisNames.h b/Core/Instrument/AxisNames.h index 119f67f43c97c0e162d0492f2d67d3dc95579c7d..c267681174b128d1f8a75478fc87d63bc5824ac4 100644 --- a/Core/Instrument/AxisNames.h +++ b/Core/Instrument/AxisNames.h @@ -20,7 +20,7 @@ //! Contains functions to create maps that give the right axis names for different //! detector types and units -//! @ingroup simulation +//! @ingroup detector namespace AxisNames { diff --git a/Core/Instrument/ConvolutionDetectorResolution.h b/Core/Instrument/ConvolutionDetectorResolution.h index d307ffa476549b70957c18ce0e25624213e538ee..1f2a0f4b35610e649743f40b1dd6eba5428d59d6 100644 --- a/Core/Instrument/ConvolutionDetectorResolution.h +++ b/Core/Instrument/ConvolutionDetectorResolution.h @@ -19,7 +19,7 @@ #include "IResolutionFunction2D.h" //! Convolutes the intensity in 1 or 2 dimensions with a resolution function. -//! @ingroup simulation +//! @ingroup detector //! Limitation: this class assumes that the data points are evenly distributed on each axis diff --git a/Core/Instrument/DetectionProperties.h b/Core/Instrument/DetectionProperties.h index 48639925caa19cc29f62a2a315a079bd1690930d..6c1924b1dadf07929572d81540954f58047b13d1 100644 --- a/Core/Instrument/DetectionProperties.h +++ b/Core/Instrument/DetectionProperties.h @@ -21,7 +21,7 @@ #include "WinDllMacros.h" //! Detector properties (efficiency, transmission). -//! @ingroup simulation +//! @ingroup detector class BA_CORE_API_ DetectionProperties : public INode { diff --git a/Core/Instrument/DetectorContext.h b/Core/Instrument/DetectorContext.h index bd68c8943c7ad7d89f1eb583bc96e3a8e026ee82..eb1b6763007c76eb97e40ead0286ed9f5b6beff9 100644 --- a/Core/Instrument/DetectorContext.h +++ b/Core/Instrument/DetectorContext.h @@ -24,7 +24,7 @@ class IDetector2D; //! Holds precalculated information for faster SimulationElement generation. -//! @ingroup simulation +//! @ingroup detector class BA_CORE_API_ DetectorContext { diff --git a/Core/Instrument/DetectorFunctions.h b/Core/Instrument/DetectorFunctions.h index e3fc15556a5f965745e031fb8a9d82b7c9079962..b92aa2095a6f8d817be8c86317228d02ef3fe356 100644 --- a/Core/Instrument/DetectorFunctions.h +++ b/Core/Instrument/DetectorFunctions.h @@ -26,7 +26,7 @@ class IDetector; class SimulationAreaIterator; //! Contains set of detector-related convenience functions. -//! @ingroup simulation +//! @ingroup detector namespace DetectorFunctions { diff --git a/Core/Instrument/DetectorMask.h b/Core/Instrument/DetectorMask.h index 2bfd0827dd90be8c780208005dfc9680d9895824..9eba18a3b0545f50df947493cd020c1bf66c266e 100644 --- a/Core/Instrument/DetectorMask.h +++ b/Core/Instrument/DetectorMask.h @@ -23,7 +23,7 @@ template <class T> class OutputData; class Histogram2D; //! Collection of detector masks. -//! @ingroup simulation +//! @ingroup detector class BA_CORE_API_ DetectorMask { diff --git a/Core/Instrument/IDetector.h b/Core/Instrument/IDetector.h index 621e30cd42dea2328427208aefd2ab0672f274ac..30d509c201dcda883d91624416aaa56707f9c24c 100644 --- a/Core/Instrument/IDetector.h +++ b/Core/Instrument/IDetector.h @@ -32,7 +32,7 @@ class SimulationElement; class RegionOfInterest; //! Abstract detector interface. -//! @ingroup simulation +//! @ingroup detector class BA_CORE_API_ IDetector : public ICloneable, public INode { diff --git a/Core/Instrument/IDetector2D.h b/Core/Instrument/IDetector2D.h index 4e8c51d085547dae42bfbe528b2ee483cf1309d5..0cae2b6d1aa6b58c2feddc5e409127e7b0b77fd2 100644 --- a/Core/Instrument/IDetector2D.h +++ b/Core/Instrument/IDetector2D.h @@ -25,7 +25,7 @@ class IShape2D; class DetectorContext; //! Abstract 2D detector interface. -//! @ingroup simulation +//! @ingroup detector class BA_CORE_API_ IDetector2D : public IDetector { diff --git a/Core/Instrument/IUnitConverter.h b/Core/Instrument/IUnitConverter.h index 2ec6a994b20ddcbf88f7daec07c45947afa59a4a..8ec46344ec6c1b5863f0df76571f5364d4a8ab87 100644 --- a/Core/Instrument/IUnitConverter.h +++ b/Core/Instrument/IUnitConverter.h @@ -26,7 +26,7 @@ template <class T> class OutputData; //! Wrapper for detector axes units, required for a better representation of //! detector axes units in python -//! @ingroup simulation +//! @ingroup detector // workaround for SWIG (instead of just writing enum class AxesUnits...) struct BA_CORE_API_ AxesUnitsWrap { diff --git a/Core/Instrument/Instrument.h b/Core/Instrument/Instrument.h index fae13981395f8c5d65ead7ed8331d4ce7a9cd8d2..30d0e88d9052358e64053c219112a772d3d8d1b2 100644 --- a/Core/Instrument/Instrument.h +++ b/Core/Instrument/Instrument.h @@ -28,7 +28,7 @@ class IDetector2D; class IResolutionFunction2D; class SimulationElement; -//! Assembles beam, detector and their relative positions wrt the sample. +//! Assembles beam, detector and their relative positions with respect to the sample. //! @ingroup simulation_internal class BA_CORE_API_ Instrument : public INode diff --git a/Core/Instrument/IsGISAXSDetector.h b/Core/Instrument/IsGISAXSDetector.h index 84bf08cb99605ee347a90e2a89d20682a27101c5..ace9a82ea35e209acb61e7cd2f88eef0278d8ad8 100644 --- a/Core/Instrument/IsGISAXSDetector.h +++ b/Core/Instrument/IsGISAXSDetector.h @@ -18,7 +18,7 @@ #include "SphericalDetector.h" //! A spherical detector used for validation with IsGISAXS results. -//! @ingroup simulation +//! @ingroup detector class BA_CORE_API_ IsGISAXSDetector : public SphericalDetector { diff --git a/Core/Instrument/RectangularDetector.h b/Core/Instrument/RectangularDetector.h index c23ff1e888036a23854c29ef0e514a138836f726..5a788e0b298e9e612b6613b1d0f15e7422c62e98 100644 --- a/Core/Instrument/RectangularDetector.h +++ b/Core/Instrument/RectangularDetector.h @@ -21,7 +21,7 @@ class RectangularPixel; //! A flat rectangular detector with axes and resolution function. -//! @ingroup simulation +//! @ingroup detector class BA_CORE_API_ RectangularDetector : public IDetector2D { diff --git a/Core/Instrument/RegionOfInterest.h b/Core/Instrument/RegionOfInterest.h index fbbdb491d09de64f995531efa0ee74d156cf885c..096d6c62f0a40e76d699342484d6e57731b43793 100644 --- a/Core/Instrument/RegionOfInterest.h +++ b/Core/Instrument/RegionOfInterest.h @@ -25,7 +25,7 @@ class IAxis; template <class T> class OutputData; //! Defines rectangular area for the detector which will be simulated/fitted. -//! @ingroup simulation +//! @ingroup detector class BA_CORE_API_ RegionOfInterest : public ICloneable { diff --git a/Core/Instrument/SimulationArea.h b/Core/Instrument/SimulationArea.h index 83290bb526ae4fdd8bda4a8c7c13b753211f0f32..161e3d9b5c561c6620a84e44172a392056c14ca8 100644 --- a/Core/Instrument/SimulationArea.h +++ b/Core/Instrument/SimulationArea.h @@ -22,7 +22,7 @@ class IDetector; //! Holds iteration logic over active detector channels in the presence of masked areas //! and RegionOfInterest defined. -//! @ingroup simulation +//! @ingroup detector class BA_CORE_API_ SimulationArea { @@ -57,7 +57,7 @@ inline size_t SimulationArea::totalSize() const //! Holds iteration logic over active detector channels in the presence of ROI. On the contrary //! to SimulationArea class, iterates also over masked areas. -//! @ingroup simulation +//! @ingroup detector class BA_CORE_API_ SimulationRoiArea : public SimulationArea { diff --git a/Core/Instrument/SimulationAreaIterator.h b/Core/Instrument/SimulationAreaIterator.h index 0cce544e90bfad4e1687f25487459d1b602a184b..7ccc9a34f82354ca5c6247dd7b85b174724c3a9f 100644 --- a/Core/Instrument/SimulationAreaIterator.h +++ b/Core/Instrument/SimulationAreaIterator.h @@ -20,7 +20,7 @@ class SimulationArea; //! An iterator for SimulationArea. -//! @ingroup simulation +//! @ingroup detector class BA_CORE_API_ SimulationAreaIterator { diff --git a/Core/Instrument/SimulationResult.h b/Core/Instrument/SimulationResult.h index 8701d1a7680789aea9ff0bf5f7c45eab75d017fc..9916cc1b26a3a7d20c29b873f413ee10549f3a17 100644 --- a/Core/Instrument/SimulationResult.h +++ b/Core/Instrument/SimulationResult.h @@ -27,7 +27,7 @@ class IAxis; template <class T> class OutputData; //! Information about an axis in specific units. Can be used for plotting. -//! @ingroup simulation +//! @ingroup detector struct AxisInfo { std::string m_name; @@ -36,7 +36,7 @@ struct AxisInfo { }; //! Wrapper around OutputData<double> that also provides unit conversions. -//! @ingroup simulation +//! @ingroup detector class BA_CORE_API_ SimulationResult { diff --git a/Core/Instrument/SpecularDetector1D.h b/Core/Instrument/SpecularDetector1D.h index c5a355b6fe5a65488351227cfe074cd956d0f824..517d71b805c9c6e450ce5a049b3bce69921a3d19 100644 --- a/Core/Instrument/SpecularDetector1D.h +++ b/Core/Instrument/SpecularDetector1D.h @@ -20,7 +20,7 @@ class SpecularSimulationElement; //! 1D detector for specular simulations. Use of this detector is deprecated. -//! @ingroup simulation +//! @ingroup detector class BA_CORE_API_ SpecularDetector1D : public IDetector { diff --git a/Core/Instrument/SphericalDetector.h b/Core/Instrument/SphericalDetector.h index f74b2622ef357918056a28ef13aa0bd0a52a39a0..60c489ea52d14ddb25d84f3df79a38204f8eee64 100644 --- a/Core/Instrument/SphericalDetector.h +++ b/Core/Instrument/SphericalDetector.h @@ -20,7 +20,7 @@ //! A spherical detector with axes and resolution function. //! SphericalDetector -//! @ingroup simulation +//! @ingroup detector class BA_CORE_API_ SphericalDetector : public IDetector2D { diff --git a/Core/Multilayer/KzComputation.h b/Core/Multilayer/KzComputation.h index da6e900f3c49ce261a5e0b71535b6f943927c386..ab07db0474a30072673ad06aad8afc31aa183e5d 100644 --- a/Core/Multilayer/KzComputation.h +++ b/Core/Multilayer/KzComputation.h @@ -24,7 +24,7 @@ class Slice; //! Namespace containing functions for computing kz values for given multilayer and k (or kz) value //! on the surface of the sample. -//! @ingroup simulation +//! @ingroup samples_internal namespace KzComputation { diff --git a/Doc/Doxygen/defgroups.dox b/Doc/Doxygen/defgroups.dox index 37c59035309de42de8f96d138fda45ebb0349990..8072c38dd108522b0f89ffeb3ec697935b786d8c 100644 --- a/Doc/Doxygen/defgroups.dox +++ b/Doc/Doxygen/defgroups.dox @@ -3,6 +3,12 @@ \defgroup simulation Simulation description @brief Classes to describe beam, detector and run the simulation. +\defgroup beam +@brief Classes to describe the incoming beam and its footprint in the sample plane + +\defgroup detector +@brief Classes to describe a detector + \defgroup mask Detector masks @brief Classes to construct a two-dimensional mask. @@ -37,8 +43,8 @@ \defgroup paramDistribution Parameter distributions -\defgroup simulation_internal Simulation internals -@brief Simulation internal classes. +\defgroup simulation_internal Simulation and instrument internals +@brief Internal classes concerned with simulations and instrument \defgroup samples_internal Sample internals @brief Sample internal classes. diff --git a/Doc/Doxygen/mainpage.dox b/Doc/Doxygen/mainpage.dox index 514d31fd9f5b716cf6da32a61e2582f800b0b1b4..238aa7a5033c1de75d797fce03fa625d08db8446 100644 --- a/Doc/Doxygen/mainpage.dox +++ b/Doc/Doxygen/mainpage.dox @@ -1,20 +1,27 @@ /*! \mainpage -C++ API Reference of <a href="http://www.bornagainproject.org">BornAgain Project</a>, a software to simulate and fit grazing incidence small angle scattering. +C++ API Reference of <a href="http://www.bornagainproject.org">BornAgain Project</a>, + an open-source software to simulate and fit + neutron and x-ray reflectometry and grazing-incidence small-angle scattering. <ul> -<li> Section <a href="userapi.html">User API</a> contains list of main classes to run the simulation. -<li> Section <a href="annotated.html">Full C++ API</a> contains a full list of classes belonging to the %BornAgain framework. -<li> Section <a href="namespace.html">Namespace List</a> contains a full list of namespaces belonging to the %BornAgain framework. -<li> Section <a href="files.html">File List</a> lets you browse the C++ source code. +<li> Section <a href="userapi.html">User API</a> + contains list of main classes to run the simulation. +<li> Section <a href="annotated.html">Full C++ API</a> + contains a full list of classes belonging to the %BornAgain framework. +<li> Section <a href="namespace.html">Namespace List</a> + contains a full list of namespaces belonging to the %BornAgain framework. +<li> Section <a href="files.html">File List</a> + lets you browse the C++ source code. </ul> <b> License: </b> <br> -GNU General Public License v3 or higher +<a href="https://github.com/scgmlz/BornAgain/blob/master/COPYING" + >GNU General Public License v3 or higher</a> <br> Copyright Forschungszentrum Jülich GmbH 2015- @@ -23,8 +30,9 @@ Copyright Forschungszentrum Jülich GmbH 2015- <br> Scientific Computing Group at MLZ Garching. <br> -Current maintainers: J. Carmona Loaiza, M. Ganeva, G. Pospelov, W. Van Herck, J. Wuttke, D. Yurov. -<br> -Former contributors: J. Burle, C. Durniak, J. M. Fisher. +See file <a href="https://github.com/scgmlz/BornAgain/blob/master/AUTHORS">AUTHORS</a> + +<b> Citation: </b> +See file <a href="https://github.com/scgmlz/BornAgain/blob/master/CITATION">CITATION</a> */ diff --git a/Doc/Doxygen/userapi.dox b/Doc/Doxygen/userapi.dox index 7e5373664278313c64f5507a62bd3356892c5eb0..0f0009f563a689b03ee883b0cec4204aa450c7d6 100644 --- a/Doc/Doxygen/userapi.dox +++ b/Doc/Doxygen/userapi.dox @@ -5,9 +5,15 @@ Here is a list of classes grouped in several categories to create the sample, de <ul> <li> \ref simulation "Simulation" <br> -List of classes to describe beam, detector and run the simulation +List of classes to run simulations <ul> - <li> \ref mask "Detector masks" + <li> \ref beam "Beam" <br> + List of classes to describe the beam, and its footprint in the sample plane + <li> \ref detector "Detector" <br> + List of classes to describe detectors + <ul> + <li> \ref mask "Detector masks" + </ul> </ul> <li> \ref samples "Samples" <br> List of classes to describe scattering sample @@ -38,7 +44,7 @@ Fitting routines Here is a list of additional classes from internal API. <ul> -<li> \ref simulation_internal "Simulation internals" <br> +<li> \ref simulation_internal "Simulation and instrument internals" <br> <li> \ref samples_internal "Samples internals" <br> <li> \ref materials_internal "Materials internals" <br> <li> \ref formfactors_internal "Form factors internals" <br>