![]() |
CosmoBolognaLib
Free Software C++/Python libraries for cosmological calculations
|
The class SphericalHarmonics_Coefficients. More...
#include "Headers/SphericalHarmonics_Coefficients.h"
Public Member Functions | |
| double | real (const int n, const int bin=0) |
| return the real part of the n-th coefficient of the expansion for a given separation bin More... | |
| double | imag (const int n, const int bin=0) |
| return the imaginary part of the n-th coefficient of the expansion for a given separation bin More... | |
| void | initialize (const int norder, const int nbins=1) |
| initialize the internal quantities More... | |
| void | reset () |
| reset the internal quantities | |
| std::vector< std::complex< double > > | alm (const double xx, const double yy, const double zz) |
| compute the \( a_{lm}\) for the normalized coordinates \( \lbrace x, y, z \rbrace \) More... | |
| void | add (const std::vector< std::complex< double >> alm, const double ww, const int bin=0) |
| add the \( a_{lm}\) to a specific separation bin with a weight More... | |
| void | add (const double xx, const double yy, const double zz, const double ww, const int bin=0) |
| compute add the \( a_{lm}\) for the normalized coordinates \( \lbrace x, y, z \rbrace \) to a specific separation bin with a weight More... | |
| double | power (const int l, const int bin1, const int bin2) |
| compute the product of the \( a_{lm} \) in two separation bin More... | |
Constructors/destructors | |
| SphericalHarmonics_Coefficients () | |
| default constructor | |
| SphericalHarmonics_Coefficients (const int norder, const int nbins=1) | |
| default constructor More... | |
| ~SphericalHarmonics_Coefficients () | |
| default descructor | |
Protected Attributes | |
| int | m_nbins |
| the number of separation bins | |
| int | m_norder |
| the number of multipoles, \( l_{max}+1 \) | |
| int | m_lmax |
| the maximum multipole \( l_{max} \) | |
| int | m_n_sph |
| the total number of spherical harmonics | |
| std::vector< int > | m_n_sph_l |
| the number of spherical harmonics for a given choice of \(l\) | |
| std::vector< std::vector< std::complex< double > > > | m_alm |
| the spherical harmonics expansion coefficients in separation bins | |
| std::vector< double > | m_normalization |
| the normalization | |
| std::vector< double > | m_Plm |
| vector for temporary computation of associated legendre polynomials | |
| std::vector< std::complex< double > > | m_sph |
| vector for temporary computation of spherical harmonics | |
The class SphericalHarmonics_Coefficients.
This class is used to handle objects of type SphericalHarmonics_Coefficients . It contains all methods to compute coefficients of spherical harmonics expansion \(a_{lm}\) in any position of the unit sphere.
Coefficients can be binned according to the magnitude of the separation vector and accumulated.
Definition at line 57 of file SphericalHarmonics_Coefficients.h.
|
inline |
default constructor
| norder | the number of multipoles, \( l_{max}+1 \) |
| nbins | the number of separation bins |
Definition at line 110 of file SphericalHarmonics_Coefficients.h.
| void cbl::glob::SphericalHarmonics_Coefficients::add | ( | const double | xx, |
| const double | yy, | ||
| const double | zz, | ||
| const double | ww, | ||
| const int | bin = 0 |
||
| ) |
compute add the \( a_{lm}\) for the normalized coordinates \( \lbrace x, y, z \rbrace \) to a specific separation bin with a weight
| xx | the x coordinate |
| yy | the y coordinate |
| zz | the z coordinate |
| ww | the weight |
| bin | the separation bin |
Definition at line 192 of file SphericalHarmonics_Coefficients.cpp.
| void cbl::glob::SphericalHarmonics_Coefficients::add | ( | const std::vector< std::complex< double >> | alm, |
| const double | ww, | ||
| const int | bin = 0 |
||
| ) |
add the \( a_{lm}\) to a specific separation bin with a weight
| alm | the spherical harmonics expansion coefficients |
| ww | the weight |
| bin | the separation bin |
Definition at line 182 of file SphericalHarmonics_Coefficients.cpp.
| std::vector< std::complex< double > > cbl::glob::SphericalHarmonics_Coefficients::alm | ( | const double | xx, |
| const double | yy, | ||
| const double | zz | ||
| ) |
compute the \( a_{lm}\) for the normalized coordinates \( \lbrace x, y, z \rbrace \)
| xx | the x coordinate |
| yy | the y coordinate |
| zz | the z coordinate |
Definition at line 89 of file SphericalHarmonics_Coefficients.cpp.
|
inline |
return the imaginary part of the n-th coefficient of the expansion for a given separation bin
| n | the n-th coefficient of the spherical harmonics expansion |
| bin | the separation bin |
Definition at line 147 of file SphericalHarmonics_Coefficients.h.
| void cbl::glob::SphericalHarmonics_Coefficients::initialize | ( | const int | norder, |
| const int | nbins = 1 |
||
| ) |
initialize the internal quantities
| norder | the number of multipoles, \( l_{max}+1 \) |
| nbins | the number of separation bins |
Definition at line 46 of file SphericalHarmonics_Coefficients.cpp.
| double cbl::glob::SphericalHarmonics_Coefficients::power | ( | const int | l, |
| const int | bin1, | ||
| const int | bin2 | ||
| ) |
compute the product of the \( a_{lm} \) in two separation bin
This function computes the product of the \( a_{lm} \) in two separation bin:
\[ \zeta_l(r_1, r_2) = \sum_{m=-l}^l a_{lm}(r_1) a^*_{lm} (r_2) \]
| l | the coefficient order |
| bin1 | the first separation bin |
| bin2 | the second separation bin |
Definition at line 203 of file SphericalHarmonics_Coefficients.cpp.
|
inline |
return the real part of the n-th coefficient of the expansion for a given separation bin
| n | the n-th coefficient of the spherical harmonics expansion |
| bin | the separation bin |
Definition at line 133 of file SphericalHarmonics_Coefficients.h.