Program Listing for File SpecsynBlackbody.hpp
↰ Return to documentation for file (src/specsyn/SpecsynBlackbody.hpp)
#ifndef SPECSYNBLACKBODY_HPP
#define SPECSYNBLACKBODY_HPP
#include "../io/SimControls.hpp"
#include "../utils/Constants.hpp"
#include "Specsyn.hpp"
#include <cstddef>
#include <vector>
namespace specsyn
{
class SpecsynBlackbody : public Specsyn
{
// Physical constants, in cgs units, used by this class
static constexpr double planckH = utils::h;
static constexpr double speedOfLight = utils::c;
static constexpr double rydberg = utils::Ryd;
static constexpr double boltzmannK = utils::kB;
// Default number of points in the wavelength grid, used when
// the caller doesn't request a grid of their own -- see the
// constructor
static constexpr std::size_t nWlDefault = 1000;
public:
explicit SpecsynBlackbody(double wlMin, double wlMax,
std::size_t nWl,
const io::SimControls& controls);
[[nodiscard]] auto spec(const StarData& props, double feh) const -> std::vector<double> override;
};
} // namespace specsyn
#endif // SPECSYNBLACKBODY_HPP