Class spectrum_t

Inheritance Relationships

Base Type

Derived Types

Class Documentation

class spectrum_t : public wt::scene::scene_element_t

Generic spectrum: a complex-valued function of wavenumber. Wavenumber \( k \) is related to wavelength \( \lambda \) via \( k = \frac{2\pi}{\lambda} \).

Subclassed by wt::spectrum::complex_analytic_t, wt::spectrum::complex_container_t, wt::spectrum::complex_uniform_t, wt::spectrum::spectrum_real_t

Public Functions

inline spectrum_t(std::string id)
spectrum_t(const spectrum_t&) = default
spectrum_t(spectrum_t&&) = default
virtual ~spectrum_t() noexcept = default
virtual range_t<wavenumber_t> wavenumber_range() const noexcept = 0

Returns the range of wavenumbers for which this spectrum is defined. Querying the spectrum with wavenumber<range.min or wavenumber>range.max will always be 0.

virtual c_t value(const wavenumber_t wavenumber) const noexcept = 0

Query the spectrum. Returns the spectral value for the given wavenumber ‘wavenumber’.

virtual scene::element::info_t description() const override = 0

Public Static Functions

static inline constexpr std::string scene_element_class() noexcept
static std::unique_ptr<spectrum_t> load(std::string id, scene::loader::loader_t *loader, const scene::loader::node_t &node, const wt::wt_context_t &context)