57 {
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
87
88
92 }
93 else{
96 }
97
99
102
105
106 if(iso == 3 || iso == -3){
107 if(rdm*13. < 4.){
111 }
112 else if(rdm*13. < 5.){
117 }
118 else if(rdm*13. < 7.){
122 }
123 else if(rdm*13. < 8.){
127 }
128 else if(rdm*13. < 12.){
132 }
133 else{
137 }
138 }
140 if(rdm*14. < 2.){
144 }
145 else if(rdm*14. < 4.){
150 }
151 else if(rdm*14. < 5.){
155 }
156 else if(rdm*14. < 6.){
160 }
161 else if(rdm*14. < 10.){
166 }
167 else if(rdm*14. < 11.){
171 }
172 else if(rdm*14. < 12.){
176 }
177 else{
182 }
183 }
184 else{
185 if(rdm*15. < 1.){
189 }
190 else if(rdm*15. < 3.){
194 }
195 else if(rdm*15. < 4.){
199 }
200 else if(rdm*15. < 5.){
205 }
206 else if(rdm*15. < 7.){
210 }
211 else if(rdm*15. < 11.){
215 }
216 else if(rdm*15. < 13.){
221 }
222 else{
227 }
228 }
229
230 ParticleList list;
231 list.push_back(nucleon);
232 list.push_back(pion);
233 const ThreeVector &rcol1 =
nucleon->getPosition();
234 const ThreeVector &rcol2 =
pion->getPosition();
235 const ThreeVector zero;
236 Particle *kaon = new Particle(KaonType,zero,rcol1);
237 Particle *pion2 = new Particle(PionType,zero,rcol2);
238 list.push_back(kaon);
239 list.push_back(pion2);
240
242
244
245 fs->addModifiedParticle(nucleon);
246 fs->addModifiedParticle(pion);
247 fs->addCreatedParticle(kaon);
248 fs->addCreatedParticle(pion2);
249
250 }
G4double totalEnergyInCM(Particle const *const p1, Particle const *const p2)
ParticleType getKaonType(const G4int isosp)
Get the type of kaon.
ParticleType getSigmaType(const G4int isosp)
Get the type of sigma.
G4int getIsospin(const ParticleType t)
Get the isospin of a particle.
ParticleType getPionType(const G4int isosp)
Get the type of pion.
void generateBiased(const G4double sqrtS, ParticleList &particles, const size_t index, const G4double slope)
Generate a biased event in the CM system.
G4bool nucleon(G4int ityp)