57 {
58
59
60
61
63
65
69
71
72 if(iso == 2){
73 if(rdm*20. < 1.){
79 }
80 else if(rdm*20. < 3.){
86 }
87 else if(rdm*20. < 4.){
93 }
94 else if(rdm*20. < 6.){
100 }
101 else if(rdm*20. < 7.){
107 }
108 else if(rdm*20. < 9.){
114 }
115 else if(rdm*20. < 10.){
121 }
122 else if(rdm*20. < 12.){
128 }
129 else if(rdm*20. < 13.){
135 }
136 else if(rdm*20. < 15.){
142 }
143 else if(rdm*20. < 16.){
149 }
150 else if(rdm*20. < 17.){
156 }
157 else if(rdm*20. < 19.){
163 }
164 else{
170 }
171
172
173 }if(iso == -2){
174 if(rdm*20. < 1.){
180 }
181 else if(rdm*20. < 2.){
187 }
188 else if(rdm*20. < 4.){
194 }
195 else if(rdm*20. < 5.){
201 }
202 else if(rdm*20. < 7.){
208 }
209 else if(rdm*20. < 8.){
215 }
216 else if(rdm*20. < 9.){
222 }
223 else if(rdm*20. < 11.){
229 }
230 else if(rdm*20. < 13.){
236 }
237 else if(rdm*20. < 14.){
243 }
244 else if(rdm*20. < 15.){
250 }
251 else if(rdm*20. < 17.){
257 }
258 else if(rdm*20. < 19.){
264 }
265 else{
271 }
272
273 }
274 else{
275 if(rdm*22. < 1.){
281 }
282 else if(rdm*22. < 3.){
288 }
289 else if(rdm*22. < 4.){
295 }
296 else if(rdm*22. < 6.){
302 }
303 else if(rdm*22. < 7.){
309 }
310 else if(rdm*22. < 8.){
316 }
317 else if(rdm*22. < 10.){
323 }
324 else if(rdm*22. < 11.){
330 }
331 else if(rdm*22. < 12.){
337 }
338 else if(rdm*22. < 13.){
344 }
345 else if(rdm*22. < 15.){
351 }
352 else if(rdm*22. < 16.){
358 }
359 else if(rdm*22. < 18.){
365 }
366 else if(rdm*22. < 19.){
372 }
373 else if(rdm*22. < 20.){
379 }
380 else{
386 }
387
388 }
389
390
391 ParticleList list;
392 list.push_back(particle1);
393 list.push_back(particle2);
394 const ThreeVector &rcol1 = particle1->
getPosition();
395 const ThreeVector &rcol2 = particle2->
getPosition();
396 const ThreeVector zero;
397 Particle *pion1 = new Particle(Pion1Type,zero,rcol1);
398 Particle *pion2 = new Particle(Pion2Type,zero,rcol1);
399 Particle *kaon = new Particle(KaonType,zero,rcol2);
400 list.push_back(kaon);
401 list.push_back(pion1);
402 list.push_back(pion2);
403
406
407 fs->addModifiedParticle(particle1);
408 fs->addModifiedParticle(particle2);
409 fs->addCreatedParticle(kaon);
410 fs->addCreatedParticle(pion1);
411 fs->addCreatedParticle(pion2);
412
413 }
const G4INCL::ThreeVector & getPosition() const
G4INCL::ParticleType getType() const
void setType(ParticleType t)
G4double totalEnergyInCM(Particle const *const p1, Particle const *const p2)
G4int getIsospin(const ParticleType t)
Get the isospin of a particle.
void generateBiased(const G4double sqrtS, ParticleList &particles, const size_t index, const G4double slope)
Generate a biased event in the CM system.