Changeset 1553 in Sophya for trunk/SophyaPI/PIext
- Timestamp:
- Jun 27, 2001, 12:22:19 PM (24 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaPI/PIext/nomskymapadapter.cc
r1321 r1553 215 215 } 216 216 217 // -- Fonction pour convertir un X,Y en Theta-Phi sur projection MolleWeide -- 218 char * _SphMollweideProj_XY2ThetaPhi(P2DArrayAdapter * aa, int ix, int iy); 217 219 218 220 /* --Methode-- */ … … 228 230 TMatrix<T> * mtx = new TMatrix<T>(nr, nc); 229 231 Project_Mol(*mtx); 230 return (new POTMatrixAdapter<T>(mtx, true) ); 232 POTMatrixAdapter<T> * potma = new POTMatrixAdapter<T>(mtx, true); 233 potma->SetInfoStringFunction(_SphMollweideProj_XY2ThetaPhi); 234 return ( potma ); 231 235 } 232 236 … … 271 275 // teta = (0.5-yd)*M_PI; 272 276 for(c=0; c<nc; c++) { 273 xa = (r_8)(c+0.5)/(r_8)nc-0.5; 277 xa = (r_8)(c+0.5)/(r_8)nc-0.5; 274 278 phi = xa*facteur+M_PI; 275 279 if ( (phi <= 2*M_PI) && (phi >= 0.) ) { … … 279 283 } 280 284 } 285 } 286 287 static char m_buff[128]; 288 char * _SphMollweideProj_XY2ThetaPhi(P2DArrayAdapter * aa, int ix, int iy) 289 { 290 r_8 xa, yd, teta,phi, facteur; 291 int_4 nl = aa->YSize(); 292 int_4 nc = aa->XSize(); 293 int l, c; 294 aa->IJ2xy(ix, iy, c, l); 295 yd = (r_8)(l+0.5)/(r_8)nl-0.5; 296 facteur=2.*M_PI/sin(acos((double)yd*2)); 297 teta = (yd+0.5)*Pi; 298 xa = (r_8)(c+0.5)/(r_8)nc-0.5; 299 phi = xa*facteur+M_PI; 300 if ( (phi <= 2*M_PI) && (phi >= 0.) ) 301 sprintf(m_buff,"(l,b=%5.1f,%5.1f)", 90.-teta*180./M_PI, phi*180./M_PI); 302 else 303 sprintf(m_buff,"(l,b=?,?)", teta*180./M_PI, phi*180./M_PI); 304 305 return (m_buff); 281 306 } 282 307
Note:
See TracChangeset
for help on using the changeset viewer.