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 }
106 else if(iso == -2){
107 if(rdm*7. < 1.){
112 }
113 else if(rdm*7. < 3.){
118 }
119 else if(rdm*7. < 4.){
124 }
125 else if(rdm*7. < 5.){
130 }
131 else{
136 }
137 }
138 else{
139 if(rdm*8. < 1.){
144 }
145 else if(rdm*8. < 2.){
150 }
151 else if(rdm*8. < 4.){
156 }
157 else if(rdm*8. < 5.){
162 }
163 else if(rdm*8. < 7.){
168 }
169 else{
174 }
175 }
176
177
178 ParticleList list;
179 list.push_back(particle1);
180 list.push_back(particle2);
181 const ThreeVector &rcol1 = particle1->
getPosition();
182 const ThreeVector &rcol2 = particle2->
getPosition();
183 const ThreeVector zero;
184 Particle *pion1 = new Particle(Pion1Type,zero,rcol1);
185 Particle *pion2 = new Particle(Pion2Type,zero,rcol1);
186 Particle *kaon = new Particle(KaonType,zero,rcol2);
187 list.push_back(kaon);
188 list.push_back(pion1);
189 list.push_back(pion2);
190
193
194 fs->addModifiedParticle(particle1);
195 fs->addModifiedParticle(particle2);
196 fs->addCreatedParticle(kaon);
197 fs->addCreatedParticle(pion1);
198 fs->addCreatedParticle(pion2);
199
200 }
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.