57 {
58
59
60
61
63
65
69
72
73 if(iso == 2){
74 if(rdm*7. < 2.){
79 }
80 else if(rdm*7. < 3.){
85 }
86 else if(rdm*7. < 4.){
91 }
92 else if(rdm*7. < 5.){
97 }
98 else{
103 }
104
105 }if(iso == -2){
106 if(rdm*7. < 1.){
111 }
112 else if(rdm*7. < 3.){
117 }
118 else if(rdm*7. < 4.){
123 }
124 else if(rdm*7. < 5.){
129 }
130 else{
135 }
136 }
137 else{
138 if(rdm*8. < 1.){
143 }
144 else if(rdm*8. < 2.){
149 }
150 else if(rdm*8. < 4.){
155 }
156 else if(rdm*8. < 5.){
161 }
162 else if(rdm*8. < 7.){
167 }
168 else{
173 }
174 }
175
176
177 ParticleList list;
178 list.push_back(particle1);
179 list.push_back(particle2);
180 const ThreeVector &rcol1 = particle1->
getPosition();
181 const ThreeVector &rcol2 = particle2->
getPosition();
182 const ThreeVector zero;
183 Particle *pion1 = new Particle(Pion1Type,zero,rcol1);
184 Particle *pion2 = new Particle(Pion2Type,zero,rcol1);
185 Particle *kaon = new Particle(KaonType,zero,rcol2);
186 list.push_back(kaon);
187 list.push_back(pion1);
188 list.push_back(pion2);
189
192
193 fs->addModifiedParticle(particle1);
194 fs->addModifiedParticle(particle2);
195 fs->addCreatedParticle(kaon);
196 fs->addCreatedParticle(pion1);
197 fs->addCreatedParticle(pion2);
198
199 }
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.