57 {
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
77
79
82
84
85 if(iso == 2){
86 if(rdm * 36. < 9.){
90 }
91 else if(rdm * 36. < 18.){
95 }
96 else if(rdm * 36. < 22.){
100 }
101 else if(rdm * 36. < 24.){
106 }
107 else if(rdm * 36. < 28.){
111 }
112 else if(rdm * 36. < 30.){
117 }
118 else if(rdm * 36. < 32.){
122 }
123 else{
128 }
129
130 }
131 else if(iso == -2){
132 if(rdm * 36. < 9.){
136 }
137 else if(rdm * 36. < 18.){
141 }
142 else if(rdm * 36. < 22.){
146 }
147 else if(rdm * 36. < 24.){
152 }
153 else if(rdm * 36. < 28.){
157 }
158 else if(rdm * 36. < 30.){
163 }
164 else if(rdm * 36. < 32.){
168 }
169 else{
174 }
175
176 }
177 else if(rdm*36. < 4.){
182 }
183 else if(rdm*36. < 6.){
188 }
189 else if(rdm*36. < 8.){
194 }
195 else if(rdm*36. < 9.){
200 }
201 else if(rdm*36. < 18.){
206 }
207 else if(rdm*36. < 27.){
212 }
213 else if(rdm*36. < 28.){
218 }
219 else if(rdm*36. < 30.){
224 }
225 else if(rdm*36. < 32.){
230 }
231 else{
236 }
237
238 ParticleList list;
239 list.push_back(particle1);
240 list.push_back(particle2);
241 const ThreeVector &rcol1 = particle1->
getPosition();
242 const ThreeVector &rcol2 = particle2->
getPosition();
243 const ThreeVector zero;
244 Particle *
pion =
new Particle(PionType,zero,rcol1);
245 Particle *kaon = new Particle(KaonType,zero,rcol2);
246 list.push_back(kaon);
247 list.push_back(pion);
248
251
253
254 fs->addModifiedParticle(particle1);
255 fs->addModifiedParticle(particle2);
256 fs->addCreatedParticle(kaon);
257 fs->addCreatedParticle(pion);
258
259 }
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.