Program Listing for File NebularCommons.hpp

↰ Return to documentation for file (src/nebular/NebularCommons.hpp)

#ifndef NEBULARCOMMONS_HPP
#define NEBULARCOMMONS_HPP

#include <filesystem>
#include <string>

namespace nebular
{

    inline constexpr double defaultLogU = -2.5;
    inline constexpr double defaultCovFac = 0.5;
    inline constexpr double defaultLineWidth = 20.0;
    inline constexpr bool defaultComputeNeb = true;
    inline const std::string defaultTable = // NOLINT(bugprone-throwing-static-initialization,cert-err58-cpp) -- built from fixed string literals, so the (theoretically throwing) path conversion can never actually throw here
        (std::filesystem::path("data") / std::filesystem::path("nebular")
        / std::filesystem::path("nebular.h5")).string();
    struct NebularControls
    {
        double logU_ = defaultLogU;
        double covFac_ = defaultCovFac;
        double lineWidth_ = defaultLineWidth;
        bool computeNeb_ = defaultComputeNeb;
    };

} // namespace nebular

#endif // NEBULARCOMMONS_HPP