Astrodynamics Functions
|
Computes recursively and stores normalization constants for fully-normalized spherical harmonics. More...
#include <Nlm.hpp>
Public Member Functions | |
Nlm () | |
Nlm (int l_max) | |
Nlm & | operator= (const Nlm &other) |
Nlm (const Nlm &other) | |
double | get_Nlm (int l, int m) |
Getter for normalization constant. | |
Computes recursively and stores normalization constants for fully-normalized spherical harmonics.
This class computes the normalization constants for fully-normalized spherical harmonics as defined in Heiskanen and Moritz (1967, eq. 1-91). As a result, the orthogonality integrals values are:
\[ \frac{1}{4\pi} \iint \bar{Y}_{lm}(\phi,\theta) \bar{Y}_{l'm'}(\phi,\theta) \, d\sigma = \delta_{ll'}\delta_{mm'} \]
The normalization constants take the following form:
\[ N_{lm} = \sqrt{\frac{(2-\delta_{0m})(2l+1)(l+m)!}{(l-m)!}} \]
This class leverages recursive relations to compute all the normalization constants up to a maximum input degree minimizing the overflow problem.
Nlm::Nlm | ( | ) |
Default constructor
Nlm::Nlm | ( | int | l_max | ) |
Class constructor
l_max | Maximum degree and order to which the normalization constants are computed |
double Nlm::get_Nlm | ( | int | l, |
int | m | ||
) |
Getter for normalization constant.
l | degree |
m | order |