Changeset 3933 in Sophya for trunk/Cosmo
- Timestamp:
- Dec 24, 2010, 1:22:04 AM (15 years ago)
- Location:
- trunk/Cosmo/RadioBeam
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Cosmo/RadioBeam/mdish.cc
r3932 r3933 183 183 SetThetaPhiRange(); 184 184 SetRespHisNBins(); 185 SetBeamNSamples(); 185 186 SetPrtLevel(); 186 187 mcnt_=0; … … 198 199 h2w_.SetZeroBin(0.,0.); 199 200 200 double dold = dishes_[0].D /lambda_;201 double dolx = dishes_[0].D x/lambda_;202 double doly = dishes_[0].D y/lambda_;201 double dold = dishes_[0].Diameter()/lambda_; 202 double dolx = dishes_[0].DiameterX()/lambda_; 203 double doly = dishes_[0].DiameterY()/lambda_; 203 204 204 205 Four2DResponse rd(2, dold, dold); … … 289 290 { 290 291 // cout << " MultiDish::CumulResp() theta=" << theta << " phi=" << phi << endl; 291 292 /* 292 293 double dx = h2w_.WBinX()/5; 293 294 double dy = h2w_.WBinY()/5; 294 295 int nbx = DeuxPI*rd.Dx()/dx+1; 295 296 int nby = DeuxPI*rd.Dy()/dy+1; 297 */ 298 double dx,dy; 299 int nbx=beamnx_; 300 int nby=beamny_; 296 301 dx = DeuxPI*rd.Dx()/(double)nbx; 297 302 dy = DeuxPI*rd.Dy()/(double)nby; -
trunk/Cosmo/RadioBeam/mdish.h
r3932 r3933 129 129 inline void SetRespHisNBins(int nx=128, int ny=128) 130 130 { nx_=nx; ny_=ny; } 131 inline void SetBeamNSamples(int nx=128, int ny=128) 132 { beamnx_=nx; beamny_=ny; } 133 131 134 Histo2D GetResponse(); 132 135 … … 145 148 double thetamax_, phimax_; 146 149 int ntet_,nphi_; 147 int nx_, ny_; 150 int nx_, ny_; // nb de bins de l'histo de reponse 151 int beamnx_, beamny_; // nb de points d'echantillonnage du beam 152 148 153 // Histo2D h2w_, h2cnt_; 149 154 QHis2D h2w_; -
trunk/Cosmo/RadioBeam/repicon.cc
r3932 r3933 52 52 << " -D DishDiameter (default=5 m) \n" 53 53 << " -lmax array extension (default=100 m ) for response calculation kmax \n" 54 << " -repnxy Nx,Ny (default=200,200) ResponseTable binning \n" 55 << " -beamnxy Nx,Ny (default=200,200) Beam sampling \n" 54 56 << " -rot ThetaMaxDeg,NTheta,PhiMaxDeg,NPhi (default NO-rotate/pointing -> 23,10,30,15 ) \n" 55 57 << " -prt PrtLev,PrtModulo (default=0,10) \n" … … 87 89 int nphi=15; 88 90 bool fgpoint=false; 89 91 int NRX=200; 92 int NRY=200; 93 int NBX=200; 94 int NBY=200; 95 90 96 int ka=1; 91 97 while (ka<(narg-1)) { … … 101 107 else if (strcmp(arg[ka],"-lmax")==0) { 102 108 LMAX=atof(arg[ka+1]); fgLMAXfixed=true; ka+=2; 109 } 110 else if (strcmp(arg[ka],"-repnxy")==0) { 111 sscanf(arg[ka+1],"%d,%d",&NRX,&NRY); ka+=2; 112 } 113 else if (strcmp(arg[ka],"-beamnxy")==0) { 114 sscanf(arg[ka+1],"%d,%d",&NBX,&NBY); ka+=2; 103 115 } 104 116 else if (strcmp(arg[ka],"-rot")==0) { … … 124 136 try { // exception handling try bloc at top level 125 137 cout << " ==== repicon.cc program , (u,v) plane response ==== " << endl; 138 139 H21Conversions conv; 140 double LAMBDA=0.357 ; // 21 cm at z=0.7 141 conv.setRedshift(z_Redshift); 142 LAMBDA = conv.getLambda(); 126 143 127 144 double Eta=0.95; 128 145 double cylW=12.; // Largeur des cylindres 129 double cylRL= 0.5; // Longeur des elements de reception le long du cylindre146 double cylRL=2*LAMBDA; // Longeur des elements de reception le long du cylindre 130 147 double etaW=0.95; // Efficacite de couverture en largeur 131 148 double etaRL=0.9; // Efficacite de couverture le long du cylindre 132 149 133 int cnt=0;134 135 150 vector<Dish> vdishes; 136 151 cout << " repicon[1] : creating dish vector/ MultiDish for configuration: " << config << endl; … … 146 161 } 147 162 else if (config=="f3cyl") { 148 cylW=10.; cylRL= 0.5;149 vdishes=CreateFilledCylConfig(3, 128, cylW, cylRL, etaW, etaRL, true);163 cylW=10.; cylRL=2*LAMBDA; 164 vdishes=CreateFilledCylConfig(3, 92, cylW, cylRL, etaW, etaRL, true); 150 165 } 151 166 else if (config=="f3cylp") { 152 cylW=10.; cylRL= 0.5;153 vdishes=CreateFilledCylConfig(3, 128, cylW, cylRL, etaW, etaRL, false);167 cylW=10.; cylRL=2*LAMBDA; 168 vdishes=CreateFilledCylConfig(3, 92, cylW, cylRL, etaW, etaRL, false); 154 169 } 155 170 else if (config=="f8cyl") { 156 cylW=12.; cylRL= 0.5;157 vdishes=CreateFilledCylConfig(8, 1 92, cylW, cylRL, etaW, etaRL, true);171 cylW=12.; cylRL=2*LAMBDA; 172 vdishes=CreateFilledCylConfig(8, 160, cylW, cylRL, etaW, etaRL, true); 158 173 } 159 174 else if (config=="f8cylp") { 160 cylW=12.; cylRL= 0.5;161 vdishes=CreateFilledCylConfig(8, 1 92, cylW, cylRL, etaW, etaRL, false);175 cylW=12.; cylRL=2*LAMBDA; 176 vdishes=CreateFilledCylConfig(8, 160, cylW, cylRL, etaW, etaRL, false); 162 177 } 163 178 else if (config=="confA") { … … 190 205 return 99; 191 206 } 192 193 H21Conversions conv; 194 double LAMBDA=0.357 ; // 21 cm at z=0.7 195 conv.setRedshift(z_Redshift); 196 LAMBDA = conv.getLambda(); 197 207 198 208 double Dol = LMAX/LAMBDA; 199 209 bool fgnoauto = true; 200 int NRX=200;201 int NRY=200;202 210 203 211 cout << " repicon[1] : Lambda=" << LAMBDA << " LMAX= " << LMAX << " NDishes=" << vdishes.size() … … 207 215 mdish.SetPrtLevel(prtlev,prtmod); 208 216 mdish.SetRespHisNBins(NRX,NRY); 209 217 mdish.SetBeamNSamples(NBX,NBY); 210 218 if (fgpoint) { 211 219 cout << " repicon[1.b] : activating pointing , ThetaMaxDeg=" << thetamxdeg << " NTheta=" << nteta 212 << " PhiMaxDeg= " << phimxdeg << " NPhi " << nphi << endl;220 << " PhiMaxDeg= " << phimxdeg << " NPhi=" << nphi << endl; 213 221 mdish.SetThetaPhiRange(Angle(thetamxdeg,Angle::Degree).ToRadian(),nteta,Angle(phimxdeg,Angle::Degree).ToRadian(), nphi); 214 222 }
Note:
See TracChangeset
for help on using the changeset viewer.