Changeset 3191 in Sophya for trunk/Cosmo/RadioBeam/multicyl.cc
- Timestamp:
- Mar 19, 2007, 9:29:05 AM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Cosmo/RadioBeam/multicyl.cc
r3163 r3191 84 84 void MultiCylinders::ReconstructSourceBox(int halfny, double stepangy) 85 85 { 86 87 86 ReconstructCylinderPlaneS(true); 88 87 TMatrix< complex<r_4> > & mtx = GetCylinder(0).getRecSrcPlane(); 89 88 // boite 3D X:angX, Y:angY , Z: freq 90 89 sa_size_t sz[5] = {0,0,0,0,0}; 91 sz[0] = mtx.NCols(); 90 // int nx=mtx.NCols(); // uncomment to go back to nxbin = nantenna 91 int nx=256; 92 sz[0] = nx; 92 93 sz[1] = halfny*2+1; 93 94 sz[2] = mtx.NRows(); … … 113 114 114 115 double facl = - 2*M_PI*frq*cyl.getCylinderYPos(); // attention au signe - 116 // double facl_x = - 2*M_PI*cyl.getCylinderXPos()/cyl.Da/(double)cyl.NR; 117 double facl_x = - 2*M_PI*cyl.getCylinderXPos()/cyl.Da; 115 118 double dphi; 116 119 complex< r_4 > phasefactor; 117 120 int jyy = 0; 118 121 for(int jy=-halfny; jy<=halfny; jy++) { // Loop over Y angular steps 119 double dphi = facl * sin( (double)jy*stepangy ); 120 phasefactor = complex< r_4 > ((r_4) cos(dphi) , (r_4) sin(dphi)); 121 for(int ix=0; ix<sz[0]; ix++) { // Loop over AngX directions 122 for(int ix=0; ix<nx; ix++) { // Loop over AngX directions 123 double dphi = facl * sin( (double)jy*stepangy ) 124 + facl_x*(double(ix)/double(nx)-1./2.); 125 phasefactor = complex< r_4 > ((r_4) cos(dphi) , (r_4) sin(dphi)); 122 126 // sur recp : index ligne -> frequence , index colonne -> angX , 123 box(ix, jyy, kf) += recp(kf, ix)*phasefactor; 127 int ixx=(int)(ix*(double)cyl.NR/double(nx)); 128 box(ix, jyy, kf) += recp(kf, ixx)*phasefactor; 124 129 } // 125 130 jyy++;
Note:
See TracChangeset
for help on using the changeset viewer.