Alm< T > Class Template Reference

#include <alm.h>

Inheritance diagram for Alm< T >:

Alm_Base

List of all members.

Public Member Functions

 Alm (int lmax_=0, int mmax_=0)
void Set (int lmax_, int mmax_)
void Set (arr< T > &data, int lmax_, int mmax_)
void SetToZero ()
template<typename T2>
void Scale (const T2 &factor)
template<typename T2>
void ScaleL (const arr< T2 > &factor)
template<typename T2>
void ScaleM (const arr< T2 > &factor)
template<typename T2>
void Add (const T2 &num)
T & operator() (int l, int m)
const T & operator() (int l, int m) const
T * mstart (int m)
const T * mstart (int m) const
const arr< T > & Alms () const
void swap (Alm &other)
void Add (const Alm &other)

Related Functions

(Note that these are not member functions.)

template<typename T>
void smoothWithGauss (Alm< xcomplex< T > > &alm, double fwhm)
template<typename T>
void smoothWithGauss (Alm< xcomplex< T > > &almT, Alm< xcomplex< T > > &almG, Alm< xcomplex< T > > &almC, double fwhm)
template<typename T>
void applyCosineWindow (Alm< xcomplex< T > > &alm, int lmin, int lmax)
template<typename T>
void rotate_alm (Alm< xcomplex< T > > &alm, double psi, double theta, double phi)
template<typename T>
void rotate_alm (Alm< xcomplex< T > > &almT, Alm< xcomplex< T > > &almG, Alm< xcomplex< T > > &almC, double psi, double theta, double phi)
template<typename T>
void rotate_alm (Alm< xcomplex< T > > &alm, const rotmatrix &mat)
template<typename T>
void rotate_alm (Alm< xcomplex< T > > &almT, Alm< xcomplex< T > > &almG, Alm< xcomplex< T > > &almC, const rotmatrix &mat)


Detailed Description

template<typename T>
class Alm< T >

Class for storing spherical harmonic coefficients.

Definition at line 87 of file alm.h.


Constructor & Destructor Documentation

template<typename T>
Alm< T >::Alm ( int  lmax_ = 0,
int  mmax_ = 0 
) [inline]

Constructs an Alm object with given lmax and mmax.

Definition at line 94 of file alm.h.


Member Function Documentation

template<typename T>
void Alm< T >::Set ( int  lmax_,
int  mmax_ 
) [inline]

Deletes the old coefficients and allocates storage according to lmax and mmax.

Reimplemented from Alm_Base.

Definition at line 99 of file alm.h.

template<typename T>
void Alm< T >::Set ( arr< T > &  data,
int  lmax_,
int  mmax_ 
) [inline]

Deallocates the old coefficients and uses the content of data for storage. data is deallocated during the call.

Definition at line 107 of file alm.h.

template<typename T>
void Alm< T >::SetToZero (  )  [inline]

Sets all coefficients to zero.

Definition at line 115 of file alm.h.

template<typename T>
template<typename T2>
void Alm< T >::Scale ( const T2 &  factor  )  [inline]

Multiplies all coefficients by factor.

Definition at line 119 of file alm.h.

template<typename T>
template<typename T2>
void Alm< T >::ScaleL ( const arr< T2 > &  factor  )  [inline]

a(l,m) *= factor[l] for all l,m.

Definition at line 122 of file alm.h.

template<typename T>
template<typename T2>
void Alm< T >::ScaleM ( const arr< T2 > &  factor  )  [inline]

a(l,m) *= factor[m] for all l,m.

Definition at line 131 of file alm.h.

template<typename T>
template<typename T2>
void Alm< T >::Add ( const T2 &  num  )  [inline]

Adds num to a_00.

Definition at line 140 of file alm.h.

template<typename T>
T& Alm< T >::operator() ( int  l,
int  m 
) [inline]

Returns a reference to the specified coefficient.

Definition at line 144 of file alm.h.

template<typename T>
const T& Alm< T >::operator() ( int  l,
int  m 
) const [inline]

Returns a constant reference to the specified coefficient.

