77 std::vector<std::vector<std::complex<double>>>
m_alm;
86 std::vector<std::complex<double>>
m_sph;
133 double real (
const int n,
const int bin=0) {
return m_alm[bin][n].real();}
147 double imag (
const int n,
const int bin=0) {
return m_alm[bin][n].imag();}
158 void initialize (
const int norder,
const int nbins=1);
180 std::vector<std::complex<double>>
alm(
const double xx,
const double yy,
const double zz);
194 void add (
const std::vector<std::complex<double>>
alm,
const double ww,
const int bin=0);
213 void add (
const double xx,
const double yy,
const double zz,
const double ww,
const int bin=0);
235 double power (
const int l,
const int bin1,
const int bin2);
Useful generic functions.
The class SphericalHarmonics_Coefficients.
int m_norder
the number of multipoles,
SphericalHarmonics_Coefficients(const int norder, const int nbins=1)
default constructor
void reset()
reset the internal quantities
double power(const int l, const int bin1, const int bin2)
compute the product of the in two separation bin
SphericalHarmonics_Coefficients()
default constructor
std::vector< std::complex< double > > m_sph
vector for temporary computation of spherical harmonics
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
std::vector< std::complex< double > > alm(const double xx, const double yy, const double zz)
compute the for the normalized coordinates
void initialize(const int norder, const int nbins=1)
initialize the internal quantities
~SphericalHarmonics_Coefficients()
default descructor
int m_lmax
the maximum multipole
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
std::vector< std::vector< std::complex< double > > > m_alm
the spherical harmonics expansion coefficients in separation bins
int m_nbins
the number of separation bins
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
std::vector< double > m_normalization
the normalization
std::vector< double > m_Plm
vector for temporary computation of associated legendre polynomials
void add(const std::vector< std::complex< double >> alm, const double ww, const int bin=0)
add the to a specific separation bin with a weight
The global namespace of the CosmoBolognaLib