Changeset 3785 in Sophya for trunk/Cosmo/RadioBeam/syncube.cc
- Timestamp:
- Jun 16, 2010, 11:53:54 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Cosmo/RadioBeam/syncube.cc
r3783 r3785 44 44 #include "fiosinit.h" 45 45 46 47 46 #include "timing.h" 48 47 #include "ctimer.h" 48 49 #include "cubedef.h" 49 50 50 51 //---------------------------------------------------------------------------- … … 65 66 return 1; 66 67 } 67 68 //--- Parametres des lois de puissance en frequence69 double AmpPL1 = 1.; // amp max PowerLaw 270 double PLidx1 = -2.5; // index de la loi de puissance synchrotron71 double sigPLidx1 = 0.1; // Sigma de la variation (gaussienne) de index172 // Amplitude max de la 2eme composante en loi de puissance (tirage plat 0 ... AmpPL2)73 double AmpPL2 = 0.1; // amp max PowerLaw 274 double PLidx2 = -3.2;75 double sigPLidx2 = 0.15;76 68 77 69 // decodage arguments … … 101 93 cout << "syncube[1]: Input resolution doubled : " << inmap << endl; 102 94 103 sa_size_t NTet=256; 104 sa_size_t NPhi=256; 105 LocalMap<r_4> outmap(NPhi,NTet,60.,60.,110.,150.); 95 LocalMap<r_4> outmap(NPhi,NTheta,60.,60.,110.,150.); 106 96 for(int_4 kk=0; kk<outmap.NbPixels(); kk++) { 107 97 double theta, phi; // Theta, Phi en radians … … 110 100 } 111 101 112 TArray<r_4> omap(NPhi,NT et);113 double tet0 = Angle( 60.,Angle::Degree).ToRadian();114 double phi0 = Angle( 120.,Angle::Degree).ToRadian();115 double dtet = Angle( 60.,Angle::Degree).ToRadian()/(double)NTet;116 double dphi = Angle( 60.,Angle::Degree).ToRadian()/(double)NPhi;102 TArray<r_4> omap(NPhi,NTheta); 103 double tet0 = Angle(Theta0Degre,Angle::Degree).ToRadian(); 104 double phi0 = Angle(Phi0Degre,Angle::Degree).ToRadian(); 105 double dtet = Angle(ThetaSizeDegre,Angle::Degree).ToRadian()/(double)NTheta; 106 double dphi = Angle(PhiSizeDegre,Angle::Degree).ToRadian()/(double)NPhi; 117 107 for (sa_size_t j=0; j<omap.SizeY(); j++) { 118 108 double theta = j*dtet+tet0; … … 122 112 } 123 113 } 114 115 double mean, sigma; 116 MeanSigma(omap, mean, sigma); 117 cout << "syncube[2] omap : Mean=" << mean << " Sigma=" << sigma << " Jy - Sizes:" << endl; 118 omap.Show(); 119 124 120 // Sph2Sph(inmap,outmap); 125 121 126 cout << "syncube[2]: Output rectangular map computed " << outmap << endl;127 122 if (narg > 3) { 128 123 string ppfname = arg[3]; … … 134 129 } 135 130 136 sa_size_t NFreq = 128; 137 TArray<r_4> ocube(NPhi,NTet,NFreq); 131 TArray<r_4> ocube(NPhi,NTheta,NFreq); 138 132 139 133 double infreq = 400.; // Frequence carte input en MHz 140 double freq0 = 840.; // Freq0 du cube de sortie141 double dfreq = 1.;134 double freq0 = Freq0MHz; // Freq0 du cube de sortie 135 double dfreq = FreqSizeMHz/(double)NFreq; 142 136 143 137 ThSDR48RandGen rg; … … 162 156 // On sauve le cube de sortie 163 157 { 164 cout << " syncube[ 2]: Saving output cube to -> " << outname << endl;158 cout << " syncube[4]: Saving output cube to -> " << outname << endl; 165 159 POutPersist poc(outname); 166 160 poc << ocube; … … 170 164 } 171 165 catch (PThrowable& exc) { 172 cerr << " treccyl.cc catched Exception " << exc.Msg() << endl;166 cerr << " syncube.cc catched Exception " << exc.Msg() << endl; 173 167 rc = 77; 174 168 }
Note:
See TracChangeset
for help on using the changeset viewer.