Definition at line 147 of file alm.h.

template<typename T>
T* Alm< T >::mstart ( int  m  )  [inline]

Returns a pointer for a given m, from which the address of a_lm can be obtained by adding l.

Definition at line 152 of file alm.h.

template<typename T>
const T* Alm< T >::mstart ( int  m  )  const [inline]

Returns a pointer for a given m, from which the address of a_lm can be obtained by adding l.

Definition at line 156 of file alm.h.

template<typename T>
const arr<T>& Alm< T >::Alms (  )  const [inline]

Returns a constant reference to the a_lm data.

Definition at line 160 of file alm.h.

template<typename T>
void Alm< T >::swap ( Alm< T > &  other  )  [inline]

Swaps the contents of two Alm objects.

Definition at line 163 of file alm.h.

template<typename T>
void Alm< T >::Add ( const Alm< T > &  other  )  [inline]

Adds all coefficients from other to the own coefficients.

Definition at line 170 of file alm.h.


Friends And Related Function Documentation

template<typename T>
void smoothWithGauss ( Alm< xcomplex< T > > &  alm,
double  fwhm 
) [related]

Applies a convolution with a Gaussian beam with an FWHM of fwhm (in radian) to alm.

Note:
If fwhm<0, a deconvolution with -fwhm is performed.

Definition at line 277 of file alm_powspec_tools.cc.

template<typename T>
void smoothWithGauss ( Alm< xcomplex< T > > &  almT,
Alm< xcomplex< T > > &  almG,
Alm< xcomplex< T > > &  almC,
double  fwhm 
) [related]

Applies a convolution with a Gaussian beam with an FWHM of fwhm (in radian) to almT, almG and almC.

Note:
If fwhm<0, a deconvolution with -fwhm is performed.

Definition at line 294 of file alm_powspec_tools.cc.

template<typename T>
void applyCosineWindow ( Alm< xcomplex< T > > &  alm,
int  lmin,
int  lmax 
) [related]

Applies a function to alm that is 1 for all l<=lmin, 0 for all l>=lmax, and 0.5*(1+cos((l-lmin)/(lmax-lmin)*pi)) in between.

Definition at line 312 of file alm_powspec_tools.cc.

template<typename T>
void rotate_alm ( Alm< xcomplex< T > > &  alm,
double  psi,
double  theta,
double  phi 
) [related]

Rotates alm through the Euler angles psi, theta and phi. The Euler angle convention is right handed, rotations are active.

  • psi is the first rotation about the z-axis (vertical)
  • then theta about the ORIGINAL (unrotated) y-axis
  • then phi about the ORIGINAL (unrotated) z-axis (vertical)

Definition at line 343 of file alm_powspec_tools.cc.

template<typename T>
void rotate_alm ( Alm< xcomplex< T > > &  almT,
Alm< xcomplex< T > > &  almG,
Alm< xcomplex< T > > &  almC,
double  psi,
double  theta,
double  phi 
) [related]

Rotates almT, almG and almC through the Euler angles psi, theta and phi. The Euler angle convention is right handed, rotations are active.

  • psi is the first rotation about the z-axis (vertical)
  • then theta about the ORIGINAL (unrotated) y-axis
  • then phi about the ORIGINAL (unrotated) z-axis (vertical)

Definition at line 399 of file alm_powspec_tools.cc.

template<typename T>
void rotate_alm ( Alm< xcomplex< T > > &  alm,
const rotmatrix mat 
) [related]

Rotates alm through the rotation matrix mat.

Definition at line 473 of file alm_powspec_tools.cc.

template<typename T>
void rotate_alm ( Alm< xcomplex< T > > &  almT,
Alm< xcomplex< T > > &  almG,
Alm< xcomplex< T > > &  almC,
const rotmatrix mat 
) [related]

Rotates almT, almG and almC through the rotation matrix mat.

Definition at line 484 of file alm_powspec_tools.cc.


The documentation for this class was generated from the following files:

Generated on Thu Oct 8 14:48:52 2015 for Healpix C++