From ce67300cd31193cb0f0231a8d09de3d309a5a8e2 Mon Sep 17 00:00:00 2001 From: Beforerr Date: Mon, 18 Nov 2024 20:24:54 -0800 Subject: [PATCH] doc: update type hiearchy --- docs/src/manual/particle-types.md | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/docs/src/manual/particle-types.md b/docs/src/manual/particle-types.md index 09da84d..80ac3fb 100644 --- a/docs/src/manual/particle-types.md +++ b/docs/src/manual/particle-types.md @@ -5,16 +5,27 @@ ChargedParticles.jl provides a flexible type system for representing various typ ## Type Hierarchy ```@raw html + +The package uses a exhaustive type hierarchy: +
 AbstractParticle
-└── Particle
+├── AbstractChargeParticle
+│   ├── Particle
+├── AbstractFermion
+│   ├── AbstractLepton
+│   │   ├── Electron
+│   │   └── Muon
+│   └── AbstractQuark
+│   └── Neutron
+│   └── ...
 └── CustomParticle
 
``` -The package uses a simple three-level type hierarchy: - `AbstractParticle`: Base abstract type for all particles -- `Particle`: Physically meaningful particle type (where symbol encodes the actual type of the particle) +- `AbstractChargeParticle`: Particles that could carry an electric charge. +- `Particle`: Physically meaningful particle type (for ions where symbol encodes the actual type of the particle) - `CustomParticle`: Custom particle type for user-defined particles (where symbol is just a label) ## Particle Properties