diff --git a/cpp/particles/particles_system_builder.hpp b/cpp/particles/particles_system_builder.hpp
index 9cc8178e8d743e4374bbb5422c5c27761af24c89..40123abb9c695de4533931438573ddb19599054d 100644
--- a/cpp/particles/particles_system_builder.hpp
+++ b/cpp/particles/particles_system_builder.hpp
@@ -45,6 +45,13 @@
 ///
 /// Double template "for"
 ///
+/// "Template_double_for_if" is used to systematically generate specialized
+/// templates for two ranges of template parameters.
+/// For the interpolation we have `n` and `m` that designate "number of
+/// neighbours" and "smoothness of interpolant".
+/// Calling Template_double_for_if is essentially equivalent to having a couple
+/// of nested "switch" statements, but without all the repetitive code lines.
+///
 //////////////////////////////////////////////////////////////////////////////
 
 namespace Template_double_for_if{