32 #ifndef HEALPIX_ALM_HEALPIX_TOOLS_H    33 #define HEALPIX_ALM_HEALPIX_TOOLS_H    38 template<
typename T> 
class Alm;
    53   Alm<xcomplex<T> > &alm, 
const arr<double> &weight,
    65   Alm<xcomplex<T> > &alm, 
int num_iter, 
const arr<double> &weight);
    68   Alm<xcomplex<T> > &alm, 
int num_iter)
    70   arr<double> wgt(2*map.
Nside(),1.);
    74 template<
typename T> 
void map2alm_iter2 (
const Healpix_Map<T> &map,
    75   Alm<xcomplex<T> > &alm, 
double err_abs, 
double err_rel);
    77 template<
typename T> 
void map2alm_spin
    79    Alm<xcomplex<T> > &alm1, 
Alm<xcomplex<T> > &alm2,
    80    int spin, 
const arr<double> &weight, 
bool add_alm);
    82 template<
typename T> 
void map2alm_spin_iter2
    84    Alm<xcomplex<T> > &alm1, 
Alm<xcomplex<T> > &alm2,
    85    int spin, 
double err_abs, 
double err_rel);
   105    Alm<xcomplex<T> > &almT,
   106    Alm<xcomplex<T> > &almG,
   107    Alm<xcomplex<T> > &almC,
   108    const arr<double> &weight,
   128    Alm<xcomplex<T> > &almT,
   129    Alm<xcomplex<T> > &almG,
   130    Alm<xcomplex<T> > &almC,
   132    const arr<double> &weight);
   138    Alm<xcomplex<T> > &almT,
   139    Alm<xcomplex<T> > &almG,
   140    Alm<xcomplex<T> > &almC,
   143   arr<double> wgt(2*mapT.
Nside(),1.);
   147 template<
typename T> 
void map2alm_pol_iter2
   151    Alm<xcomplex<T> > &almT,
   152    Alm<xcomplex<T> > &almG,
   153    Alm<xcomplex<T> > &almC,
   154    double err_abs, 
double err_rel);
   160 template<
typename T> 
void alm2map (
const Alm<xcomplex<T> > &alm,
   168   Alm<xcomplex<T> > &alm, 
bool add_alm=
false);
   170 template<
typename T> 
void alm2map_spin
   171   (
const Alm<xcomplex<T> > &alm1, 
const Alm<xcomplex<T> > &alm2,
   174 template<
typename T> 
void alm2map_spin_adjoint
   176    Alm<xcomplex<T> > &alm1, 
Alm<xcomplex<T> > &alm2,
   177    int spin, 
bool add_alm=
false);
   187   (
const Alm<xcomplex<T> > &almT,
   188    const Alm<xcomplex<T> > &almG,
   189    const Alm<xcomplex<T> > &almC,
   195   template<
typename T> 
void alm2map_pol_adjoint
   199    Alm<xcomplex<T> > &almT,
   200    Alm<xcomplex<T> > &almG,
   201    Alm<xcomplex<T> > &almC,
   214   (
const Alm<xcomplex<T> > &alm,
 void alm2map_der1(const Alm< xcomplex< T > > &alm, Healpix_Map< T > &map, Healpix_Map< T > &mapdth, Healpix_Map< T > &mapdph)
void map2alm_pol(const Healpix_Map< T > &mapT, const Healpix_Map< T > &mapQ, const Healpix_Map< T > &mapU, Alm< xcomplex< T > > &almT, Alm< xcomplex< T > > &almG, Alm< xcomplex< T > > &almC, const arr< double > &weight, bool add_alm=false)
void map2alm(const Healpix_Map< T > &map, Alm< xcomplex< T > > &alm, const arr< double > &weight, bool add_alm=false)
void map2alm_pol_iter(const Healpix_Map< T > &mapT, const Healpix_Map< T > &mapQ, const Healpix_Map< T > &mapU, Alm< xcomplex< T > > &almT, Alm< xcomplex< T > > &almG, Alm< xcomplex< T > > &almC, int num_iter, const arr< double > &weight)
void alm2map_pol(const Alm< xcomplex< T > > &almT, const Alm< xcomplex< T > > &almG, const Alm< xcomplex< T > > &almC, Healpix_Map< T > &mapT, Healpix_Map< T > &mapQ, Healpix_Map< T > &mapU, bool add_map=false)
void alm2map_adjoint(const Healpix_Map< T > &map, Alm< xcomplex< T > > &alm, bool add_alm=false)
void map2alm_iter(const Healpix_Map< T > &map, Alm< xcomplex< T > > &alm, int num_iter, const arr< double > &weight)
void alm2map(const Alm< xcomplex< T > > &alm, Healpix_Map< T > &map, bool add_map=false)