Class gaussian_wavefront_t

Class Documentation

class gaussian_wavefront_t

Models the wavefront of a Gaussian beam.

Public Functions

inline gaussian_wavefront_t(gaussian2d_t intensity_distribution)
inline bool is_ray() const noexcept

Is the beam a singular ray?

inline const auto &intensity_distribution() const noexcept

The cross-sectional distribution of beam intensity.

inline auto amplitude_magnitude_distribution() const noexcept

The cross-sectional distribution of beam amplitude.

inline auto I(pqvec2_t x) const noexcept

Beam intensity at a point on the beam cross section.

inline auto amplitude_magnitude(pqvec2_t x) const noexcept

Beam amplitude at a point on the beam cross section.

inline pqvec2_t envelope() const noexcept

Beam’s envelope in local frame.

inline Area auto cross_section_area() const noexcept

Beam’s envelope in local frame.

inline auto is_in_envelope(pqvec2_t p) const noexcept

Checks if a point is inside the beam’s envelope.

inline pqvec2_t sample(sampler::sampler_t &sampler) const noexcept

Sample a point on the beam’ cross section (w.r.t. intensity distribution).

inline auto integrate_triangle(pqvec2_t pa, pqvec2_t pb, pqvec2_t pc) const noexcept

Integrates the wavefront over the support of a triangle defined via its 3 2D vertices. Returns the radiant flux: integrated intensity.

Public Static Attributes

static constexpr f_t beam_cross_section_envelope = 3