Changeset 3769 in Sophya for trunk/Cosmo/RadioBeam/pknoise.cc
- Timestamp:
- May 7, 2010, 6:44:43 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Cosmo/RadioBeam/pknoise.cc
r3756 r3769 55 55 }; 56 56 57 //----------------------------------------------------------------------------------- 58 // Fonctions de creation de configuration d'interfero avec des dishs 59 //----------------------------------------------------------------------------------- 60 61 vector<Dish> CreateFilledSqConfig(int nd, double Ddish=5., double Eta=0.9); 62 vector<Dish> CreateSemiFilledSqConfig(int nd, double Ddish=5., double Eta=0.9); 63 vector<Dish> CreateConfigA(double Ddish=5., double Eta=0.9); 64 vector<Dish> CreateConfigB(double Ddish=5., double Eta=0.9); 65 vector<Dish> CreateConfigC(double Ddish=5., double Eta=0.9); 66 vector<Dish> CreateConfigD(double Ddish=5., double Eta=0.9); 67 68 69 vector<Dish> CreateFilledCylConfig(int ncyl, int nRL, double cylW=10., double cylRL=0.5, 70 double etaW=0.9, double etaRL=0.9, bool fgscid=true); 71 72 73 //------------------------------------------------------------------------- 74 // ------------------ MAIN PROGRAM ------------------------------ 75 //------------------------------------------------------------------------- 57 76 int main(int narg, const char* arg[]) 58 77 { … … 115 134 double Eta=0.95; 116 135 int cnt=0; 117 vector<Dish> vdplein; 118 for(int i=0; i<20; i++) 119 for(int j=0; j<20; j++) { 120 cnt++; 121 vdplein.push_back(Dish(i*20+j+1, i*Ddish, j*Ddish, Eta*Ddish)); 122 } 123 vector<Dish> vdsparse; 124 vector<Dish> vdsparseD7; 125 126 cnt=0; 127 for(int i=0; i<=18; i++) { 128 cnt++; vdsparse.push_back(Dish(cnt, i*Ddish,0.,Eta*Ddish)); 129 vdsparseD7.push_back(Dish(cnt, i*Ddish2,0.,Eta*Ddish2)); 130 } 131 for(int i=-18; i<=18; i++) { 132 if (i==0) continue; 133 cnt++; vdsparse.push_back(Dish(cnt, 0.,i*Ddish,Eta*Ddish)); 134 vdsparseD7.push_back(Dish(cnt, 0.,i*Ddish2,Eta*Ddish2)); 135 } 136 for(int i=0; i<4; i++) { 137 cnt++; vdsparse.push_back(Dish(cnt, (3+2*i)*Ddish,(3+2*i)*Ddish,Eta*Ddish)); 138 vdsparseD7.push_back(Dish(cnt, (3+2*i)*Ddish2,(3+2*i)*Ddish2,Eta*Ddish2)); 139 cnt++; vdsparse.push_back(Dish(cnt, (3+2*i)*Ddish,-(3+2*i)*Ddish,Eta*Ddish)); 140 vdsparseD7.push_back(Dish(cnt, (3+2*i)*Ddish2,-(3+2*i)*Ddish2,Eta*Ddish2)); 141 /* 142 if ((i>0)||(j>0)) { 143 cnt++; vdsparse.push_back(Dish(cnt, (5+3*i)*Ddish,(3+2*j)*Ddish,Eta*Ddish)); 144 cnt++; vdsparse.push_back(Dish(cnt, (5+3*i)*Ddish,-(3+2*j)*Ddish,Eta*Ddish)); 145 } 146 */ 147 } 148 149 150 vector<Dish> vcylplein, vcylplP; 151 cnt=0; 136 vector<Dish> vdplein = CreateFilledSqConfig(20, Ddish, Eta); 137 vector<Dish> vdpl64 = CreateFilledSqConfig(8, Ddish, Eta); 138 139 vector<Dish> vdsparse = CreateConfigA(Ddish, Eta); 140 vector<Dish> vdsparseD7 = CreateConfigA(Ddish2, Eta); 141 // vector<Dish> vdsparseB = CreateConfigB(Ddish, Eta); 142 vector<Dish> vdsparseB = CreateConfigB(Ddish, Eta); 143 vector<Dish> vdsparseC = CreateConfigC(Ddish, Eta); 144 145 152 146 double cylW=12.; // Largeur des cylindres 153 147 double cylRL=0.5; // Longeur des elements de reception le long du cylindre 154 for(int i=0; i<8; i++) 155 for(int j=0; j<192; j++) { 156 vcylplein.push_back(Dish(i+1, i*cylW, j*cylRL, 0.9*cylW, 0.9*cylRL)); 157 cnt++; vcylplP.push_back(Dish(cnt, i*cylW, j*cylRL, 1.*cylW, 1.*cylRL)); 158 } 159 vector<Dish> v2cyl, v2cylP; 160 cnt=0; 161 for(int i=0; i<2; i++) 162 for(int j=0; j<32; j++) { 163 v2cyl.push_back(Dish(i+1, i*25, j*cylRL, 0.9*9., 0.9*cylRL)); 164 cnt++; v2cylP.push_back(Dish(cnt, i*25, j*cylRL, 0.9*9., 1.*cylRL)); 165 } 148 double etaW=0.95; // Efficacite de couverture en largeur 149 double etaRL=0.9; // Efficacite de couverture le long du cylindre 150 vector<Dish> vcylplein = CreateFilledCylConfig(8, 192, cylW, cylRL, etaW, etaRL, true); 151 vector<Dish> vcylplP = CreateFilledCylConfig(8, 192, cylW, cylRL, etaW, etaRL, false); 152 153 cylW=10.; 154 cylRL=0.5; 155 vector<Dish> v3cyl = CreateFilledCylConfig(3, 128, cylW, cylRL, etaW, etaRL, true); 156 vector<Dish> v3cylP = CreateFilledCylConfig(3, 128, cylW, cylRL, etaW, etaRL, false); 157 cylW=25.; 158 cylRL=0.5; 159 etaW=0.3; 160 etaRL=0.9; 161 vector<Dish> v2cyl = CreateFilledCylConfig(2, 32, cylW, cylRL, etaW, etaRL, true); 162 vector<Dish> v2cylP = CreateFilledCylConfig(2, 32, cylW, cylRL, etaW, etaRL, false); 163 166 164 double LMAX = D; 167 165 bool fgnoauto = true; 168 int NRX=1 60;169 int NRY=1 60;166 int NRX=100; 167 int NRY=100; 170 168 171 169 MultiDish mdfill(lambda, LMAX, vdplein, fgnoauto); … … 174 172 PrtTim("Apres mdfill.GetResponse()"); 175 173 174 MultiDish mdfill64(lambda, LMAX, vdpl64, fgnoauto); 175 mdfill64.SetRespHisNBins(NRX,NRY); 176 { 177 Histo2D hpos=mdfill64.PosDist(10,10,10.*Ddish); 178 po << PPFNameTag("posf64") << hpos; 179 } 180 Histo2D hrf64 = mdfill64.GetResponse(); 181 PrtTim("Apres mdfill64.GetResponse()"); 182 176 183 MultiDish mdsparse(lambda, LMAX, vdsparse, fgnoauto); 177 mdsparse.SetThetaPhiRange(M_PI/ 4.,16, M_PI/4., 16);184 mdsparse.SetThetaPhiRange(M_PI/6.,12, M_PI/6., 12); 178 185 mdsparse.SetRespHisNBins(NRX,NRY); 186 { 187 Histo2D hpos=mdsparse.PosDist(22,22,22.*Ddish);; 188 po << PPFNameTag("posspA") << hpos; 189 } 179 190 Histo2D hrsp = mdsparse.GetResponse(); 180 191 PrtTim("Apres mdsparse.GetResponse()"); 181 192 182 MultiDish mdsparsefp(lambda, LMAX, vdsparse, fgnoauto); 183 mdsparsefp.SetRespHisNBins(NRX,NRY); 184 Histo2D hrspfp = mdsparsefp.GetResponse(); 185 PrtTim("Apres mdsparsefp.GetResponse()"); 186 193 /* 187 194 MultiDish mdsparseD7(lambda, LMAX, vdsparseD7, fgnoauto); 188 195 mdsparseD7.SetThetaPhiRange(M_PI/4.,16, M_PI/4., 16); … … 190 197 Histo2D hrspd7 = mdsparseD7.GetResponse(); 191 198 PrtTim("Apres mdsparseD7.GetResponse()"); 192 199 */ 200 MultiDish mdsparseB(lambda, LMAX, vdsparseB, fgnoauto); 201 mdsparseB.SetThetaPhiRange(M_PI/6.,12, M_PI/6., 12); 202 mdsparseB.SetRespHisNBins(NRX,NRY); 203 { 204 Histo2D hpos=mdsparseB.PosDist(15,15,15.*Ddish); 205 po << PPFNameTag("posspB") << hpos; 206 } 207 Histo2D hrspB = mdsparseB.GetResponse(); 208 PrtTim("Apres mdsparseB.GetResponse()"); 209 210 MultiDish mdsparseC(lambda, LMAX, vdsparseC, fgnoauto); 211 mdsparseC.SetThetaPhiRange(M_PI/6.,12, M_PI/6., 12); 212 mdsparseC.SetRespHisNBins(NRX,NRY); 213 { 214 Histo2D hpos=mdsparseC.PosDist(20,20,20.*Ddish); 215 po << PPFNameTag("posspC") << hpos; 216 } 217 Histo2D hrspC = mdsparseC.GetResponse(); 218 PrtTim("Apres mdsparseC.GetResponse()"); 219 220 MultiDish mdsparseBfp(lambda, LMAX, vdsparseB, fgnoauto); 221 mdsparseBfp.SetRespHisNBins(NRX,NRY); 222 Histo2D hrspBfp = mdsparseBfp.GetResponse(); 223 PrtTim("Apres mdsparseBfp.GetResponse()"); 224 225 193 226 MultiDish mcylfill(lambda, LMAX, vcylplein, fgnoauto); 194 227 mcylfill.SetRespHisNBins(NRX,NRY); … … 198 231 mcylfillP.SetRespHisNBins(NRX,NRY); 199 232 Histo2D hfcylP = mcylfillP.GetResponse(); 233 PrtTim("Apres mcylfillP.GetResponse()"); 234 235 MultiDish md3cyl(lambda, LMAX, v3cyl, fgnoauto); 236 md3cyl.SetRespHisNBins(NRX,NRY); 237 Histo2D h3cyl = md3cyl.GetResponse(); 238 PrtTim("Apres md3cyl.GetResponse()"); 239 MultiDish md3cylP(lambda, LMAX, v3cylP, fgnoauto); 240 md3cylP.SetRespHisNBins(NRX,NRY); 241 Histo2D h3cylP = md3cylP.GetResponse(); 242 PrtTim("Apres md3cylP.GetResponse()"); 200 243 201 244 MultiDish md2cyl(lambda, LMAX, v2cyl, fgnoauto); 202 245 md2cyl.SetRespHisNBins(NRX,NRY); 203 246 Histo2D h2cyl = md2cyl.GetResponse(); 247 PrtTim("Apres md2cyl.GetResponse()"); 204 248 MultiDish md2cylP(lambda, LMAX, v2cylP, fgnoauto); 205 249 md2cylP.SetRespHisNBins(NRX,NRY); 206 250 Histo2D h2cylP = md2cylP.GetResponse(); 251 PrtTim("Apres md2cylP.GetResponse()"); 207 252 208 253 po << PPFNameTag("mfill") << hrfill; 254 po << PPFNameTag("mfill64") << hrf64; 209 255 po << PPFNameTag("mspars") << hrsp; 210 po << PPFNameTag("msparsfp") << hrspfp; 211 po << PPFNameTag("msparsd7") << hrspd7; 256 // po << PPFNameTag("msparsd7") << hrspd7; 257 po << PPFNameTag("msparsB") << hrspB; 258 po << PPFNameTag("msparsC") << hrspC; 259 po << PPFNameTag("msparsBfp") << hrspBfp; 212 260 po << PPFNameTag("mcylf") << hfcyl; 261 po << PPFNameTag("m3cyl") << h3cyl; 213 262 po << PPFNameTag("m2cyl") << h2cyl; 214 263 po << PPFNameTag("mcylfP") << hfcylP; 264 po << PPFNameTag("m3cylP") << h3cylP; 215 265 po << PPFNameTag("m2cylP") << h2cylP; 216 266 … … 219 269 220 270 Four2DRespTable mdf(hrfill, Dol); 271 Four2DRespTable mdf64(hrf64, Dol); 221 272 Four2DRespTable mds(hrsp, Dol); 222 Four2DRespTable mdsfp(hrspfp, Dol); 223 Four2DRespTable mdsd7(hrspd7, Dol); 273 // Four2DRespTable mdsfp(hrspfp, Dol); 274 // Four2DRespTable mdsd7(hrspd7, Dol); 275 Four2DRespTable mdsB(hrspB, Dol); 276 Four2DRespTable mdsC(hrspC, Dol); 277 Four2DRespTable mdsBfp(hrspBfp, Dol); 224 278 225 279 Four2DRespTable mcylf(hfcyl, Dol); 280 Four2DRespTable m3cyl(h3cyl, Dol); 226 281 Four2DRespTable m2cyl(h2cyl, Dol); 227 282 Four2DRespTable mcylfP(hfcylP, Dol); 283 Four2DRespTable m3cylP(h3cylP, Dol); 228 284 Four2DRespTable m2cylP(h2cylP, Dol); 229 285 … … 244 300 245 301 cout << " 4/ Computing Noise P(k) using PkNoiseCalculator ..." << endl; 246 #define NCONFIG 10 247 Four2DResponse* f2rep[NCONFIG]={&dish, &dish2, &mdf, &mds, &mdsfp, &mdsd7, &mcylf, &mcylfP, &m2cyl, &m2cylP}; 248 const char* tits[NCONFIG]={"Dish100m", "Dish200m","F20x20Dish5m","S63Dish5m","S63Dish5mFP","S63Dish7m", 249 "F8Cyl","F8CylP","BiCyl","BiCylP"}; 250 const char* tags[NCONFIG]={"noiseD", "noiseD2","noisemdf","noisemds","noisemdsfp","noisemdsd7", 251 "noisefcyl","noisefcylP","noise2cyl","noise2cylP"}; 302 #define NCONFIG 14 303 Four2DResponse* f2rep[NCONFIG]={&dish, &dish2, &mdf, &mdf64, &mds, &mdsB, &mdsC, &mdsBfp, 304 &mcylf, &mcylfP, &m3cyl, &m3cylP, &m2cyl, &m2cylP}; 305 const char* tits[NCONFIG]={"Dish100m", "Dish200m","F20x20Dish5m","F8x8Dish5m", 306 "S68Dish5m","S72Dish5m","S129CDish5m","S72BDish5mFP", 307 "F8Cyl","F8CylP","F3Cyl","F3CylP","BiCyl","BiCylP"}; 308 const char* tags[NCONFIG]={"noiseD", "noiseD2","noisemdf","noisemdf64","noisemds", 309 "noisemdsB","noisemdsC","noisemdsBfp", 310 "noisefcyl","noisefcylP","noise3cyl","noise3cylP", "noise2cyl","noise2cylP"}; 252 311 vector<int> nbdishes; 253 312 nbdishes.push_back(1); 254 313 nbdishes.push_back(1); 255 314 nbdishes.push_back(vdplein.size()); 315 nbdishes.push_back(vdpl64.size()); 256 316 nbdishes.push_back(vdsparse.size()); 257 nbdishes.push_back(vdsparse.size()); 258 nbdishes.push_back(vdsparseD7.size()); 317 // nbdishes.push_back(vdsparse.size()); 318 nbdishes.push_back(vdsparseB.size()); 319 nbdishes.push_back(vdsparseC.size()); 320 nbdishes.push_back(vdsparseB.size()); 259 321 nbdishes.push_back(vcylplein.size()); 260 322 nbdishes.push_back(vcylplP.size()); 323 nbdishes.push_back(v3cyl.size()); 324 nbdishes.push_back(v3cylP.size()); 261 325 nbdishes.push_back(v2cyl.size()); 262 326 nbdishes.push_back(v2cylP.size()); … … 288 352 289 353 354 //----------------------------------------------------------------------------------- 355 //----------------------------------------------------------------------------------- 356 // Fonctions de creation de configuration d'interfero avec des dishs 357 //----------------------------------------------------------------------------------- 358 /* --Fonction -- */ 359 vector<Dish> CreateFilledSqConfig(int nd, double Ddish, double Eta) 360 { 361 vector<Dish> vd; 362 int cnt=0; 363 for(int i=0; i<nd; i++) 364 for(int j=0; j<nd; j++) { 365 cnt++; 366 vd.push_back(Dish(cnt, i*Ddish, j*Ddish, Eta*Ddish)); 367 } 368 cout << ">>>CreateFilledSqConfig(" << nd << "," << Ddish << "," << Eta << ") ---> NDishes=" << vd.size() << endl; 369 370 return vd; 371 } 372 373 /* --Fonction -- */ 374 vector<Dish> CreateSemiFilledSqConfig(int nd, double Ddish, double Eta) 375 { 376 vector<Dish> vd; 377 int cnt=0; 378 int fgst=1; 379 for(int i=0; i<nd; i++) { 380 fgst = (fgst+1)%2; 381 for(int j=0; j<nd; j++) { 382 if (j%2==fgst) continue; 383 cnt++; 384 vd.push_back(Dish(cnt, i*Ddish, j*Ddish, Eta*Ddish)); 385 } 386 } 387 cout << ">>>CreateSemiFilledSqConfig(" << nd << "," << Ddish << "," << Eta << ") ---> NDishes=" << vd.size() << endl; 388 389 return vd; 390 } 391 392 /* --Fonction -- */ 393 vector<Dish> CreateConfigA(double Ddish, double Eta) 394 { 395 vector<Dish> vd; 396 int cnt=0; 397 for(int i=0; i<18; i++) { 398 cnt++; vd.push_back(Dish(cnt, i*Ddish,0.,Eta*Ddish)); 399 cnt++; vd.push_back(Dish(cnt, i*Ddish, 17.*Ddish,Eta*Ddish)); 400 if ((i>0)&&(i<17)) { 401 cnt++; vd.push_back(Dish(cnt,0.,i*Ddish,Eta*Ddish)); 402 cnt++; vd.push_back(Dish(cnt,17.*Ddish,i*Ddish,Eta*Ddish)); 403 } 404 } 405 cout << ">>>CreateConfigA(" << Ddish << "," << Eta << ") ---> NDishes=" << vd.size() << endl; 406 return vd; 407 } 408 409 /* --Fonction -- */ 410 vector<Dish> CreateConfigB(double Ddish, double Eta) 411 { 412 vector<Dish> vd; 413 int cnt=0; 414 /* 415 for(int i=0; i<13; i++) { 416 cnt++; vd.push_back(Dish(cnt, i*Ddish,0.,Eta*Ddish)); 417 cnt++; vd.push_back(Dish(cnt, i*Ddish, 12.*Ddish,Eta*Ddish)); 418 if ((i>0)&&(i<12)) { 419 cnt++; vd.push_back(Dish(cnt,0.,i*Ddish,Eta*Ddish)); 420 cnt++; vd.push_back(Dish(cnt,12.*Ddish,i*Ddish,Eta*Ddish)); 421 } 422 } 423 for(int i=0; i<5; i++) { 424 cnt++; vd.push_back(Dish(cnt, (i+4)*Ddish,4.*Ddish,Eta*Ddish)); 425 cnt++; vd.push_back(Dish(cnt, (i+4)*Ddish, 8.*Ddish,Eta*Ddish)); 426 if ((i>0)&&(i<4)) { 427 cnt++; vd.push_back(Dish(cnt,4.*Ddish,(i+4)*Ddish,Eta*Ddish)); 428 cnt++; vd.push_back(Dish(cnt,8.*Ddish,(i+4)*Ddish,Eta*Ddish)); 429 } 430 } 431 */ 432 for(int i=0; i<11; i++) { 433 cnt++; vd.push_back(Dish(cnt, i*Ddish,0.,Eta*Ddish)); 434 cnt++; vd.push_back(Dish(cnt, i*Ddish, 10.*Ddish,Eta*Ddish)); 435 if ((i>0)&&(i<10)) { 436 cnt++; vd.push_back(Dish(cnt,0.,i*Ddish,Eta*Ddish)); 437 cnt++; vd.push_back(Dish(cnt,10.*Ddish,i*Ddish,Eta*Ddish)); 438 } 439 } 440 for(int i=0; i<7; i++) { 441 cnt++; vd.push_back(Dish(cnt, (i+2)*Ddish, 2.*Ddish,Eta*Ddish)); 442 cnt++; vd.push_back(Dish(cnt, (i+2)*Ddish, 8.*Ddish,Eta*Ddish)); 443 if ((i>0)&&(i<6)) { 444 cnt++; vd.push_back(Dish(cnt,2.*Ddish,(i+2)*Ddish,Eta*Ddish)); 445 cnt++; vd.push_back(Dish(cnt,8.*Ddish,(i+2)*Ddish,Eta*Ddish)); 446 } 447 } 448 for(int i=0; i<3; i++) { 449 cnt++; vd.push_back(Dish(cnt, (i+4)*Ddish, 4.*Ddish,Eta*Ddish)); 450 cnt++; vd.push_back(Dish(cnt, (i+4)*Ddish, 6.*Ddish,Eta*Ddish)); 451 if ((i>0)&&(i<2)) { 452 cnt++; vd.push_back(Dish(cnt,4.*Ddish,(i+4)*Ddish,Eta*Ddish)); 453 cnt++; vd.push_back(Dish(cnt,6.*Ddish,(i+4)*Ddish,Eta*Ddish)); 454 } 455 } 456 457 458 cout << ">>>CreateConfigB(" << Ddish << "," << Eta << ") ---> NDishes=" << vd.size() << endl; 459 return vd; 460 } 461 462 463 /* --Fonction -- */ 464 vector<Dish> CreateConfigC(double Ddish, double Eta) 465 { 466 vector<int_4> lesx, lesy; 467 468 int max = 16; 469 for(int i=0; i<4; i++) 470 for(int j=0; j<4; j++) { 471 lesx.push_back(i); lesy.push_back(j); 472 lesx.push_back(max-i); lesy.push_back(max-j); 473 lesx.push_back(i); lesy.push_back(max-j); 474 lesx.push_back(max-i); lesy.push_back(j); 475 } 476 477 for(int i=5; i<12; i+=2) { 478 lesx.push_back(i); lesy.push_back(0); 479 lesx.push_back(i); lesy.push_back(max); 480 lesx.push_back(0); lesy.push_back(i); 481 lesx.push_back(max); lesy.push_back(i); 482 } 483 484 for(int i=4; i<=12; i+=2) 485 for(int j=4; j<=12; j+=2) { 486 lesx.push_back(i); lesy.push_back(j); 487 } 488 489 for(int i=5; i<=11; i+=2) { 490 lesx.push_back(i); lesy.push_back(4); 491 lesx.push_back(i); lesy.push_back(max-4); 492 lesx.push_back(4); lesy.push_back(i); 493 lesx.push_back(max-4); lesy.push_back(i); 494 } 495 496 EnumeratedSequence esx,esy; 497 esx = 2,5; 498 esy = 5,2; 499 500 for(int k=0; k<esx.Size(); k++) { 501 int_4 ix=esx.Value(k); 502 int_4 iy=esy.Value(k); 503 504 lesx.push_back(ix); lesy.push_back(iy); 505 lesx.push_back(max-ix); lesy.push_back(iy); 506 lesx.push_back(ix); lesy.push_back(max-iy); 507 lesx.push_back(max-ix); lesy.push_back(max-iy); 508 } 509 cout << "CreateConfigC/Debug: -checkSize/lesx=" << lesx.size() << " -Check/lesy=" << lesy.size() << endl; 510 511 vector<Dish> vd; 512 int cnt=0; 513 for(size_t i=0; i<lesx.size(); i++) { 514 cnt++; vd.push_back(Dish(cnt, ((double)lesx[i])*Ddish,((double)lesy[i])*Ddish,Eta*Ddish)); 515 } 516 517 cout << ">>>CreateConfigC(" << Ddish << "," << Eta << ") ---> NDishes=" << vd.size() << endl; 518 519 return vd; 520 521 } 522 /* --Fonction -- */ 523 vector<Dish> CreateConfigD(double Ddish, double Eta) 524 { 525 EnumeratedSequence es; 526 es = 0,1,3,4,6,8,10,12,14,16,18,20,22,24,25,27,28; 527 vector<int_4> lesx, lesy; 528 for(int k=0; k<es.Size(); k++) { 529 lesx.push_back(es.Value(k)); lesy.push_back(0); 530 lesx.push_back(es.Value(k)); lesy.push_back(28); 531 } 532 for(int k=1; k<es.Size()-1; k++) { 533 lesy.push_back(es.Value(k)); lesx.push_back(0); 534 lesy.push_back(es.Value(k)); lesx.push_back(28); 535 } 536 for(int k=1; k<=5; k++) { 537 lesy.push_back(k); lesx.push_back(5); 538 lesy.push_back(28-k); lesx.push_back(28-5); 539 if (k!=5) { 540 lesx.push_back(k); lesy.push_back(5); 541 lesx.push_back(28-k); lesy.push_back(28-5); 542 } 543 544 lesy.push_back(k); lesx.push_back(28-5); 545 lesy.push_back(28-k); lesx.push_back(5); 546 if (k!=5) { 547 lesx.push_back(28-k); lesy.push_back(5); 548 lesx.push_back(k); lesy.push_back(28-5); 549 } 550 } 551 552 for(int k=6; k<=13; k++) { 553 lesy.push_back(k); lesx.push_back(k); 554 lesy.push_back(28-k); lesx.push_back(28-k); 555 lesy.push_back(k); lesx.push_back(28-k); 556 lesy.push_back(28-k); lesx.push_back(k); 557 } 558 559 560 lesx.push_back(14); lesy.push_back(14); 561 562 EnumeratedSequence esx,esy; 563 esx = 1,2,4; 564 esy = 12,11,13; 565 566 for(int k=0; k<esx.Size(); k++) { 567 int_4 ix=esx.Value(k); 568 int_4 iy=esy.Value(k); 569 lesx.push_back(ix); lesy.push_back(iy); 570 lesx.push_back(28-ix); lesy.push_back(iy); 571 lesx.push_back(ix); lesy.push_back(28-iy); 572 lesx.push_back(28-ix); lesy.push_back(28-iy); 573 574 lesy.push_back(ix); lesx.push_back(iy); 575 lesy.push_back(28-ix); lesx.push_back(iy); 576 lesy.push_back(ix); lesx.push_back(28-iy); 577 lesy.push_back(28-ix); lesx.push_back(28-iy); 578 } 579 for(int k=5; k<=13; k+=2) { 580 lesy.push_back(k); lesx.push_back(14); 581 lesy.push_back(28-k); lesx.push_back(14); 582 lesy.push_back(14); lesx.push_back(k); 583 lesy.push_back(14); lesx.push_back(28-k); 584 } 585 586 cout << "CreateConfigB/Debug: -checkSize/lesx=" << lesx.size() << " -Check/lesy=" << lesy.size() << endl; 587 588 vector<Dish> vd; 589 int cnt=0; 590 for(size_t i=0; i<lesx.size(); i++) { 591 cnt++; vd.push_back(Dish(cnt, ((double)lesx[i])*Ddish,((double)lesy[i])*Ddish,Eta*Ddish)); 592 } 593 594 cout << ">>>CreateConfigD(" << Ddish << "," << Eta << ") ---> NDishes=" << vd.size() << endl; 595 596 return vd; 597 } 598 599 /* --Fonction -- */ 600 vector<Dish> CreateFilledCylConfig(int ncyl, int nRL, double cylW, double cylRL, double etaW, double etaRL, bool fgscid) 601 { 602 vector<Dish> vd; 603 int cnt=0; 604 605 for(int i=0; i<ncyl; i++) 606 for(int j=0; j<nRL; j++) { 607 cnt++; 608 int rid = (fgscid) ? i+1 : cnt; 609 vd.push_back(Dish(rid, i*cylW, j*cylRL, etaW*cylW, etaRL*cylRL)); 610 } 611 cout << ">>>CreateFilledCylConfig(" << ncyl << "," << nRL << "," << cylW << "," << cylRL << "," 612 << etaW << "," << etaRL << "," << ((fgscid)?" RId=CylNum":"Cnt") 613 << ") ---> NDishes=" << vd.size() << endl; 614 615 return vd; 616 }
Note:
See TracChangeset
for help on using the changeset viewer.