Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
Parameters.h File Reference

Model-dependent parameter repository and initialization strategies. More...

#include <memory>
#include <ranges>
#include <algorithm>
#include <unordered_set>
#include <functional>
#include "ParameterRouter.h"
#include "BlockAccessor.h"
#include "Interface.h"
#include "QCDHelper.h"
#include "EWHelper.h"
#include "config.hpp"
#include "SourcesView.h"
#include "DependentParameter.h"
Include dependency graph for Parameters.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  ModelStrategy
 Abstract initialization strategy for one parameter namespace. More...
 
class  SMModelStrategy
 Strategy responsible for Standard Model parameters. More...
 
class  BSMModelStrategy
 Strategy responsible for BSM parameters. More...
 
class  FlavorStrategy
 Strategy responsible for flavor-sector input blocks. More...
 
class  GeneralModelStrategy
 Placeholder / generic strategy class. More...
 
class  WilsonInputStrategy
 Strategy responsible for Wilson-coefficient input blocks. More...
 
class  DecayStrategy
 Strategy responsible for decay-related parameter blocks. More...
 
class  ObservableStrategy
 Strategy responsible for observable-related blocks. More...
 
class  PassthroughStrategy
 Strategy responsible for passthrough / output-preserved blocks. More...
 
class  Parameters
 Block-based parameter repository for one ParameterType namespace. More...
 
class  ParametersFactory
 Factory/cache for Parameters instances. More...
 

Detailed Description

Model-dependent parameter repository and initialization strategies.

This header defines the main runtime parameter layer used throughout HyperISO.

It contains:

  • ModelStrategy, the abstract interface used to initialize one parameter domain,
  • concrete strategies for each ParameterType (SM, BSM, FLAVOR, WILSON, DECAY, OBSERVABLE, PASSTHROUGH),
  • Parameters, the main block-based repository for one parameter domain,
  • ParametersFactory, the singleton-style factory ensuring one repository per ParameterType.

General architecture

A Parameters instance owns a BlockAccessor containing all blocks for one parameter namespace (SM, BSM, WILSON, ...). The actual content is initialized through a model-specific ModelStrategy:

-> createStrategy(ParameterType::SM)
-> strategy->initializeParameters(...)
-> strategy->postInitialization(...)
static std::shared_ptr< Parameters > GetParameters(ParameterType id)
Returns the cached repository for one parameter type.
static std::shared_ptr< Parameters > GetInstance(ParameterType id=ParameterType::SM)
Returns the singleton-like repository for a given parameter type.

Blocks are usually extracted from the MemoryManager input cache, then enriched with dependent blocks / derived quantities during post-initialization.

Responsibilities

Parameters provides:

  • block and parameter lookup,
  • manual value updates,
  • parameter/block freezing,
  • dependency detachment / reattachment,
  • access to the underlying BlockAccessor for advanced operations.
See also
Parameters
ParametersFactory
ModelStrategy
BlockAccessor
MemoryManager

Definition in file Parameters.h.