Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
FileNameManager.h
Go to the documentation of this file.
1#ifndef FILENAME_MANAGER_H
2#define FILENAME_MANAGER_H
3
4#include <memory>
5#include <optional>
6#include <string>
7
8#include "IMartyPathProxy.h"
9
18public:
25 static std::shared_ptr<FileNameManager> getInstance(const std::string& wilson = "", const std::string& model = "");
26
30 static void setTestingRoots(const std::string& templateRoot,
31 const std::string& baseTemplateRoot,
32 const std::string& assetsRoot);
33
34 static void clearTestingRoots();
35
38
39 std::string getGeneratedFileName() const;
40 std::string getExecutableFileName() const;
41 std::string getNumGeneratedFileName() const;
42 std::string getNumExecutableFileName() const;
43
44 std::string getOutputDir() const;
45 std::string getTemplateDir() const;
46 std::string getLibDir() const;
47
48 std::string getNumParamFileName() const;
49 std::string getHelperFileName(const std::string &extension) const;
50 std::string getBaseHelperFileName(const std::string &extension) const;
51
52 std::string getCsvWilsonFileName() const;
53
61 std::string getjsondbmodel() const;
62
63 std::string getSmMappingFileName() const;
64 std::optional<std::string> getBsmMappingFileName() const;
65
66 std::string getParamFileName() const;
67
68private:
69 FileNameManager(const std::string& wilson,
70 const std::string& model,
71 std::shared_ptr<IMartyPathProxy> path_proxy);
72
73 static std::string toLowercase(std::string value);
74 static std::string ensureTrailingSlash(const std::string& value);
75
76 static inline std::string test_template_root{};
77 static inline std::string test_base_template_root{};
78 static inline std::string test_assets_root{};
79
80 std::shared_ptr<IMartyPathProxy> path_proxy_;
81
82 std::string wilson_;
83 std::string model_;
84 std::string lowercaseWilson_;
85 std::string lowercaseModel_;
86
87 std::string templateDir_;
88 std::string baseTemplateDir_;
89 std::string smMappingFile_;
90 std::optional<std::string> bsmMappingFile_;
91};
92
93#endif
static std::shared_ptr< FileNameManager > getInstance(const std::string &wilson="", const std::string &model="")
Retrieves a FileNameManager for a given (wilson, model) pair.
std::string getNumGeneratedFileName() const
std::string getCsvWilsonFileName() const
std::optional< std::string > getBsmMappingFileName() const
std::string getGeneratedFileName() const
std::string getExecutableFileName() const
std::string getParamFileName() const
std::string getOutputDir() const
static void setTestingRoots(const std::string &templateRoot, const std::string &baseTemplateRoot, const std::string &assetsRoot)
Testing-only root overrides.
std::string getNumExecutableFileName() const
FileNameManager & operator=(const FileNameManager &)=delete
std::string getTemplateDir() const
std::string getNumParamFileName() const
std::string getHelperFileName(const std::string &extension) const
std::string getBaseHelperFileName(const std::string &extension) const
std::string getSmMappingFileName() const
std::string getLibDir() const
static void clearTestingRoots()
FileNameManager(const FileNameManager &)=delete
std::string getjsondbmodel() const
Legacy accessor kept for existing code.