Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
IDataMonitor.h
Go to the documentation of this file.
1#ifndef IDATAMONITOR_H
2#define IDATAMONITOR_H
3
4#include <unordered_set>
5#include <map>
6#include <vector>
7
8#include "Include.h"
9#include "scalar.h"
10
49class IDataMonitor {
50public:
52 virtual ~IDataMonitor() = default;
53
62 virtual std::unordered_set<BlockName> get_all_blocks() = 0;
63
72 virtual std::unordered_set<BlockName> get_blocks_list(ParameterType param_type = ParameterType::SM) = 0;
73
81 virtual std::map<LhaID, scalar_t> get_block_infos(const BlockName& block, ParameterType param_type = ParameterType::SM) = 0;
82
83
94 virtual std::vector<ParameterType> get_type_of_block(const BlockName& block) = 0;
95};
96
97
98#endif // IDATAMONITOR_H
ParameterType
Block identifier with alias support.
Definition BlockName.h:59
Interface for monitoring and retrieving information about parameter blocks.
virtual ~IDataMonitor()=default
Virtual destructor for polymorphic use.
virtual std::vector< ParameterType > get_type_of_block(const BlockName &block)=0
Retrieves the model types owning a specific block.
virtual std::unordered_set< BlockName > get_all_blocks()=0
Retrieves the names of all parameter blocks across all models.
virtual std::map< LhaID, scalar_t > get_block_infos(const BlockName &block, ParameterType param_type=ParameterType::SM)=0
Retrieves all parameter values within a block.
virtual std::unordered_set< BlockName > get_blocks_list(ParameterType param_type=ParameterType::SM)=0
Retrieves the list of blocks for a specific model type.