|
Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
|
This page maps common contributions to the relevant source areas and validation steps. Read Architecture and data flow first; new functionality should enter through the backend rather than being implemented independently in a frontend.
Relevant areas:
BusinessLogic/domain: decay and observable implementations;BusinessLogic/adapters: the public ObservableInterface;Common;A contribution should include unit tests for the numerical implementation and an integration test through the public observable interface. If a published reference changes, update the reproducibility suite only after reviewing the numerical difference.
Relevant areas:
PhysicalModel/domain: coefficient definitions and group containers;Document the supported perturbative order and the matching/running scales. Never silently advertise a higher order than the implemented backend provides.
Add the typed block definition and default data, then update:
Use HyperisoMaster::pre_init_add_block for user-defined runtime blocks that do not belong in the distributed default database.
Statistical changes normally affect:
Statistic/domain for likelihood, covariance and fit logic;Statistic/adapters for the public API;StatisticConfig;Keep common options in StatisticConfig and expert controls in AdvancedStatisticConfig. Validate fit-parameter and nuisance behavior before calling the minimizer.
For every public C++ configuration field or enum:
Build installed examples as well; they detect missing public headers, symbols and transitive link dependencies that an in-tree test can hide.
Update this Doxygen guide in the same pull request as public behavior. Public classes should have a concise @brief, parameter and return documentation, failure behavior and a minimal example where practical.
The documentation workflow builds with warnings visible but does not currently fail on all historical warnings. New code should nevertheless avoid introducing new unresolved references, undocumented parameters or recursive @copydoc links.