From 82e40cd53fc8e746bf5cb485455ba34598b39027 Mon Sep 17 00:00:00 2001 From: Christopher Dilks Date: Fri, 17 Nov 2023 18:17:11 -0500 Subject: [PATCH] doc: design diagram --- doc/design.md | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 doc/design.md diff --git a/doc/design.md b/doc/design.md new file mode 100644 index 00000000..fd40299e --- /dev/null +++ b/doc/design.md @@ -0,0 +1,57 @@ +# Design + +## Class Diagram + +### Legend + +```mermaid +flowchart TB + classDef cls fill:88ff88,color:black + + subgraph Inheritance + b[Base Class]:::cls + d[Derived Class]:::cls + end + d --|> b + + subgraph Ownership + c[Class]:::cls + o[Object owned by Class]:::cls + end + c --> o +``` + +### Iguana Design + +```mermaid +flowchart TB + classDef cls fill:88ff88,color:black + classDef algo fill:ff8888,color:black + + subgraph iguana + Iguana:::cls + end + + subgraph services + Algorithm:::cls + AlgorithmConfig:::cls + Logger:::cls + end + + subgraph algorithms + FiducialCuts:::algo + FiducialCutsConfig:::algo + MomentumCorrection:::algo + MomentumCorrectionConfig:::algo + end + + Iguana --> Logger + Iguana --> Algorithm + Algorithm --> Logger + Algorithm --> AlgorithmConfig + + FiducialCuts --|> Algorithm + FiducialCutsConfig --|> AlgorithmConfig + MomentumCorrection --|> Algorithm + MomentumCorrectionConfig --|> AlgorithmConfig +```