57 {
58
59
60
61
62
63
64
66
68
71
74
75 if(iso == 2){
76 if(rdm*4. < 3.){
79 }
80 else if(rdm*12. < 11.){
83 }
84 else{
88 }
89 }
90 else if(iso == -2){
91 if(rdm*4. < 3.){
94 }
95 else if(rdm*12. < 11.){
98 }
99 else{
103 }
104 }
105 else if(rdm*6. < 2.){
109 }
110 else if(rdm*6. < 4.){
114 }
115 else if(rdm*6. < 5.){
119 }
120 else{
124 }
125
126 ParticleList list;
127 list.push_back(particle1);
128 list.push_back(particle2);
129 const ThreeVector &rcol1 = particle1->
getPosition();
130 const ThreeVector &rcol2 = particle2->
getPosition();
131 const ThreeVector zero;
132 Particle *
pion =
new Particle(PionType,zero,rcol1);
133 Particle *kaon = new Particle(KaonType,zero,rcol2);
134 list.push_back(kaon);
135 list.push_back(pion);
136
139
140 fs->addModifiedParticle(particle1);
141 fs->addModifiedParticle(particle2);
142 fs->addCreatedParticle(kaon);
143 fs->addCreatedParticle(pion);
144
145 }
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.