Program Listing for File Constants.hpp
↰ Return to documentation for file (src/utils/Constants.hpp)
#ifndef CONSTANTS_HPP
#define CONSTANTS_HPP
#include <gsl/gsl_const_cgsm.h> // NOLINT(misc-include-cleaner)
namespace utils
{
// Physical constants, taken directly from GSL's cgs values
// (gsl_const_cgsm.h)
inline constexpr double c = GSL_CONST_CGSM_SPEED_OF_LIGHT;
inline constexpr double h = GSL_CONST_CGSM_PLANCKS_CONSTANT_H;
inline constexpr double Ryd = GSL_CONST_CGSM_RYDBERG; // NOLINT(readability-identifier-naming) -- capitalized to match standard astrophysical/physical notation (Ryd, G, Msun, Rsun, Lsun, Jy below), rather than the project's usual camelBack variable convention
inline constexpr double G = GSL_CONST_CGSM_GRAVITATIONAL_CONSTANT; // NOLINT(readability-identifier-naming) -- see Ryd
inline constexpr double pc = GSL_CONST_CGSM_PARSEC;
inline constexpr double Angstrom = GSL_CONST_CGSM_ANGSTROM; // NOLINT(readability-identifier-naming) -- see Ryd
inline constexpr double sigmaSB = GSL_CONST_CGSM_STEFAN_BOLTZMANN_CONSTANT;
inline constexpr double kB = GSL_CONST_CGSM_BOLTZMANN;
inline constexpr double eV = GSL_CONST_CGSM_ELECTRON_VOLT;
inline constexpr double Msun = GSL_CONST_CGSM_SOLAR_MASS; // NOLINT(readability-identifier-naming) -- see Ryd
inline constexpr double day = GSL_CONST_CGSM_DAY;
// Constants and units GSL has no cgs value for
inline constexpr double yr = 365.25 * day;
inline constexpr double Rsun = 6.957e10; // NOLINT(readability-identifier-naming) -- see Ryd
inline constexpr double Lsun = 3.828e33; // NOLINT(readability-identifier-naming) -- see Ryd
inline constexpr double Jy = 1e-23; // NOLINT(readability-identifier-naming) -- see Ryd
} // namespace utils
#endif // CONSTANTS_HPP