Astrodynamics Functions
Loading...
Searching...
No Matches
Plm.hpp
Go to the documentation of this file.
1
9#ifndef _PLM_HPP_
10#define _PLM_HPP_
11
12#include <cmath>
13
14#include "Nlm.hpp"
15
55class Plm
56{
57 double *_Plm = nullptr; // Fully-normalized ALFs
58 double *_dPlm = nullptr; // Fully-normalized ALFs co-latitude derivatives
59 double *_ddPlm = nullptr; // Fully-normalized ALFs co-latitude 2nd order derivatives
60 double theta; // Co-latitude
61 Nlm _Nlm; // Normalization constants
62 int l_max; // Maximum degree of ALFs
63
70 int lm_idx(int l, int m);
71
72public:
76 Plm();
86 Plm(int l_max, double theta, bool derivatives = false, bool second_derivatives = false);
87
88 // Copy constructor
89 Plm(const Plm &other);
90
91 // Copy assignment operator
92 Plm &operator=(const Plm &other);
93
94 // Destructor
95 ~Plm();
96
102 double get_Plm_bar(int l, int m);
103
109 double get_Plm(int l, int m);
110
116 double get_dPlm_bar(int l, int m);
117
123 double get_dPlm(int l, int m);
124
130 double get_ddPlm_bar(int l, int m);
131
137 double get_ddPlm(int l, int m);
138
142 double get_theta() const;
143};
144
145#endif // _PLM_HPP_
Header file for computing normalization constants for spherical harmonics.
Computes recursively and stores normalization constants for fully-normalized spherical harmonics.
Definition Nlm.hpp:40
Class that computes and stores the Associated Legendre Functions (ALFs) and its derivatives at a give...
Definition Plm.hpp:56
double get_ddPlm_bar(int l, int m)
Getter for fully-normalized ALF 2nd order derivative.
Definition Plm.cpp:226
double get_ddPlm(int l, int m)
Getter for unnormalized ALF derivative.
Definition Plm.cpp:228
double get_dPlm_bar(int l, int m)
Getter for fully-normalized ALF derivative.
Definition Plm.cpp:222
double get_Plm(int l, int m)
Getter for unnormalized ALF.
Definition Plm.cpp:220
double get_Plm_bar(int l, int m)
Getter for fully-normalized ALF.
Definition Plm.cpp:218
double get_dPlm(int l, int m)
Getter for unnormalized ALF derivative.
Definition Plm.cpp:224
double get_theta() const
Getter for associated colatitude.
Definition Plm.cpp:230
Plm()
Definition Plm.cpp:14