Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
CompositeParamCreator.h
Go to the documentation of this file.
1#ifndef COMPOSITEPARAMCREATOR_H
2#define COMPOSITEPARAMCREATOR_H
3
4#include "IDependency.h"
7
46public:
65 const BlockName& name,
66 const std::unordered_map<ParameterType, std::vector<std::string>>& source_names,
67 ParameterType dest,
68 DepUpdateFunc recalculateFunc
69 ) override;
70
87 const ParamId& pid,
88 const std::unordered_set<ParamId>& source_pids,
89 DepParamUpdateFunc recalculateFunc
90 ) override;
91
103 void remove_dependency(const BlockName& name, ParameterType src) override;
104
116 void update_dependency(const BlockName& name, ParameterType src) override;
117
118};
119
120#endif // COMPOSITEPARAMCREATOR_H
std::function< void(const BlockSrc &, std::shared_ptr< DependentBlock >)> DepUpdateFunc
Function type used to recompute a DependentBlock from its sources.
Definition Block.h:56
Provides static utilities to create, manage, and update dependent blocks and dependent parameters.
Defines parameters whose values are lazily computed from other parameters.
std::function< void(const ParamSrc &, std::shared_ptr< DependentParameter >)> DepParamUpdateFunc
Function signature used to recompute a DependentParameter.
ParameterType
Interface for managing dependencies between blocks and parameters.
Block identifier with alias support.
Definition BlockName.h:59
Concrete implementation of IDependency using DependentBlockManager.
void remove_dependency(const BlockName &name, ParameterType src) override
Removes a dependent block using DependentBlockManager.
void add_param_dependency(const ParamId &pid, const std::unordered_set< ParamId > &source_pids, DepParamUpdateFunc recalculateFunc) override
Adds a dependent parameter using DependentBlockManager.
void update_dependency(const BlockName &name, ParameterType src) override
Manually triggers an update on a dependent block 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.
Interface for managing dependencies between parameter blocks or parameters.
Definition IDependency.h:43
Composite identifier for a single parameter.
Definition ParamID.h:57