Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
ParamBlockLoader.h
Go to the documentation of this file.
1#ifndef BLOCKSCREATOR_H
2#define BLOCKSCREATOR_H
3
4#include <memory>
5
6#include "IDataLoader.h"
8#include "BlockAccessor.h"
10
24class ParamBlockLoader : public IDataLoader<BlockAccessor>, public ILhaPrototypeRegistry {
25public:
32 void load(std::shared_ptr<BlockAccessor> dest, fs::path src_file, bool block_in_blocks=false) override;
33
37 void add_lha_prototype(BlockName blockName,
38 size_t itemCount=2,
39 size_t valueIdx=1,
40 int scaleIdx=-1,
41 int rgIdx=-1,
42 int binIdx=-1,
43 bool globalScale=false) override;
44
48 void add_lha_prototypes(const std::vector<LhaPrototypeSpec>& prototypes) override;
49
50private:
51 void apply_lha_prototypes(std::shared_ptr<IDBNodeProvider> provider) const;
52
53 std::vector<LhaPrototypeSpec> lha_prototypes;
54};
55
56#endif // BLOCKSCREATOR_H
Alias-aware façade for accessing and manipulating multiple parameter blocks.
Factory for creating IDBNodeProvider instances from a file path.
Defines a generic interface for data loading operations.
Block identifier with alias support.
Definition BlockName.h:59
Abstract interface for loading data into an object.
Definition IDataLoader.h:60
Port used by the domain to register LHA parser prototypes.
Loader class to populate a BlockAccessor from a source file.
void add_lha_prototypes(const std::vector< LhaPrototypeSpec > &prototypes) override
Registers several additional LHA prototypes.
void add_lha_prototype(BlockName blockName, size_t itemCount=2, size_t valueIdx=1, int scaleIdx=-1, int rgIdx=-1, int binIdx=-1, bool globalScale=false) override
Registers an additional LHA prototype to apply before parsing LHA files.
void load(std::shared_ptr< BlockAccessor > dest, fs::path src_file, bool block_in_blocks=false) override
Loads parameter blocks from a file into the given BlockAccessor.