From f0d4a273c5322c3b43b90cb6f1b50489e68eaab1 Mon Sep 17 00:00:00 2001
From: "Joachim Wuttke (o)" <j.wuttke@fz-juelich.de>
Date: Mon, 5 Oct 2020 16:14:04 +0200
Subject: [PATCH] Set tooltips for hard form factors

---
 Core/HardParticle/FormFactorAnisoPyramid.cpp     | 15 +++++----------
 Core/HardParticle/FormFactorBox.cpp              | 12 ++++--------
 Core/HardParticle/FormFactorCantellatedCube.cpp  |  9 +++------
 Core/HardParticle/FormFactorCone.cpp             | 12 ++++--------
 Core/HardParticle/FormFactorCone6.cpp            | 12 ++++--------
 Core/HardParticle/FormFactorCuboctahedron.cpp    | 16 +++++-----------
 Core/HardParticle/FormFactorCylinder.cpp         |  9 +++------
 Core/HardParticle/FormFactorDodecahedron.cpp     |  4 +---
 Core/HardParticle/FormFactorDodecahedron.h       |  2 --
 Core/HardParticle/FormFactorDot.cpp              |  5 ++---
 .../FormFactorEllipsoidalCylinder.cpp            | 12 ++++--------
 Core/HardParticle/FormFactorFullSphere.cpp       |  4 +---
 Core/HardParticle/FormFactorFullSpheroid.cpp     |  9 +++------
 Core/HardParticle/FormFactorHemiEllipsoid.cpp    | 12 ++++--------
 Core/HardParticle/FormFactorIcosahedron.cpp      |  4 +---
 Core/HardParticle/FormFactorLongBoxGauss.h       |  4 ----
 Core/HardParticle/FormFactorLongBoxLorentz.h     |  4 ----
 Core/HardParticle/FormFactorPrism3.cpp           |  9 +++------
 Core/HardParticle/FormFactorPrism6.cpp           |  9 +++------
 Core/HardParticle/FormFactorPyramid.cpp          | 12 ++++--------
 Core/HardParticle/FormFactorTetrahedron.cpp      | 12 ++++--------
 Core/HardParticle/FormFactorTruncatedCube.cpp    |  7 ++-----
 Core/HardParticle/FormFactorTruncatedSphere.cpp  | 10 +++-------
 .../HardParticle/FormFactorTruncatedSpheroid.cpp | 13 ++++---------
 Core/Scattering/Rotations.cpp                    |  3 ---
 Core/Simulation/Simulation.cpp                   |  3 ---
 26 files changed, 67 insertions(+), 156 deletions(-)

diff --git a/Core/HardParticle/FormFactorAnisoPyramid.cpp b/Core/HardParticle/FormFactorAnisoPyramid.cpp
index cd84facee94..d58def351b6 100644
--- a/Core/HardParticle/FormFactorAnisoPyramid.cpp
+++ b/Core/HardParticle/FormFactorAnisoPyramid.cpp
@@ -25,18 +25,13 @@ const PolyhedralTopology FormFactorAnisoPyramid::topology = {{{{3, 2, 1, 0}, tru
                                                               {{4, 5, 6, 7}, true}},
                                                              false};
 
-//! Constructor of a truncated pyramid with a rectangular base.
-//! @param length: length of the rectangular base in nm
-//! @param width: width of the rectangular base in nm
-//! @param height: height of pyramid in nm
-//! @param alpha: dihedral angle in radians between base and facet
 FormFactorAnisoPyramid::FormFactorAnisoPyramid(const std::vector<double> P)
     : IFormFactorPolyhedron({"AnisoPyramid",
-                             "class_tooltip",
-                             {{"Length", "nm", "para_tooltip", 0, +INF, 0},
-                              {"Width", "nm", "para_tooltip", 0, +INF, 0},
-                              {"Height", "nm", "para_tooltip", 0, +INF, 0},
-                              {"Alpha", "rad", "para_tooltip", 0., M_PI_2, 0}}},
+                             "frsutum with rectangular base",
+                             {{"Length", "nm", "side length of base in x direction", 0, +INF, 0},
+                              {"Width", "nm", "side length of base in y direction", 0, +INF, 0},
+                              {"Height", "nm", "height", 0, +INF, 0},
+                              {"Alpha", "rad", "angle between base and any side face", 0., M_PI_2, 0}}},
                             P),
       m_length(m_P[0]), m_width(m_P[1]), m_height(m_P[2]), m_alpha(m_P[3])
 {
diff --git a/Core/HardParticle/FormFactorBox.cpp b/Core/HardParticle/FormFactorBox.cpp
index 53256e6b4a2..0c49deb39bc 100644
--- a/Core/HardParticle/FormFactorBox.cpp
+++ b/Core/HardParticle/FormFactorBox.cpp
@@ -15,16 +15,12 @@
 #include "Core/HardParticle/FormFactorBox.h"
 #include "Core/Tools/MathFunctions.h"
 
-//! Constructor of a rectangular cuboid.
-//! @param length: length of the base in nanometers
-//! @param width: width of the base in nanometers
-//! @param height: height of the box in nanometers
 FormFactorBox::FormFactorBox(const std::vector<double> P)
     : IFormFactorPrism({"Box",
-                        "class_tooltip",
-                        {{"Length", "nm", "para_tooltip", 0, +INF, 0},
-                         {"Width", "nm", "para_tooltip", 0, +INF, 0},
-                         {"Height", "nm", "para_tooltip", 0, +INF, 0}}},
+                        "rectangular cuboid",
+                        {{"Length", "nm", "side length in x direction", 0, +INF, 0},
+                         {"Width", "nm", "side length in y direction", 0, +INF, 0},
+                         {"Height", "nm", "side length in z direction", 0, +INF, 0}}},
                        P),
       m_length(m_P[0]), m_width(m_P[1]), m_height(m_P[2])
 {
diff --git a/Core/HardParticle/FormFactorCantellatedCube.cpp b/Core/HardParticle/FormFactorCantellatedCube.cpp
index 6d6e8fcce71..0fc790209db 100644
--- a/Core/HardParticle/FormFactorCantellatedCube.cpp
+++ b/Core/HardParticle/FormFactorCantellatedCube.cpp
@@ -46,14 +46,11 @@ const PolyhedralTopology FormFactorCantellatedCube::topology = {
     },
     true};
 
