55 {
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
83
87 }
88 else{
91 }
92
96
97 const std::vector<G4double> BFMM167 = {-6.885, 0.476, 1.206, 13.857, -5.728, 1.220};
98
99 const std::vector<G4double> BFMM198 = {1.857, -21.213, -3.448, 0.827, -0.390, 1.231};
100
101 const std::vector<G4double> BFMM490 = {-3.594, 0.811, 0.306, 5.108, -1.625, 1.201};
102
103 const std::vector<G4double> BFMM492 = {-5.443, 7.254, -2.936, 8.441, -2.588, 1.221};
104
105 const std::vector<G4double> BFMM494 = {21.688, -38.709, -2.062, -17.783, 3.895, 1.221};
106
107
108
109
112
113
116
117
123 if(rdm<0.5){
126 }
127 else{
130 }
131 }
135 if(rdm<0.5){
138 }
139 else{
142 }
143 }
147 if(rdm<0.5){
150 }
151 else{
154 }
155 }
156 else{
159 if(rdm<0.5){
162 }
163 else{
166 }
167 }
168 }
169 else{
173 if(rdm<0.5){
176 }
177 else{
180 }
181 }
185 if(rdm<0.5){
188 }
189 else{
192 }
193 }
197 if(rdm<0.5){
200 }
201 else{
204 }
205 }
206 else{
209 if(rdm<0.5){
212 }
213 else{
216 }
217 }
218 }
219 }
220 else{
225 if(rdm<0.5){
228 }
229 else{
232 }
233 }
237 if(rdm<0.5){
240 }
241 else{
244 }
245 }
249 if(rdm<0.5){
252 }
253 else{
256 }
257 }
258 else{
261 if(rdm<0.5){
264 }
265 else{
268 }
269 }
270 }
271 else{
275 if(rdm<0.5){
278 }
279 else{
282 }
283 }
287 if(rdm<0.5){
290 }
291 else{
294 }
295 }
299 if(rdm<0.5){
302 }
303 else{
306 }
307 }
308 else{
311 if(rdm<0.5){
314 }
315 else{
318 }
319 }
320 }
321 }
322
323 ParticleList list;
324 list.push_back(nucleon);
325 list.push_back(antinucleon);
326 const ThreeVector &rcol =
nucleon->getPosition();
327 const ThreeVector zero;
328
329 Particle *pion2 = new Particle(Pion1,zero,rcol);
330 Particle *pion1 = new Particle(Pion2,zero,rcol);
331 if(rdm < 0.5){
332 pion1->setType(Pion1);
333 pion2->setType(Pion2);
334 }
335
336 list.push_back(pion1);
337 list.push_back(pion2);
338
340
341 fs->addModifiedParticle(nucleon);
342 fs->addModifiedParticle(antinucleon);
343 fs->addCreatedParticle(pion1);
344 fs->addCreatedParticle(pion2);
345
346 }
G4double compute_xs(const std::vector< G4double > coefficients, const G4double pLab)
G4double totalEnergyInCM(Particle const *const p1, Particle const *const p2)
G4double momentumInLab(Particle const *const p1, Particle const *const p2)
gives the momentum in the lab frame of two particles.
void generate(const G4double sqrtS, ParticleList &particles)
Generate an event in the CM system.
G4bool antinucleon(G4int ityp)
G4bool nucleon(G4int ityp)