Changeset 417 in PSPA for Interface_Web/trunk/pspaWT/sources/controler/src/softwareParmela.cc
- Timestamp:
- Jun 10, 2013, 4:52:52 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Interface_Web/trunk/pspaWT/sources/controler/src/softwareParmela.cc
r398 r417 22 22 cout << " setRelativeParmelaElementIndices() taille a priori : " << relativeParmelaElementIndices_.size() << endl; 23 23 abstractElement* elPtr = dataManager_->getElementPointerFromNumero(numeroDeb_); 24 24 25 bool there_is_rfgun = ( elPtr->getNomdElement().getElementType() == RFgun ); 25 26 unsigned offsetNumElem; … … 262 263 particles.clear(); 263 264 particles.resize(faisceau.size(), bareParticle()); 264 double x,xp,y,yp; 265 // double x,xp,y,yp; 266 double xp, yp; 265 267 double betagammaz; 266 double betaz;267 double deltaz;268 // double betaz; 269 double cdt; 268 270 double dephas; 269 271 double g; … … 273 275 // sont donnes en radians 274 276 for (unsigned k = 0; k < faisceau.size(); k++) { 275 x= faisceau.at(k).xx;277 // x= faisceau.at(k).xx; 276 278 xp=faisceau.at(k).xxp; 277 y= faisceau.at(k).yy;279 // y= faisceau.at(k).yy; 278 280 yp=faisceau.at(k).yyp; 279 281 // dephasage par rapport a la reference … … 281 283 g = faisceau.at(k).wz/EREST_MeV; 282 284 betagammaz = faisceau.at(k).begamz; 283 betaz = betagammaz/(g+1.0); 284 deltaz = FACTEUR * betaz * dephas / referencefrequency; 285 x += xp * deltaz; 286 y += yp * deltaz; 287 pos.setComponents(x,y,deltaz); 285 // betaz = betagammaz/(g+1.0); 286 // deltaz = FACTEUR * betaz * dephas / referencefrequency; 287 cdt = FACTEUR * dephas / referencefrequency; 288 // x += xp * deltaz; 289 // y += yp * deltaz; 290 pos.setComponents(faisceau.at(k).xx,faisceau.at(k).yy,cdt); 288 291 betagamma.setComponents(xp*betagammaz, yp*betagammaz, betagammaz); 289 292 particles.at(k) = bareParticle(pos,betagamma); … … 311 314 } 312 315 313 const vector<bareParticle>& partic = beam->getParticleVector();316 // const vector<bareParticle>& partic = beam->getParticleVector(); 314 317 double weight = 1.0; 315 318 double xx,yy,zz; 316 319 double begamx, begamy, begamz; 317 for (unsigned k = 0; k < partic.size(); k++) { 318 partic.at(k).getPosition().getComponents(xx,yy,zz); 319 partic.at(k).getBetaGamma().getComponents(begamx,begamy,begamz); 320 // TRIDVECTOR pos, begam; 321 double zmin = GRAND; 322 double zmax = -zmin; 323 double cdtmin, cdtmax; 324 beam->ZrangeCdt(cdtmin, cdtmax); 325 cout << " softwareParmela::beamToParmela cdtmin = " << cdtmin << " cdtmax = " << cdtmax << endl; 326 327 for (unsigned k = 0; k < beam->getNbParticles(); k++) { 328 // partic.at(k).getPosition().getComponents(xx,yy,zz); 329 // partic.at(k).getBetaGamma().getComponents(begamx,begamy,begamz); 330 beam->coordonneesDeployees(k, -cdtmax).getComponents(xx,yy,zz); 331 beam->betaGamma(k).getComponents(begamx,begamy,begamz); 332 if ( zz > zmax) zmax = zz; 333 if ( zz < zmin ) zmin = zz; 320 334 outfile << xx << " " << begamx << " " << yy << " " << begamy << " " << zz << " " << begamz << " " << weight << endl; 321 335 } 322 336 outfile.close(); 337 cout << " softwareParmela::beamToParmela zmn = " << zmin << " zmax = " << zmax << endl; 323 338 return true; 324 339 }
Note: See TracChangeset
for help on using the changeset viewer.