diff --git a/Core/Computation/ProfileHelper.h b/Core/Computation/ProfileHelper.h
index 6938805e033a4726ed93cefccb36b5942ec75936..849f02b33171104fa3d17fa6dcee7e2b8ffb94b2 100644
--- a/Core/Computation/ProfileHelper.h
+++ b/Core/Computation/ProfileHelper.h
@@ -21,6 +21,8 @@
 #include <utility>
 #include <vector>
 
+class ProcessedSample;
+
 //! Object that can generate the material profile of a sample as a function of depth.
 //!
 //! The generated profile contains the complex SLD for SLD materials and the parameters
@@ -28,8 +30,6 @@
 //!
 //! @ingroup algorithms_internal
 
-class ProcessedSample;
-
 class BA_CORE_API_ ProfileHelper
 {
 public:
diff --git a/Core/Instrument/RectangularDetector.h b/Core/Instrument/RectangularDetector.h
index 5a788e0b298e9e612b6613b1d0f15e7422c62e98..f6fb098c6fbfee1b7d51f52afeedeb97ea3addf3 100644
--- a/Core/Instrument/RectangularDetector.h
+++ b/Core/Instrument/RectangularDetector.h
@@ -18,7 +18,29 @@
 #include "IDetector2D.h"
 #include "IPixel.h"
 
-class RectangularPixel;
+//! A pixel in a RectangularDetector.
+
+class BA_CORE_API_ RectangularPixel : public IPixel
+{
+public:
+    RectangularPixel(kvector_t corner_pos, kvector_t width, kvector_t height);
+
+    RectangularPixel* clone() const override;
+    RectangularPixel* createZeroSizePixel(double x, double y) const override;
+    kvector_t getK(double x, double y, double wavelength) const override;
+    kvector_t getPosition(double x, double y) const;
+    double getIntegrationFactor(double x, double y) const override;
+    double getSolidAngle() const override;
+
+private:
+    kvector_t normalizeLength(const kvector_t direction, double length) const;
+    double calculateSolidAngle() const;
+    kvector_t m_corner_pos;
+    kvector_t m_width;
+    kvector_t m_height;
+    double m_solid_angle;
+    kvector_t m_normal;
+};
 
 //! A flat rectangular detector with axes and resolution function.
 //! @ingroup detector
@@ -108,26 +130,4 @@ private:
     kvector_t m_v_unit;
 };
 
-class BA_CORE_API_ RectangularPixel : public IPixel
-{
-public:
-    RectangularPixel(kvector_t corner_pos, kvector_t width, kvector_t height);
-
-    RectangularPixel* clone() const override;
-    RectangularPixel* createZeroSizePixel(double x, double y) const override;
-    kvector_t getK(double x, double y, double wavelength) const override;
-    kvector_t getPosition(double x, double y) const;
-    double getIntegrationFactor(double x, double y) const override;
-    double getSolidAngle() const override;
-
-private:
-    kvector_t normalizeLength(const kvector_t direction, double length) const;
-    double calculateSolidAngle() const;
-    kvector_t m_corner_pos;
-    kvector_t m_width;
-    kvector_t m_height;
-    double m_solid_angle;
-    kvector_t m_normal;
-};
-
 #endif // RECTANGULARDETECTOR_H
diff --git a/Core/Instrument/SphericalDetector.h b/Core/Instrument/SphericalDetector.h
index 60c489ea52d14ddb25d84f3df79a38204f8eee64..e999d1b720a98a6bcd8ef07b97fc6eaa61c7e265 100644
--- a/Core/Instrument/SphericalDetector.h
+++ b/Core/Instrument/SphericalDetector.h
@@ -18,8 +18,26 @@
 #include "IDetector2D.h"
 #include "IPixel.h"
 
+//! A pixel in a SphericalDetector
+
+class BA_CORE_API_ SphericalPixel : public IPixel
+{
+public:
+    SphericalPixel(const Bin1D& alpha_bin, const Bin1D& phi_bin);
+
+    SphericalPixel* clone() const override;
+    SphericalPixel* createZeroSizePixel(double x, double y) const override;
+    kvector_t getK(double x, double y, double wavelength) const override;
+    double getIntegrationFactor(double x, double y) const override;
+    double getSolidAngle() const override;
+
+private:
+    double m_alpha, m_phi;
+    double m_dalpha, m_dphi;
+    double m_solid_angle;
+};
+
 //! A spherical detector with axes and resolution function.
-//! SphericalDetector
 //! @ingroup detector
 
 class BA_CORE_API_ SphericalDetector : public IDetector2D
@@ -61,21 +79,4 @@ protected:
     size_t getIndexOfSpecular(const Beam& beam) const override;
 };
 
-class BA_CORE_API_ SphericalPixel : public IPixel
-{
-public:
-    SphericalPixel(const Bin1D& alpha_bin, const Bin1D& phi_bin);
-
-    SphericalPixel* clone() const override;
-    SphericalPixel* createZeroSizePixel(double x, double y) const override;
-    kvector_t getK(double x, double y, double wavelength) const override;
-    double getIntegrationFactor(double x, double y) const override;
-    double getSolidAngle() const override;
-
-private:
-    double m_alpha, m_phi;
-    double m_dalpha, m_dphi;
-    double m_solid_angle;
-};
-
 #endif // SPHERICALDETECTOR_H
diff --git a/Core/Scattering/Rotations.h b/Core/Scattering/Rotations.h
index 59e3cb3dc1560e10d7c392971dc096d124d66644..f0f4ae1d23df5ea5c818e915c5a4974f50c8556c 100644
--- a/Core/Scattering/Rotations.h
+++ b/Core/Scattering/Rotations.h
@@ -46,6 +46,8 @@ BA_CORE_API_ IRotation* createProduct(const IRotation& left, const IRotation& ri
 
 bool IsZRotation(const IRotation& rot);
 
+//! The identity rotation, which leaves everything in place.
+
 class BA_CORE_API_ IdentityRotation : public IRotation
 {
 public:
@@ -61,6 +63,8 @@ public:
     bool isIdentity() const { return true; }
 };
 
+//! A rotation about the x axis.
+
 class BA_CORE_API_ RotationX : public IRotation
 {
 public:
@@ -79,6 +83,8 @@ protected:
     double m_angle;
 };
 
+//! A rotation about the y axis.
+
 class BA_CORE_API_ RotationY : public IRotation
 {
 public:
@@ -97,6 +103,8 @@ protected:
     double m_angle;
 };
 
+//! A rotation about the z axis.
+
 class BA_CORE_API_ RotationZ : public IRotation
 {
 public:
@@ -115,6 +123,8 @@ protected:
     double m_angle;
 };
 
+//! A sequence of rotations about the z-x'-z'' axes.
+
 class BA_CORE_API_ RotationEuler : public IRotation
 {
 public: