From d42adfd5976dc539c63a3babf4a3369743110fc1 Mon Sep 17 00:00:00 2001
From: ralfulrich <ralf.ulrich@kit.edu>
Date: Tue, 29 Jan 2019 14:56:27 +0100
Subject: [PATCH] doxygen

---
 COAST/README.md                               |  4 ++--
 Documentation/Doxygen/Doxyfile.in             | 12 ++++++-----
 Framework/Particles/ParticleProperties.h      |  8 ++++---
 Framework/Particles/particles.dox             | 15 +++++++++++++
 Framework/StackInterface/ParticleBase.h       |  4 ++--
 Framework/StackInterface/Stack.dox            |  2 +-
 Framework/StackInterface/Stack.h              |  4 ++--
 .../StackInterface/StackIteratorInterface.h   |  4 ++--
 README.md                                     |  3 ++-
 corsika.dox                                   | 21 +++++++------------
 10 files changed, 46 insertions(+), 31 deletions(-)
 create mode 100644 Framework/Particles/particles.dox

diff --git a/COAST/README.md b/COAST/README.md
index 634854a19..96e62845b 100644
--- a/COAST/README.md
+++ b/COAST/README.md
@@ -1,4 +1,4 @@
-# COAST interface {#COASTinterface}
+# COAST interface {#COAST}
 
 With the COAST interface of CORSIKA 8 you can write a CORSIKA 8
 "process" class and link it to CORSIKA 7. This can be very powerful to
@@ -6,7 +6,7 @@ benchmark new CORSIKA 8 physics code in the context of "old" CORSIKA 7
 simulations. 
 
 This is based on corsika7/trunk/coast/CoastOptions/example with an
-additional interface to CORSIKA 8. 
+additional interface to CORSIKA 8. See code in namespace corsika::coast for all details.
 
 We provide a step-by-step example for a "COAST user library" using CORSIKA 8
 technology. It explains the steps, how to use the COAST_USER_LIB
diff --git a/Documentation/Doxygen/Doxyfile.in b/Documentation/Doxygen/Doxyfile.in
index dacef653a..0cf0cd506 100644
--- a/Documentation/Doxygen/Doxyfile.in
+++ b/Documentation/Doxygen/Doxyfile.in
@@ -1,12 +1,14 @@
-PROJECT_NAME           = CORSIKA
-PROJECT_NUMBER         = 8.0.0
+PROJECT_NAME           = CORSIKA 8
+PROJECT_NUMBER         = 0.0.0
+
+GENERATE_HTML          = YES
+GENERATE_LATEX         = YES
 
 OUTPUT_DIRECTORY       = @CMAKE_CURRENT_BINARY_DIR@/
 INPUT                  = @PROJECT_SOURCE_DIR@ @PROJECT_BINARY_DIR@/Framework
 EXCLUDE_PATTERNS       = */ThirdParty/*/*
-
-GENERATE_HTML          = YES
-GENERATE_LATEX         = YES
+FULL_PATH_NAMES        = YES
+STRIP_FROM_PATH        = @PROJECT_SOURCE_DIR@
 
 FILE_PATTERNS          = *.cc *.cpp *.cxx *.h *.dox *.inc *.md
 EXTENSION_MAPPING      = inc=C++
diff --git a/Framework/Particles/ParticleProperties.h b/Framework/Particles/ParticleProperties.h
index fa3922d55..ad1a14e62 100644
--- a/Framework/Particles/ParticleProperties.h
+++ b/Framework/Particles/ParticleProperties.h
@@ -27,7 +27,6 @@
 #include <corsika/units/PhysicalUnits.h>
 
 /**
- * @namespace particle
  *
  * The properties of all elementary particles is stored here. The data
  * is taken from the Pythia ParticleData.xml file.
@@ -36,10 +35,13 @@
 
 namespace corsika::particles {
 
+  /**
+   * @enum Code
+   * The Code enum is the actual place to define CORSIKA 8 particle codes.
+   */
   enum class Code : int16_t;
-
-  using PDGCodeType = int32_t;
   using CodeIntType = std::underlying_type<Code>::type;
+  using PDGCodeType = int32_t;
 
   // forward declarations to be used in GeneratedParticleProperties
   int16_t constexpr GetElectricChargeNumber(Code const);
