Changeset 866 in Sophya
- Timestamp:
- Apr 10, 2000, 4:22:15 PM (25 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaLib/Samba/sphericaltransformserver.h
r858 r866 13 13 // 14 14 /*! Class for performing analysis and synthesis of sky maps using spin-0 or spin-2 spherical harmonics. 15 16 Maps must be SOPHYA SphericalMaps (SphereGorski or SphereThetaPhi). 17 18 Temperature and polarization (Stokes parameters) can be developped on spherical harmonics : 19 \f[ 20 \frac{\Delta T}{T}(\hat{n})=\sum_{lm}a_{lm}^TY_l^m(\hat{n}) 21 \f] 22 \f[ 23 Q(\hat{n})=\frac{1}{\sqrt{2}}\sum_{lm}N_l\left(a_{lm}^EW_{lm}(\hat{n})+a_{lm}^BX_{lm}(\hat{n})\right) 24 \f] 25 \f[ 26 U(\hat{n})=-\frac{1}{\sqrt{2}}\sum_{lm}N_l\left(a_{lm}^EX_{lm}(\hat{n})-a_{lm}^BW_{lm}(\hat{n})\right) 27 \f] 28 \f[ 29 \left(Q \pm iU\right)(\hat{n})=\sum_{lm}a_{\pm 2lm}\, _{\pm 2}Y_l^m(\hat{n}) 30 \f] 31 32 \f[ 33 Y_l^m(\hat{n})=\lambda_l^m(\theta)e^{im\phi} 34 \f] 35 \f[ 36 _{\pm}Y_l^m(\hat{n})=_{\pm}\lambda_l^m(\theta)e^{im\phi} 37 \f] 38 \f[ 39 W_{lm}(\hat{n})=\frac{1}{N_l}\,_{w}\lambda_l^m(\theta)e^{im\phi} 40 \f] 41 \f[ 42 X_{lm}(\hat{n})=\frac{-i}{N_l}\,_{x}\lambda_l^m(\theta)e^{im\phi} 43 \f] 44 45 (see LambdaLMBuilder, LambdaPMBuilder, LambdaWXBuilder classes) 46 47 power spectra : 48 49 \f[ 50 C_l^T=\frac{1}{2l+1}\sum_{m=0}^{+ \infty }\left|a_{lm}^T\right|^2=\langle\left|a_{lm}^T\right|^2\rangle 51 \f] 52 \f[ 53 C_l^E=\frac{1}{2l+1}\sum_{m=0}^{+\infty}\left|a_{lm}^E\right|^2=\langle\left|a_{lm}^E\right|^2\rangle 54 \f] 55 \f[ 56 C_l^B=\frac{1}{2l+1}\sum_{m=0}^{+\infty}\left|a_{lm}^B\right|^2=\langle\left|a_{lm}^B\right|^2\rangle 57 \f] 58 59 \arg 60 \b Synthesis : Get temperature and polarization maps from \f$a_{lm}\f$ coefficients or from power spectra, (methods GenerateFrom...). 61 62 \b Temperature: 63 \f[ 64 \frac{\Delta T}{T}(\hat{n})=\sum_{lm}a_{lm}^TY_l^m(\hat{n}) = \sum_{-\infty}^{+\infty}b_m(\theta)e^{im\phi} 65 \f] 66 67 with 68 \f[ 69 b_m(\theta)=\sum_{l=\left|m\right|}^{+\infty}a_{lm}^T\lambda_l^m(\theta) 70 \f] 71 72 \b Polarisation 73 \f[ 74 Q \pm iU = \sum_{-\infty}^{+\infty}b_m^{\pm}(\theta)e^{im\phi} 75 \f] 76 77 where : 78 \f[ 79 b_m^{\pm}(\theta) = \sum_{l=\left|m\right|}^{+\infty}a_{\pm 2lm}\,_{\pm}\lambda_l^m(\theta) 80 \f] 81 82 or : 83 \f[ 84 Q = \sum_{-\infty}^{+\infty}b_m^{Q}(\theta)e^{im\phi} 85 \f] 86 \f[ 87 U = \sum_{-\infty}^{+\infty}b_m^{U}(\theta)e^{im\phi} 88 \f] 89 90 where: 91 \f[ 92 b_m^{Q}(\theta) = \frac{1}{\sqrt{2}}\sum_{l=\left|m\right|}^{+\infty}\left(a_{lm}^E\,_{w}\lambda_l^m(\theta)-ia_{lm}^B\,_{x}\lambda_l^m(\theta)\right) 93 \f] 94 \f[ 95 b_m^{U}(\theta) = \frac{1}{\sqrt{2}}\sum_{l=\left|m\right|}^{+\infty}\left(ia_{lm}^E\,_{x}\lambda_l^m(\theta)+a_{lm}^B\,_{w}\lambda_l^m(\theta)\right) 96 \f] 97 98 Since the pixelization provides "slices" with constant \f$\theta\f$ and \f$\phi\f$ equally distributed on \f$2\pi\f$ \f$\frac{\Delta T}{T}\f$, \f$Q\f$,\f$U\f$ can be computed by FFT. 99 100 101 \arg 102 \b Analysis : Get \f$a_{lm}\f$ coefficients or power spectra from temperature and polarization maps (methods DecomposeTo...). 103 104 \b Temperature: 105 \f[ 106 a_{lm}^T=\int\frac{\Delta T}{T}(\hat{n})Y_l^{m*}(\hat{n})d\hat{n} 107 \f] 108 109 approximated as : 110 \f[ 111 a_{lm}^T=\sum_{\theta_k}\omega_kC_m(\theta_k)\lambda_l^m(\theta_k) 112 \f] 113 where : 114 \f[ 115 C_m (\theta _k)=\sum_{\phi _{k\prime}}\frac{\Delta T}{T}(\theta _k,\phi_{k\prime})e^{-im\phi _{k\prime}} 116 \f] 117 Since the pixelization provides "slices" with constant \f$\theta\f$ and \f$\phi\f$ equally distributed on \f$2\pi\f$ (\f$\omega_k\f$ is the solid angle of each pixel of the slice \f$\theta_k\f$) \f$C_m\f$ can be computed by FFT. 118 119 \b polarisation: 120 121 \f[ 122 a_{\pm 2lm}=\sum_{\theta_k}\omega_kC_m^{\pm}(\theta_k)\,_{\pm}\lambda_l^m(\theta_k) 123 \f] 124 where : 125 \f[ 126 C_m^{\pm} (\theta _k)=\sum_{\phi _{k\prime}}\left(Q \pm iU\right)(\theta _k,\phi_{k\prime})e^{-im\phi _{k\prime}} 127 \f] 128 or : 129 130 \f[ 131 a_{lm}^E=\frac{1}{\sqrt{2}}\sum_{\theta_k}\omega_k\left(C_m^{Q}(\theta_k)\,_{w}\lambda_l^m(\theta_k)-iC_m^{U}(\theta_k)\,_{x}\lambda_l^m(\theta_k)\right) 132 \f] 133 \f[ 134 a_{lm}^B=\frac{1}{\sqrt{2}}\sum_{\theta_k}\omega_k\left(iC_m^{Q}(\theta_k)\,_{x}\lambda_l^m(\theta_k)+C_m^{U}(\theta_k)\,_{w}\lambda_l^m(\theta_k)\right) 135 \f] 136 137 where : 138 \f[ 139 C_m^{Q} (\theta _k)=\sum_{\phi _{k\prime}}Q(\theta _k,\phi_{k\prime})e^{-im\phi _{k\prime}} 140 \f] 141 \f[ 142 C_m^{U} (\theta _k)=\sum_{\phi _{k\prime}}U(\theta _k,\phi_{k\prime})e^{-im\phi _{k\prime}} 143 \f] 144 15 145 */ 16 146 template <class T> … … 53 183 /*!return the Alm coefficients from analysis of a temperature map. 54 184 185 \param<nlmax> : maximum value of the l index 186 187 \param<cos_theta_cut> : cosinus of the symmetric cut EULER angle theta : cos_theta_cut=0 means no cut ; cos_theta_cut=1 all the sphere is cut. 188 */ 189 190 191 Alm<T> DecomposeToAlm(const SphericalMap<T>& map, int_4 nlmax, r_8 cos_theta_cut) const; 192 /*!analysis of a polarization map into Alm coefficients. 193 194 The spheres \c mapq and \c mapu contain respectively the Stokes parameters. 195 196 \c a2lme and \c a2lmb will receive respectively electric and magnetic Alm's 55 197 nlmax : maximum value of the l index 56 198 57 cos_theta_cut : cosinus of the symmetric cut EULER angle theta : cos_theta_cut=0 means no cut ; cos_theta_cut=1 all the sphere is cut. 58 */ 59 60 61 Alm<T> DecomposeToAlm(const SphericalMap<T>& map, int_4 nlmax, r_8 cos_theta_cut) const; 62 /*analysis of a polarization map into Alm coefficients. 63 64 The spheres mapq and mapu contain respectively the Stokes parameters. 65 66 a2lme and a2lmb will receive respectively electric and magnetic Alm's 67 nlmax : maximum value of the l index 68 69 cos_theta_cut : cosinus of the symmetric cut EULER angle theta : cos_theta_cut=0 means no cut ; cos_theta_cut=1 all the sphere is cut. 199 \c cos_theta_cut : cosinus of the symmetric cut EULER angle theta : cos_theta_cut=0 means no cut ; cos_theta_cut=1 all the sphere is cut. 70 200 */ 71 201 … … 74 204 int_4 nlmax, r_8 cos_theta_cut) const; 75 205 76 // /*return power spectrum from analysis of a temperature map.77 78 // nlmax: maximum value of the l index79 80 // cos_theta_cut: cosinus of the symmetric cut EULER angle theta : cos_theta_cut=0 means no cut ; cos_theta_cut=1 all the sphere is cut.81 //*/206 /*!return power spectrum from analysis of a temperature map. 207 208 \param<nlmax> : maximum value of the l index 209 210 \param<cos_theta_cut> : cosinus of the symmetric cut EULER angle theta : cos_theta_cut=0 means no cut ; cos_theta_cut=1 all the sphere is cut. 211 */ 82 212 TVector<T> DecomposeToCl(const SphericalMap<T>& sph, 83 213 int_4 nlmax, r_8 cos_theta_cut) const; … … 109 239 Compute polarized Alm's as : 110 240 \f[ 111 a_{lm}^E=\frac{1}{\sqrt{2}}\sum_{slices}{\omega_{pix}\left( _{w}\lambda_l^m\tilde{Q}-i_{x}\lambda_l^m\tilde{U}\right)}112 \f] 113 \f[ 114 a_{lm}^B=\frac{1}{\sqrt{2}}\sum_{slices}{\omega_{pix}\left(i _{x}\lambda_l^m\tilde{Q}+_{w}\lambda_l^m\tilde{U}\right)}241 a_{lm}^E=\frac{1}{\sqrt{2}}\sum_{slices}{\omega_{pix}\left(\,_{w}\lambda_l^m\tilde{Q}-i\,_{x}\lambda_l^m\tilde{U}\right)} 242 \f] 243 \f[ 244 a_{lm}^B=\frac{1}{\sqrt{2}}\sum_{slices}{\omega_{pix}\left(i\,_{x}\lambda_l^m\tilde{Q}+\,_{w}\lambda_l^m\tilde{U}\right)} 115 245 \f] 116 246 … … 129 259 Compute polarized Alm's as : 130 260 \f[ 131 a_{lm}^E=-\frac{1}{2}\sum_{slices}{\omega_{pix}\left( _{+}\lambda_l^m\tilde{P^+}+_{-}\lambda_l^m\tilde{P^-}\right)}132 \f] 133 \f[ 134 a_{lm}^B=\frac{i}{2}\sum_{slices}{\omega_{pix}\left( _{+}\lambda_l^m\tilde{P^+}-_{-}\lambda_l^m\tilde{P^-}\right)}261 a_{lm}^E=-\frac{1}{2}\sum_{slices}{\omega_{pix}\left(\,_{+}\lambda_l^m\tilde{P^+}+\,_{-}\lambda_l^m\tilde{P^-}\right)} 262 \f] 263 \f[ 264 a_{lm}^B=\frac{i}{2}\sum_{slices}{\omega_{pix}\left(\,_{+}\lambda_l^m\tilde{P^+}-\,_{-}\lambda_l^m\tilde{P^-}\right)} 135 265 \f] 136 266 … … 161 291 162 292 \f[ 163 b_m^q=-\frac{1}{\sqrt{2}}\sum_{l=|m|}^{lmax}{\left( _{w}\lambda_l^ma_{lm}^E-i_{x}\lambda_l^ma_{lm}^B\right) }164 \f] 165 \f[ 166 b_m^u=\frac{1}{\sqrt{2}}\sum_{l=|m|}^{lmax}{\left(i _{x}\lambda_l^ma_{lm}^E+_{w}\lambda_l^ma_{lm}^B\right) }293 b_m^q=-\frac{1}{\sqrt{2}}\sum_{l=|m|}^{lmax}{\left(\,_{w}\lambda_l^ma_{lm}^E-i\,_{x}\lambda_l^ma_{lm}^B\right) } 294 \f] 295 \f[ 296 b_m^u=\frac{1}{\sqrt{2}}\sum_{l=|m|}^{lmax}{\left(i\,_{x}\lambda_l^ma_{lm}^E+\,_{w}\lambda_l^ma_{lm}^B\right) } 167 297 \f] 168 298 */ … … 185 315 186 316 \f[ 187 b_m^+=-\sum_{l=|m|}^{lmax}{ _{+}\lambda_l^m \left( a_{lm}^E+ia_{lm}^B \right) }188 \f] 189 \f[ 190 b_m^-=-\sum_{l=|m|}^{lmax}{ _{+}\lambda_l^m \left( a_{lm}^E-ia_{lm}^B \right) }317 b_m^+=-\sum_{l=|m|}^{lmax}{\,_{+}\lambda_l^m \left( a_{lm}^E+ia_{lm}^B \right) } 318 \f] 319 \f[ 320 b_m^-=-\sum_{l=|m|}^{lmax}{\,_{+}\lambda_l^m \left( a_{lm}^E-ia_{lm}^B \right) } 191 321 \f] 192 322 */
Note:
See TracChangeset
for help on using the changeset viewer.