Program Listing for File SpecsynUtils.hpp

↰ Return to documentation for file (src/specsyn/SpecsynUtils.hpp)

#ifndef SPECSYNUTILS_HPP
#define SPECSYNUTILS_HPP

#include "../tracks/TrackCommons.hpp"
#include "SpecsynCommons.hpp"
#include <filesystem>
#include <string>
#include <toml.hpp>
#include <utility>
#include <vector>

namespace specsyn
{
    auto parseRegistry(const std::string& registryName = defaultRegistry)
    -> std::pair<toml::table, std::filesystem::path>;

    auto findMatchingSpectra(
        const std::string& spectraName,
        double fehMin,
        double fehMax,
        double afe = tracks::defaultAFe,
        double cfe = defaultCFe,
        double microTurb = defaultMicroTurb,
        double r = defaultR,
        const std::string& registryName = defaultRegistry)
    -> std::pair<std::vector<double>, std::vector<std::string>>;

    auto getMicroDefault(
        const std::string& spectraName,
        const std::string& registryName = defaultRegistry) -> double;

    auto findAfeValues(
        const std::string& spectraName,
        double cfe = defaultCFe,
        double microTurb = defaultMicroTurb,
        double r = defaultR,
        const std::string& registryName = defaultRegistry) -> std::vector<double>;

} // namespace specsyn

#endif // SPECSYNUTILS_HPP