Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
WilsonParamComposer Class Reference

Composer that registers dependent entities into ParameterType::WILSON. More...

#include <WilsonParamComposer.h>

Inheritance diagram for WilsonParamComposer:
Collaboration diagram for WilsonParamComposer:

Public Member Functions

void compose_block (const std::string &block_name, const std::unordered_map< ParameterType, std::vector< std::string > > &source_names, const DepUpdateFunc &update_func) override
 Creates a dependent block in the Wilson scope.
 
void compose_parameter (const ParamId &, const std::unordered_set< ParamId > &, const DepParamUpdateFunc &) override
 Creates a dependent parameter in the Wilson scope.
 
void remove_block (const std::string &) override
 Removes a dependent block from the Wilson scope and from the registry.
 
void update (const std::string &block_name) override
 Triggers an update on a dependent block in the Wilson scope.
 
void remove_all_composed_blocks () override
 Removes all dependent blocks composed via this composer.
 
- Public Member Functions inherited from IBlockComposer
virtual ~IBlockComposer ()=default
 
bool has_composed_block (const std::string &block_name) const
 Returns whether a block has already been composed by this composer instance.
 

Additional Inherited Members

- Protected Attributes inherited from IBlockComposer
std::unordered_set< std::string > composed_blocks
 Registry of blocks composed through this composer instance.
 

Detailed Description

Composer that registers dependent entities into ParameterType::WILSON.

Responsibilities:

  • Compose dependent blocks into the Wilson scope (dest = ParameterType::WILSON).
  • Compose dependent parameters, ensuring the target ParamId is typed as WILSON.
  • Track created block names in this composer instance so they can be removed later.

Notes on typing behavior:

Definition at line 39 of file WilsonParamComposer.h.

Member Function Documentation

◆ compose_block()

void WilsonParamComposer::compose_block ( const std::string &  block_name,
const std::unordered_map< ParameterType, std::vector< std::string > > &  source_names,
const DepUpdateFunc update_func 
)
overridevirtual

Creates a dependent block in the Wilson scope.

Delegates to:

Concrete implementation of IDependency using DependentBlockManager.
void add_block_dependency(const BlockName &name, const std::unordered_map< ParameterType, std::vector< std::string > > &source_names, ParameterType dest, DepUpdateFunc recalculateFunc) override
Adds a dependent block using DependentBlockManager.

Also records block_name into the instance-local composed-block registry.

Implements IBlockComposer.

Definition at line 6 of file WilsonParamComposer.cpp.

◆ compose_parameter()

void WilsonParamComposer::compose_parameter ( const ParamId pid,
const std::unordered_set< ParamId > &  source_pids,
const DepParamUpdateFunc update_func 
)
overridevirtual

Creates a dependent parameter in the Wilson scope.

  • Forces destination pid.type to ParameterType::WILSON.
  • Normalizes sources:
    • missing type => assumed WILSON
    • specified type => preserved

Also records the destination block name into the instance-local composed-block registry.

Implements IBlockComposer.

Definition at line 14 of file WilsonParamComposer.cpp.

◆ remove_all_composed_blocks()

void WilsonParamComposer::remove_all_composed_blocks ( )
overridevirtual

Removes all dependent blocks composed via this composer.

Iterates over the instance-local composed-block registry and removes each block from the Wilson scope, then clears the registry.

Implements IBlockComposer.

Definition at line 40 of file WilsonParamComposer.cpp.

◆ remove_block()

void WilsonParamComposer::remove_block ( const std::string &  block_name)
overridevirtual

Removes a dependent block from the Wilson scope and from the registry.

Implements IBlockComposer.

Definition at line 31 of file WilsonParamComposer.cpp.

◆ update()

void WilsonParamComposer::update ( const std::string &  block_name)
overridevirtual

Triggers an update on a dependent block in the Wilson scope.

Implements IBlockComposer.

Definition at line 36 of file WilsonParamComposer.cpp.


The documentation for this class was generated from the following files: