NASA - Jet Propulsion Laboratory
    + View the NASA Portal
Search JPL
Jet Propulsion Laboratory Home Earth Solar System Stars & Galaxies Technology
Introduction Background Software Links

Alm< T > Class Template Reference

#include <alm.h>

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 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
int Lmax () const
int Mmax () const
const arr< T > & Alms () const
void swap (Alm &other)
bool conformable (const Alm &other) const
void Add (const Alm &other)

Static Public Member Functions

static long Num_Alms (int l, int m)

Related Functions

(Note that these are not member functions.)

template<typename T>
void smooth_with_Gauss (Alm< xcomplex< T > > &alm, double fwhm_arcmin)
template<typename T>
void smooth_with_Gauss (Alm< xcomplex< T > > &almT, Alm< xcomplex< T > > &almG, Alm< xcomplex< T > > &almC, double fwhm_arcmin)
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 40 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 56 of file alm.h.


Member Function Documentation

template<typename T>
static long Alm< T >::Num_Alms ( int  l,
int  m 
) [inline, static]

Returns the number of coefficients in an Alm object with maximum quantum numbers l and m.

Definition at line 49 of file alm.h.

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

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

Definition at line 63 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 73 of file alm.h.

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

Sets all coefficients to zero.

Definition at line 83 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 87 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 90 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 98 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 102 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 105 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 110 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 114 of file alm.h.

template<typename T>
int Alm< T >::Lmax (  )  const [inline]

Returns the maximum l

Definition at line 118 of file alm.h.

template<typename T>
int Alm< T >::Mmax (  )  const [inline]

Returns the maximum m

Definition at line 120 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 123 of file alm.h.

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

Swaps the contents of two A_lm objects.

Definition at line 126 of file alm.h.

template<typename T>
bool Alm< T >::conformable ( const Alm< T > &  other  )  const [inline]

Returns true, if both objects have the same lmax and mmax, else false.

Definition at line 136 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 140 of file alm.h.


Friends And Related Function Documentation

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

Applies a convolution with a Gaussian beam with an FWHM of fwhm_arcmin arcmin to alm.

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

Definition at line 238 of file alm_powspec_tools.cc.

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

Applies a convolution with a Gaussian beam with an FWHM of fwhm_arcmin arcmin to almT, almG and almC.

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

Definition at line 255 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 421 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 479 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 555 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 566 of file alm_powspec_tools.cc.


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

Generated on Fri Jun 18 16:12:30 2010 for Healpix C++
Privacy / Copyright
FIRST GOV Contact: NASA Home Page Site Manager:
Webmaster:

CL 03-2650