-//! Constructor of a truncated cube.
-//! @param length: length of the full cube's edge in nanometers
-//! @param removed_length: removed length from each edge of the cube in nanometers
 FormFactorCantellatedCube::FormFactorCantellatedCube(const std::vector<double> P)
     : IFormFactorPolyhedron({"CantellatedCube",
-                             "class_tooltip",
-                             {{"Length", "nm", "para_tooltip", 0, +INF, 0},
-                              {"RemovedLength", "nm", "para_tooltip", 0, +INF, 0}}},
+                             "a cube with truncated edges and vertices,
+                             {{"Length", "nm", "length of untruncated edge", 0, +INF, 0},
+                              {"RemovedLength", "nm", "side length of the trirectangular tetrahedron removed one corner", 0, +INF, 0}}},
                             P),
       m_length(m_P[0]), m_removed_length(m_P[1])
 {
diff --git a/Core/HardParticle/FormFactorCone.cpp b/Core/HardParticle/FormFactorCone.cpp
index 0c03df1fa4f..7d60ec6e7f1 100644
--- a/Core/HardParticle/FormFactorCone.cpp
+++ b/Core/HardParticle/FormFactorCone.cpp
@@ -20,16 +20,12 @@
 #include "Core/Tools/MathFunctions.h"
 #include <limits>
 
-//! Constructor of a truncated cone with circular base.
-//! @param radius: radius of the base in nanometers
-//! @param height: height of the cone in nanometers
-//! @param alpha: angle between the base and the side surface in radians
 FormFactorCone::FormFactorCone(const std::vector<double> P)
     : IFormFactorBorn({"Cone",
-                       "class_tooltip",
-                       {{"Radius", "nm", "para_tooltip", 0, +INF, 0},
-                        {"Height", "nm", "para_tooltip", 0, +INF, 0},
-                        {"Alpha", "rad", "para_tooltip", 0., M_PI_2, 0}}},
+                       "frustum with circular base",
+                       {{"Radius", "nm", "radius of base", 0, +INF, 0},
+                        {"Height", "nm", "height", 0, +INF, 0},
+                        {"Alpha", "rad", "angle between base and side", 0., M_PI_2, 0}}},
                       P),
       m_radius(m_P[0]), m_height(m_P[1]), m_alpha(m_P[2])
 {
diff --git a/Core/HardParticle/FormFactorCone6.cpp b/Core/HardParticle/FormFactorCone6.cpp
index 00fe80883cf..32c61dad0ea 100644
--- a/Core/HardParticle/FormFactorCone6.cpp
+++ b/Core/HardParticle/FormFactorCone6.cpp
@@ -27,16 +27,12 @@ const PolyhedralTopology FormFactorCone6::topology = {{{{5, 4, 3, 2, 1, 0}, true
                                                        {{6, 7, 8, 9, 10, 11}, true}},
                                                       false};
 
-//! Constructor of a truncated pyramid, based on a regular hexagon
-//! @param base_edge: Edge of the regular hexagonal base in nanometers
-//! @param height: height of a truncated pyramid in nanometers
-//! @param alpha: dihedral angle in radians between base and facet
 FormFactorCone6::FormFactorCone6(const std::vector<double> P)
     : IFormFactorPolyhedron({"Cone6",
-                             "class_tooltip",
-                             {{"BaseEdge", "nm", "para_tooltip", 0, +INF, 0},
-                              {"Height", "nm", "para_tooltip", 0, +INF, 0},
-                              {"Alpha", "rad", "para_tooltip", 0., M_PI_2, 0}}},
+                             "frustum with regular hexagonal base",
+                             {{"BaseEdge", "nm", "base edge length", 0, +INF, 0},
+                              {"Height", "nm", "height", 0, +INF, 0},
+                              {"Alpha", "rad", "angle between base and a side face", 0., M_PI_2, 0}}},
                             P),
       m_base_edge(m_P[0]), m_height(m_P[1]), m_alpha(m_P[2])
 {
diff --git a/Core/HardParticle/FormFactorCuboctahedron.cpp b/Core/HardParticle/FormFactorCuboctahedron.cpp
index f45ba0ee9f4..f6310f934dd 100644
--- a/Core/HardParticle/FormFactorCuboctahedron.cpp
+++ b/Core/HardParticle/FormFactorCuboctahedron.cpp
@@ -30,19 +30,13 @@ const PolyhedralTopology FormFactorCuboctahedron::topology = {{{{3, 2, 1, 0}, tr
                                                                {{8, 9, 10, 11}, true}},
                                                               false};
 
-//! Constructor of cuboctahedron (compound of two truncated pyramids with a common square base
-//! and opposite orientations).
-//! @param length: side length of the common square base in nanometers
-//! @param height: height of the lower pyramid in nanometers
-//! @param height_ratio: ratio of heights of top to bottom pyramids
-//! @param alpha: dihedral angle in radians between base and facet
 FormFactorCuboctahedron::FormFactorCuboctahedron(const std::vector<double> P)
     : IFormFactorPolyhedron({"Cuboctahedron",
-                             "class_tooltip",
-                             {{"Length", "nm", "para_tooltip", 0, +INF, 0},
-                              {"Height", "nm", "para_tooltip", 0, +INF, 0},
-                              {"HeightRatio", "nm", "para_tooltip", 0, +INF, 0},
-                              {"Alpha", "rad", "para_tooltip", 0., M_PI_2, 0}}},
+                             "truncated quadratic bipyramid",
+                             {{"Length", "nm", "edge length of base square (common face of both pyramids)", 0, +INF, 0},
+                              {"Height", "nm", "height of the lower pyramid", 0, +INF, 0},
+                              {"HeightRatio", "nm", "height ratio of upper to lower pyramid", 0, +INF, 0},
+                              {"Alpha", "rad", "angle between the base and a side face", 0., M_PI_2, 0}}},
                             P),
       m_length(m_P[0]), m_height(m_P[1]), m_height_ratio(m_P[2]), m_alpha(m_P[3])
 {
diff --git a/Core/HardParticle/FormFactorCylinder.cpp b/Core/HardParticle/FormFactorCylinder.cpp
index 9ceead80f11..e1040e35bce 100644
--- a/Core/HardParticle/FormFactorCylinder.cpp
+++ b/Core/HardParticle/FormFactorCylinder.cpp
@@ -17,14 +17,11 @@
 #include "Core/Shapes/DoubleEllipse.h"
 #include "Core/Tools/MathFunctions.h"
 
-//! Constructor of a cylinder with a circular base.
-//! @param radius: radius of the circular base in nanometers
-//! @param height: height of the cylinder in nanometers
 FormFactorCylinder::FormFactorCylinder(const std::vector<double> P)
     : IFormFactorBorn({"Cylinder",
-                       "class_tooltip",
-                       {{"Radius", "nm", "para_tooltip", 0, +INF, 0},
-                        {"Height", "nm", "para_tooltip", 0, +INF, 0}}},
+                       "circular cylinder",
+                       {{"Radius", "nm", "radius of base", 0, +INF, 0},
+                        {"Height", "nm", "height", 0, +INF, 0}}},
                       P),
       m_radius(m_P[0]), m_height(m_P[1])
 {
diff --git a/Core/HardParticle/FormFactorDodecahedron.cpp b/Core/HardParticle/FormFactorDodecahedron.cpp
index df8a2311506..b250d1e0084 100644
--- a/Core/HardParticle/FormFactorDodecahedron.cpp
+++ b/Core/HardParticle/FormFactorDodecahedron.cpp
@@ -32,11 +32,9 @@ const PolyhedralTopology FormFactorDodecahedron::topology = {{// bottom:
                                                               {{15, 16, 17, 18, 19}, false}},
                                                              true};
 
-//! Constructor of a dodecahedron.
-//! @param edge: length of the edge in nanometers
 FormFactorDodecahedron::FormFactorDodecahedron(const std::vector<double> P)
     : IFormFactorPolyhedron(
-        {"Dodecahedron", "class_tooltip", {{"Edge", "nm", "para_tooltip", 0, +INF, 0}}}, P),
+        {"Dodecahedron", "regular dodecahedron", {{"Edge", "nm", "edge length", 0, +INF, 0}}}, P),
       m_edge(m_P[0])
 {
     onChange();
diff --git a/Core/HardParticle/FormFactorDodecahedron.h b/Core/HardParticle/FormFactorDodecahedron.h
index 040aa8e98cc..c48c028b0d3 100644
--- a/Core/HardParticle/FormFactorDodecahedron.h
+++ b/Core/HardParticle/FormFactorDodecahedron.h
@@ -23,8 +23,6 @@
 class FormFactorDodecahedron : public IFormFactorPolyhedron
 {
 public:
-    //! @brief Constructs a regular dodecahedron
-    //! @param edge length
     FormFactorDodecahedron(const std::vector<double> P);
     FormFactorDodecahedron(double edge);
 
diff --git a/Core/HardParticle/FormFactorDot.cpp b/Core/HardParticle/FormFactorDot.cpp
index eeb1a40a34b..b6933df904b 100644
--- a/Core/HardParticle/FormFactorDot.cpp
+++ b/Core/HardParticle/FormFactorDot.cpp
@@ -14,10 +14,9 @@
 
 #include "Core/HardParticle/FormFactorDot.h"
 
-//! Constructor.
-//! @param rscat: radius of a sphere with same forward scattering power, in nanometers
 FormFactorDot::FormFactorDot(const std::vector<double> P)
-    : IFormFactorBorn({"Dot", "class_tooltip", {{"Radius", "nm", "para_tooltip", 0, +INF, 0}}}, P),
+    : IFormFactorBorn({"Dot", "dot, with scattering power of a sphere of given radius",
+                       {{"Radius", "nm", "radius of sphere that defines scattering power", 0, +INF, 0}}}, P),
       m_radius(m_P[0])
 {
     onChange();
diff --git a/Core/HardParticle/FormFactorEllipsoidalCylinder.cpp b/Core/HardParticle/FormFactorEllipsoidalCylinder.cpp
index cded89c4ee5..fb9a3765618 100644
--- a/Core/HardParticle/FormFactorEllipsoidalCylinder.cpp
+++ b/Core/HardParticle/FormFactorEllipsoidalCylinder.cpp
@@ -17,16 +17,12 @@
 #include "Core/Shapes/DoubleEllipse.h"
 #include "Core/Tools/MathFunctions.h"
 
-//! Constructor of a cylinder with an ellipse cross section.
-//! @param radius_x: radius of the ellipse base in the x-direction, in nanometers
-//! @param radius_y: radius of the ellipse base in the y-direction, in nanometers
-//! @param height: height of the ellipsoidal cylinder in nanometers
 FormFactorEllipsoidalCylinder::FormFactorEllipsoidalCylinder(const std::vector<double> P)
     : IFormFactorBorn({"EllipsoidalCylinder",
-                       "class_tooltip",
-                       {{"RadiusX", "nm", "para_tooltip", 0, +INF, 0},
-                        {"RadiusY", "nm", "para_tooltip", 0, +INF, 0},
-                        {"Height", "nm", "para_tooltip", 0, +INF, 0}}},
+                       "elliptical cylinder",
+                       {{"RadiusX", "nm", "radius in x direction", 0, +INF, 0},
+                        {"RadiusY", "nm", "radius in y direction", 0, +INF, 0},
+                        {"Height", "nm", "height", 0, +INF, 0}}},
                       P),
       m_radius_x(m_P[0]), m_radius_y(m_P[1]), m_height(m_P[2])
 {
diff --git a/Core/HardParticle/FormFactorFullSphere.cpp b/Core/HardParticle/FormFactorFullSphere.cpp
index 789d758d22c..4c941726dd6 100644
--- a/Core/HardParticle/FormFactorFullSphere.cpp
+++ b/Core/HardParticle/FormFactorFullSphere.cpp
@@ -19,11 +19,9 @@
 #include "Core/Scattering/Rotations.h"
 #include "Core/Vector/SomeFormFactors.h"
 
-//! Constructor of a full sphere.
-//! @param radius: radius of the sphere in nanometers
 FormFactorFullSphere::FormFactorFullSphere(const std::vector<double> P, bool position_at_center)
     : IFormFactorBorn(
-        {"FullSphere", "class_tooltip", {{"Radius", "nm", "para_tooltip", 0, +INF, 0}}}, P),
+        {"FullSphere", "sphere", {{"Radius", "nm", "radius", 0, +INF, 0}}}, P),
       m_radius(m_P[0]), m_position_at_center(position_at_center)
 {
     onChange();
diff --git a/Core/HardParticle/FormFactorFullSpheroid.cpp b/Core/HardParticle/FormFactorFullSpheroid.cpp
index e6dc0f48adc..6bcb7e5a66a 100644
--- a/Core/HardParticle/FormFactorFullSpheroid.cpp
+++ b/Core/HardParticle/FormFactorFullSpheroid.cpp
@@ -19,14 +19,11 @@
 #include "Core/Tools/MathFunctions.h"
 #include <limits>
 
-//! Constructor of full spheroid.
-//! @param radius: radius of the circular cross section in nanometers
-//! @param height: height of the full spheroid in nanometers
 FormFactorFullSpheroid::FormFactorFullSpheroid(const std::vector<double> P)
     : IFormFactorBorn({"FullSpheroid",
-                       "class_tooltip",
-                       {{"Radius", "nm", "para_tooltip", 0, +INF, 0},
-                        {"Height", "nm", "para_tooltip", 0, +INF, 0}}},
+                       "ellipsoid of revolution",
+                       {{"Radius", "nm", "revolution radius", 0, +INF, 0},
+                        {"Height", "nm", "height = twice the radius in non-revolution direction", 0, +INF, 0}}},
                       P),
       m_radius(m_P[0]), m_height(m_P[1])
 {
diff --git a/Core/HardParticle/FormFactorHemiEllipsoid.cpp b/Core/HardParticle/FormFactorHemiEllipsoid.cpp
index 1cac04558eb..35f9c1abc3a 100644
--- a/Core/HardParticle/FormFactorHemiEllipsoid.cpp
+++ b/Core/HardParticle/FormFactorHemiEllipsoid.cpp
@@ -19,16 +19,12 @@
 #include "Core/Tools/MathFunctions.h"
 #include <limits>
 
-//! Constructor of horizontally oriented ellipsoid, truncated at the central plane.
-//! @param radius_x: radius of the ellipse base in the x-direction, in nanometers
-//! @param radius_y: radius of the ellipse base in the y-direction, in nanometers
-//! @param height: height of the hemi ellipsoid in nanometers
 FormFactorHemiEllipsoid::FormFactorHemiEllipsoid(const std::vector<double> P)
     : IFormFactorBorn({"HemiEllipsoid",
-                       "class_tooltip",
-                       {{"RadiusX", "nm", "para_tooltip", 0, +INF, 0},
-                        {"RadiusY", "nm", "para_tooltip", 0, +INF, 0},
-                        {"Height", "nm", "para_tooltip", 0, +INF, 0}}},
+                       "actually a spheroid, truncated at central xy plane",
+                       {{"RadiusX", "nm", "radius in x direction", 0, +INF, 0},
+                        {"RadiusY", "nm", "radius in y direction", 0, +INF, 0},
+                        {"Height", "nm", "height = radius in z direction", 0, +INF, 0}}},
                       P),
       m_radius_x(m_P[0]), m_radius_y(m_P[1]), m_height(m_P[2])
 {
diff --git a/Core/HardParticle/FormFactorIcosahedron.cpp b/Core/HardParticle/FormFactorIcosahedron.cpp
index cc7df3aad81..bc0975a9265 100644
--- a/Core/HardParticle/FormFactorIcosahedron.cpp
+++ b/Core/HardParticle/FormFactorIcosahedron.cpp
@@ -42,11 +42,9 @@ const PolyhedralTopology FormFactorIcosahedron::topology = {{// bottom:
                                                              {{9, 11, 10}, false}},
                                                             true};
 
-//! Constructor of a icosahedron.
-//! @param edge: length of the edge in nanometers
 FormFactorIcosahedron::FormFactorIcosahedron(const std::vector<double> P)
     : IFormFactorPolyhedron(
-        {"Icosahedron", "class_tooltip", {{"Edge", "nm", "para_tooltip", 0, +INF, 0}}}, P),
+        {"Icosahedron", "regular icosahedron", {{"Edge", "nm", "edge length", 0, +INF, 0}}}, P),
       m_edge(m_P[0])
 {
     onChange();
diff --git a/Core/HardParticle/FormFactorLongBoxGauss.h b/Core/HardParticle/FormFactorLongBoxGauss.h
index 1a3a5162348..5767f562495 100644
--- a/Core/HardParticle/FormFactorLongBoxGauss.h
+++ b/Core/HardParticle/FormFactorLongBoxGauss.h
@@ -23,10 +23,6 @@
 class FormFactorLongBoxGauss : public IFormFactorBorn
 {
 public:
-    //! @brief Box constructor
-    //! @param length of Box's base
-    //! @param width of Box's base
-    //! @param height of Box
     FormFactorLongBoxGauss(const std::vector<double> P);
     FormFactorLongBoxGauss(double length, double width, double height);
 
diff --git a/Core/HardParticle/FormFactorLongBoxLorentz.h b/Core/HardParticle/FormFactorLongBoxLorentz.h
index 90eb44699cb..ba352def93e 100644
--- a/Core/HardParticle/FormFactorLongBoxLorentz.h
+++ b/Core/HardParticle/FormFactorLongBoxLorentz.h
@@ -23,10 +23,6 @@
 class FormFactorLongBoxLorentz : public IFormFactorBorn
 {
 public:
-    //! @brief Box constructor
-    //! @param length of Box's base
-    //! @param width of Box's base
-    //! @param height of Box
     FormFactorLongBoxLorentz(const std::vector<double> P);
     FormFactorLongBoxLorentz(double length, double width, double height);
 
diff --git a/Core/HardParticle/FormFactorPrism3.cpp b/Core/HardParticle/FormFactorPrism3.cpp
index 13c2aec0ecc..64ef456eb2f 100644
--- a/Core/HardParticle/FormFactorPrism3.cpp
+++ b/Core/HardParticle/FormFactorPrism3.cpp
@@ -15,14 +15,11 @@
 #include "Core/HardParticle/FormFactorPrism3.h"
 #include <iostream>
 
-//! Constructor of a prism with an equilaterial triangle base.
-//! @param base_edge: length of the base edge in nanometers
-//! @param height: height in nanometers
 FormFactorPrism3::FormFactorPrism3(const std::vector<double> P)
     : IFormFactorPrism({"Prism3",
-                        "class_tooltip",
-                        {{"BaseEdge", "nm", "para_tooltip", 0, +INF, 0},
-                         {"Height", "nm", "para_tooltip", 0, +INF, 0}}},
+                        "prism with regular trigonal base",
+                        {{"BaseEdge", "nm", "edge length of trigonal base", 0, +INF, 0},
+                         {"Height", "nm", "height", 0, +INF, 0}}},
                        P),
       m_base_edge(m_P[0]), m_height(m_P[1])
 {
diff --git a/Core/HardParticle/FormFactorPrism6.cpp b/Core/HardParticle/FormFactorPrism6.cpp
index eb5625dfd1c..6c2919d28e6 100644
--- a/Core/HardParticle/FormFactorPrism6.cpp
+++ b/Core/HardParticle/FormFactorPrism6.cpp
@@ -14,14 +14,11 @@
 
 #include "Core/HardParticle/FormFactorPrism6.h"
 
-//! Constructor of a prism with a regular hexagonal base.
-//! @param base_edge: length of the hexagonal base in nanometers
-//! @param height: height in nanometers
 FormFactorPrism6::FormFactorPrism6(const std::vector<double> P)
     : IFormFactorPrism({"Prism6",
-                        "class_tooltip",
-                        {{"BaseEdge", "nm", "para_tooltip", 0, +INF, 0},
-                         {"Height", "nm", "para_tooltip", 0, +INF, 0}}},
+                        "prism with regular hexagonal base",
+                        {{"BaseEdge", "nm", "edge length of hexagonal base", 0, +INF, 0},
+                         {"Height", "nm", "height", 0, +INF, 0}}},
                        P),
       m_base_edge(m_P[0]), m_height(m_P[1])
 {
diff --git a/Core/HardParticle/FormFactorPyramid.cpp b/Core/HardParticle/FormFactorPyramid.cpp
index 5c3f107a2e1..77770048588 100644
--- a/Core/HardParticle/FormFactorPyramid.cpp
+++ b/Core/HardParticle/FormFactorPyramid.cpp
@@ -27,16 +27,12 @@ const PolyhedralTopology FormFactorPyramid::topology = {{
                                                         },
                                                         false};
 
-//! Constructor of a truncated pyramid with a square base
-//! @param base_edge: length of the square base in nanometers
-//! @param height: height of the pyramid in nanometers
-//! @param alpha: dihedral angle between the base and a side face in radians
 FormFactorPyramid::FormFactorPyramid(const std::vector<double> P)
     : IFormFactorPolyhedron({"Pyramid",
-                             "class_tooltip",
-                             {{"BaseEdge", "nm", "para_tooltip", 0, +INF, 0},
-                              {"Height", "nm", "para_tooltip", 0, +INF, 0},
-                              {"Alpha", "rad", "para_tooltip", 0., M_PI, 0}}},
+                             "frustum with quadratic base",
+                             {{"BaseEdge", "nm", "base edge length", 0, +INF, 0},
+                              {"Height", "nm", "height", 0, +INF, 0},
+                              {"Alpha", "rad", "angle between base and a side face", 0., M_PI, 0}}},
                             P),
       m_base_edge(m_P[0]), m_height(m_P[1]), m_alpha(m_P[2])
 {
diff --git a/Core/HardParticle/FormFactorTetrahedron.cpp b/Core/HardParticle/FormFactorTetrahedron.cpp
index 86573f2e6ea..fdc66907574 100644
--- a/Core/HardParticle/FormFactorTetrahedron.cpp
+++ b/Core/HardParticle/FormFactorTetrahedron.cpp
@@ -24,16 +24,12 @@ const PolyhedralTopology FormFactorTetrahedron::topology = {{{{2, 1, 0}, false},
                                                              {{3, 4, 5}, false}},
                                                             false};
 
-//! Constructor of a truncated tethrahedron.
-//! @param base_edge: length of one edge of the equilateral triangular base in nanometers
-//! @param height: height of the tetrahedron in nanometers
-//! @param alpha: dihedral angle in radians between base and facet
 FormFactorTetrahedron::FormFactorTetrahedron(const std::vector<double> P)
     : IFormFactorPolyhedron({"Tetrahedron",
-                             "class_tooltip",
-                             {{"BaseEdge", "nm", "para_tooltip", 0, +INF, 0},
-                              {"Height", "nm", "para_tooltip", 0, +INF, 0},
-                              {"Alpha", "rad", "para_tooltip", 0., M_PI_2, 0}}},
+                             "actually, not a tetrahedron, but a trigonal frustum",
+                             {{"BaseEdge", "nm", "edge of base triangle", 0, +INF, 0},
+                              {"Height", "nm", "height of frustum", 0, +INF, 0},
+                              {"Alpha", "rad", "angle between base and a side face", 0., M_PI_2, 0}}},
                             P),
       m_base_edge(m_P[0]), m_height(m_P[1]), m_alpha(m_P[2])
 {
diff --git a/Core/HardParticle/FormFactorTruncatedCube.cpp b/Core/HardParticle/FormFactorTruncatedCube.cpp
index 1888018c631..63f954cec90 100644
--- a/Core/HardParticle/FormFactorTruncatedCube.cpp
+++ b/Core/HardParticle/FormFactorTruncatedCube.cpp
@@ -32,14 +32,11 @@ const PolyhedralTopology FormFactorTruncatedCube::topology = {
      {{12, 15, 16, 22, 21, 18, 19, 13}, true}},
     true};
 
-//! Constructor of a truncated cube.
-//! @param length: length of the full cube's edge in nanometers
-//! @param removed_length: removed length from each edge of the cube in nanometers
 FormFactorTruncatedCube::FormFactorTruncatedCube(const std::vector<double> P)
     : IFormFactorPolyhedron({"TruncatedCube",
                              "class_tooltip",
-                             {{"Length", "nm", "para_tooltip", 0, +INF, 0},
-                              {"RemovedLength", "nm", "para_tooltip", 0, +INF, 0}}},
+                             {{"Length", "nm", "untruncated edge length", 0, +INF, 0},
+                              {"RemovedLength", "nm", "edge length removed from one corner", 0, +INF, 0}}},
                             P),
       m_length(m_P[0]), m_removed_length(m_P[1])
 {
diff --git a/Core/HardParticle/FormFactorTruncatedSphere.cpp b/Core/HardParticle/FormFactorTruncatedSphere.cpp
index 4f3f8312c42..7543f72c8d3 100644
--- a/Core/HardParticle/FormFactorTruncatedSphere.cpp
+++ b/Core/HardParticle/FormFactorTruncatedSphere.cpp
@@ -21,16 +21,12 @@
 #include "Fit/Tools/RealLimits.h"
 #include <limits>
 
-//! Constructor of a spherical dome.
-//! @param radius: radius of the truncated sphere in nanometers
-//! @param height: height of the truncated sphere in nanometers
-//! @param dh: length of cup truncated from the top
 FormFactorTruncatedSphere::FormFactorTruncatedSphere(const std::vector<double> P)
     : IFormFactorBorn({"TruncatedSphere",
                        "class_tooltip",
-                       {{"Radius", "nm", "para_tooltip", 0, +INF, 0},
-                        {"Height", "nm", "para_tooltip", 0, +INF, 0},
-                        {"DeltaHeight", "nm", "para_tooltip", 0, +INF, 0}}},
+                       {{"Radius", "nm", "radius", 0, +INF, 0},
+                        {"Height", "nm", "height before removal of cap", 0, +INF, 0},
+                        {"DeltaHeight", "nm", "height of removed cap", 0, +INF, 0}}},
                       P),
       m_radius(m_P[0]), m_height(m_P[1]), m_dh(m_P[2])
 {
diff --git a/Core/HardParticle/FormFactorTruncatedSpheroid.cpp b/Core/HardParticle/FormFactorTruncatedSpheroid.cpp
index dcaaabfdb59..f6c4f547dd0 100644
--- a/Core/HardParticle/FormFactorTruncatedSpheroid.cpp
+++ b/Core/HardParticle/FormFactorTruncatedSpheroid.cpp
@@ -20,18 +20,13 @@
 #include "Core/Tools/MathFunctions.h"
 #include <limits>
 
-//! Constructor of a spheroidal dome.
-//! @param radius: radius of the truncated spheroid in nanometers
-//! @param height: height of the truncated spheroid in nanometers
-//! @param height_flattening: ratio of the height of the corresponding full spheroid to its diameter
-//! @param dh: length of cup truncated from the top
 FormFactorTruncatedSpheroid::FormFactorTruncatedSpheroid(const std::vector<double> P)
     : IFormFactorBorn({"TruncatedSpheroid",
                        "class_tooltip",
-                       {{"Radius", "nm", "para_tooltip", 0, +INF, 0},
-                        {"Height", "nm", "para_tooltip", 0, +INF, 0},
-                        {"HeightFlattening", "", "para_tooltip", 0, +INF, 0},
-                        {"DeltaHeight", "nm", "para_tooltip", 0, +INF, 0}}},
+                       {{"Radius", "nm", "horizontal radius", 0, +INF, 0},
+                        {"Height", "nm", "height before removal of cap", 0, +INF, 0},
+                        {"HeightFlattening", "", "ratio of vertical to horizontal radius", 0, +INF, 0},
+                        {"DeltaHeight", "nm", "height of removed cap", 0, +INF, 0}}},
                       P),
       m_radius(m_P[0]), m_height(m_P[1]), m_height_flattening(m_P[2]), m_dh(m_P[3])
 {
diff --git a/Core/Scattering/Rotations.cpp b/Core/Scattering/Rotations.cpp
index fb499db3e0c..e9a0a5db57f 100644
--- a/Core/Scattering/Rotations.cpp
+++ b/Core/Scattering/Rotations.cpp
@@ -99,7 +99,6 @@ Transform3D IdentityRotation::getTransform3D() const
 // ************************************************************************** //
 
 //! Constructor of rotation around x-axis
-//! @param angle: rotation angle around x-axis in radians
 RotationX::RotationX(const std::vector<double> P)
     : IRotation(
         {"XRotation", "class_tooltip", {{"Angle", "rad", "Angle around x axis", -INF, +INF, 0}}},
@@ -120,7 +119,6 @@ Transform3D RotationX::getTransform3D() const
 // ************************************************************************** //
 
 //! Constructor of rotation around y-axis
-//! @param angle: rotation angle around y-axis in radians
 RotationY::RotationY(const std::vector<double> P)
     : IRotation(
         {"YRotation", "class_tooltip", {{"Angle", "rad", "Angle around y axis", -INF, +INF, 0}}},
@@ -143,7 +141,6 @@ Transform3D RotationY::getTransform3D() const
 // --- RotationZ --------------------------------------------------------------
 
 //! Constructor of rotation around z-axis
-//! @param angle: rotation angle around z-axis in radians
 RotationZ::RotationZ(const std::vector<double> P)
     : IRotation(
         {"ZRotation", "class_tooltip", {{"Angle", "rad", "Angle around z axis", -INF, +INF, 0}}},
diff --git a/Core/Simulation/Simulation.cpp b/Core/Simulation/Simulation.cpp
index c8c3360ed7d..1e7dcbe5305 100644
--- a/Core/Simulation/Simulation.cpp
+++ b/Core/Simulation/Simulation.cpp
@@ -301,9 +301,6 @@ void Simulation::runSingleSimulation(size_t batch_start, size_t batch_size, doub
 //! Convert user data to SimulationResult object for later drawing in various axes units.
 //! User data will be cropped to the ROI defined in the simulation, amplitudes in areas
 //! corresponding to the masked areas of the detector will be set to zero.
-//! @param simulation: Simulation object with possible ROI and masks defined.
-//! @param data: User data with amplitudes with the shape of data matching the detector.
-//! @return SimulationResult object.
 
 SimulationResult Simulation::convertData(const OutputData<double>& data,
                                          bool put_masked_areas_to_zero)
-- 
GitLab