diff --git a/Framework/Particles/particles.dox b/Framework/Particles/particles.dox
new file mode 100644
index 000000000..22a36c59f
--- /dev/null
+++ b/Framework/Particles/particles.dox
@@ -0,0 +1,15 @@
+/**
+@page Particles Particle properties
+
+The properties of all particles are saved in static and flat
+arrays. There is a enum corsika::particles::Code to identify each
+particles, and each individual particles has its own static class,
+which can be used to retrieve its physical properties. 
+
+
+
+See namespace corsika::particles for all classes.
+
+
+
+*/
\ No newline at end of file
diff --git a/Framework/StackInterface/ParticleBase.h b/Framework/StackInterface/ParticleBase.h
index 752164dc7..5bf2ece2b 100644
--- a/Framework/StackInterface/ParticleBase.h
+++ b/Framework/StackInterface/ParticleBase.h
@@ -67,7 +67,7 @@ namespace corsika::stack {
 
   protected:
     /** @name Access to underlying stack data
-	@{
+        @{
     */
     auto& GetStackData() { return GetIterator().GetStackData(); }
     const auto& GetStackData() const { return GetIterator().GetStackData(); }
@@ -75,7 +75,7 @@ namespace corsika::stack {
     const auto& GetStack() const { return GetIterator().GetStack(); }
     ///@}
 
-    /** 
+    /**
      * return the index number of the underlying iterator object
      */
     int GetIndex() const { return GetIterator().GetIndex(); }
diff --git a/Framework/StackInterface/Stack.dox b/Framework/StackInterface/Stack.dox
index 94aea6743..8ac29c628 100644
--- a/Framework/StackInterface/Stack.dox
+++ b/Framework/StackInterface/Stack.dox
@@ -1,5 +1,5 @@
 /**
-  @page stack Description of particle stacks
+  @page Stack Description of particle stacks
 
   In the CORSIKA 8 framework particle data is always stored in
   particle stacks. A particle is, thus, always a reference (iterator)
diff --git a/Framework/StackInterface/Stack.h b/Framework/StackInterface/Stack.h
index 91d671f5f..bc9aa2e5c 100644
--- a/Framework/StackInterface/Stack.h
+++ b/Framework/StackInterface/Stack.h
@@ -12,7 +12,7 @@
 #ifndef _include_Stack_h__
 #define _include_Stack_h__
 
-#include <corsika/stack/StackIteratorInterface.h> 
+#include <corsika/stack/StackIteratorInterface.h>
 
 #include <stdexcept>
 
@@ -29,7 +29,7 @@ namespace corsika::stack {
 
      Important: ParticleInterface must inherit from ParticleBase !
    */
-  
+
   template <typename>
   class ParticleInterface; // forward decl
 
diff --git a/Framework/StackInterface/StackIteratorInterface.h b/Framework/StackInterface/StackIteratorInterface.h
index 7ac72c34b..ad00c6c09 100644
--- a/Framework/StackInterface/StackIteratorInterface.h
+++ b/Framework/StackInterface/StackIteratorInterface.h
@@ -112,8 +112,8 @@ namespace corsika::stack {
     }
 
   public:
-    /** @name Iterator interface     
-	@{
+    /** @name Iterator interface
+        @{
     */
     StackIteratorInterface& operator++() {
       ++fIndex;
diff --git a/README.md b/README.md
index 7136e641e..67dd505f0 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# CORSIKA 8 Framework for Particle Cascades in Astroparticle Physics**
+# CORSIKA 8 Framework for Particle Cascades in Astroparticle Physics 
 
 The purpose of CORSIKA is to simulate any particle cascades in
 astroparticle physics or astrophysical context. A lot of emphasis is
@@ -104,3 +104,4 @@ browse with firefox:
 ```
 firefox ../corsika-install/share/doc/html/index.html
 ```
+
diff --git a/corsika.dox b/corsika.dox
index b84d0e9e2..bfbb74d79 100644
--- a/corsika.dox
+++ b/corsika.dox
@@ -1,9 +1,9 @@
 /**
 
-@mainpage CORSIKA 8 air shower simulations framework
+@mainpage Technical documentation of the CORSIKA 8 software framework
 
-Documentation and reference guide for the CORSIKA8 (CORSIKA version 8)
-software framework for air shower simulations. CORSIKA8 is developed
+Software documentatin and reference guide for the CORSIKA 8
+software framework for air shower simulations. CORSIKA 8 is developed
 at <a
 href="https://gitlab.ikp.kit.edu/AirShowerPhysics">https://gitlab.ikp.kit.edu</a>. If
 you got the code from somewhere else, consider to switch to the
@@ -16,17 +16,12 @@ Write to corsika-devel@lists.kit.edu, or even register yourself at
 https://www.lists.kit.edu/sympa/info/corsika-devel to get in contact
 with other developers.
 
-If you use, or want to refer to, CORSIKA8 please cite <a href="https://doi.org/10.1007/s41781-018-0013-0">"Towards a Next
-Generation of CORSIKA: A Framework for the Simulation of Particle
-Cascades in Astroparticle Physics" [Comput.Softw.Big Sci. 3 (2019)
-2]</a>. We kindly ask (and
-expect) any relevant improvement or addition to be offered or
-contributed to the main CORSIKA8 repository for the benefit of the
-whole community.
+For more information about the project, see @ref md_README. 
 
-For more information, see also the 
-<a
-href="https://gitlab.ikp.kit.edu/AirShowerPhysics/corsika/blob/master/README.md">central README.md file</a>.
+## Further details:
+ 1. @subpage Stack
+ 2. @subpage Particles
+ 3. @subpage COAST
 
 
 */
-- 
GitLab