Pluto v6.3.0
Loading...
Searching...
No Matches
PNucleusFermiPlugin.cc
Go to the documentation of this file.
1
2//
3// This plugin adds various PIDs for nuclear targets, starting with
4// ID=601 (Li6), in general (Z-3)*4+2 for the most abundant isotope (*).
5//
6// The following PIDs have been added so far:
7//
8// 6Li Z=3, ID=601
9// 7Li Z=3, ID=602 (*)
10// 10B Z=5, ID=609
11// 11B Z=5, ID=610 (*)
12// 11C Z=6, ID=613
13// 12C Z=6, ID=614 (*)
14// 39K Z=19, ID=666 (*)
15// 40K Z=19, ID=667
16// 41K Z=19, ID=668
17// 39Ca Z=20, ID=669
18// 40Ca Z=20, ID=670 (*)
19// Y would be 746, we will move it
20// 90Zr Z=40, ID=745
21// 91Zr Z=40, ID=746
22// 92Zr Z=40, ID=747
23// 93Zr Z=40, ID=748
24// 94Zr Z=40, ID=749
25// 95Zr Z=40, ID=750 (*,exception)
26// 96Zr Z=40, ID=751
27// 92Nb Z=41, ID=753
28// 93Nb Z=41, ID=754 (*)
29//
30// Author: I. Froehlich
31// Written: 27.7.2008
32// Revised:
34
35#include "PNucleusFermiPlugin.h"
36
37PNucleusFermiPlugin::PNucleusFermiPlugin(const Char_t *id, const Char_t *de):
39
40 gamma_active = proton_active = kFALSE;
41
42 RequiresPlugin("elementary");
43}
44
46
47 //To be consistent:
48 makeStaticData()->AddAlias("He3", "3He");
49 makeStaticData()->AddAlias("alpha", "4He");
50
51 //Add our nuclei:
52
53 if (!makeStaticData()->IsParticleValid("6He")) {
54 makeStaticData()->AddParticle(600, "6He", 6.0188891);
55 }
56
57 //7Li Z=3, ID=602
58 if (!makeStaticData()->IsParticleValid("7Li")) {
59 makeStaticData()->AddParticle(602, "7Li", 6.533833);
60 }
61
62 //6Li Z=3, ID=601
63 if (!makeStaticData()->IsParticleValid("6Li")) {
64 makeStaticData()->AddParticle(601, "6Li", 5.601518);
65 }
66
67 // 10B Z=5, ID=609
68 if (!makeStaticData()->IsParticleValid("10B")) {
69 makeStaticData()->AddParticle(609, "10B", 10.0129370*0.931494);
70 }
71 // 11B Z=5, ID=610
72 if (!makeStaticData()->IsParticleValid("11B")) {
73 makeStaticData()->AddParticle(610, "11B", 11.0093054*0.931494);
74 } //http://en.wikipedia.org/wiki/Isotopes_of_boron
75
76 //12C Z=6, ID=614
77 if (!makeStaticData()->IsParticleValid("12C")) {
78 makeStaticData()->AddParticle(614, "12C", 11.174862);
79 }
80
81 //11C Z=6, ID=613
82 if (!makeStaticData()->IsParticleValid("11C")) {
83 makeStaticData()->AddParticle(613, "11C", 10.254018);
84 }
85
86 // 39K Z=19, ID=666
87 if (!makeStaticData()->IsParticleValid("39K")) {
88 makeStaticData()->AddParticle(666, "39K", 38.96370668*0.931494);
89 }
90 // 40K Z=19, ID=667
91 if (!makeStaticData()->IsParticleValid("40K")) {
92 makeStaticData()->AddParticle(667, "40K", 39.96399848*0.931494);
93 }
94 // 41K Z=19, ID=668
95 if (!makeStaticData()->IsParticleValid("41K")) {
96 makeStaticData()->AddParticle(668, "41K", 40.96182576*0.931494);
97 } //http://en.wikipedia.org/wiki/Isotopes_of_potassium
98
99 //40Ca Z=20, ID=670
100 if (!makeStaticData()->IsParticleValid("40Ca")) {
101 makeStaticData()->AddParticle(670, "40Ca", 37.214694);
102 }
103
104 //39Ca Z=20, ID=669
105 if (!makeStaticData()->IsParticleValid("39Ca")) {
106 makeStaticData()->AddParticle(669, "39Ca", 36.290772);
107 }
108
109 // 90Zr Z=40, ID=745
110 if (!makeStaticData()->IsParticleValid("90Zr")) {
111 makeStaticData()->AddParticle(745, "90Zr", 89.9047044*0.931494);
112 }
113 // 91Zr Z=40, ID=746
114 if (!makeStaticData()->IsParticleValid("91Zr")) {
115 makeStaticData()->AddParticle(746, "91Zr", 90.9056458*0.931494);
116 }
117 // 92Zr Z=40, ID=747
118 if (!makeStaticData()->IsParticleValid("92Zr")) {
119 makeStaticData()->AddParticle(747, "92Zr", 91.9050408*0.931494);
120 }
121 // 93Zr Z=40, ID=748
122 if (!makeStaticData()->IsParticleValid("93Zr")) {
123 makeStaticData()->AddParticle(748, "93Zr", 92.9064760*0.931494);
124 }
125 // 94Zr Z=40, ID=749
126 if (!makeStaticData()->IsParticleValid("94Zr")) {
127 makeStaticData()->AddParticle(749, "94Zr", 93.9063152*0.931494);
128 }
129 // 95Zr Z=40, ID=750 (*,exception)
130 if (!makeStaticData()->IsParticleValid("95Zr")) {
131 makeStaticData()->AddParticle(750, "95Zr", 94.9080426*0.931494);
132 }
133 // 96Zr Z=40, ID=751
134 if (!makeStaticData()->IsParticleValid("96Zr")) {
135 makeStaticData()->AddParticle(751, "96Zr", 95.9082734*0.931494);
136 } //http://en.wikipedia.org/wiki/Isotopes_of_zirconium
137
138 //92Nb Z=41, ID=753
139 if (!makeStaticData()->IsParticleValid("92Nb")) {
140 makeStaticData()->AddParticle(753, "92Nb",85.59005);
141 }
142 //93Nb Z=41, ID=754
143 if (!makeStaticData()->IsParticleValid("93Nb")) {
144 makeStaticData()->AddParticle(754, "93Nb", 86.520784);
145 }
146
147
148 //BUGBUG: Have to set Baryon number etc...
149
150
152 pdmutil->AddSubGroup("fermi", "Fermi momenta", "root");
153 pdmutil->SetGroup("fermi");
154
155
156 PFermiDistributions *model =
157 new PFermiDistributions("3He_fermi@3He/fermi", "Fermi momentum of 3He", -1);
158 model->SetRange(0,2.);
159 pdmutil->Add(model);
160 model = new PFermiDistributions("4He_fermi@4He/fermi", "Fermi momentum of 4He", -1);
161 model->SetRange(0,2.);
162 pdmutil->Add(model);
163 model = new PFermiDistributions("7Li_fermi@7Li/fermi", "Fermi momentum of 7Li", -1);
164 model->SetRange(0,2.);
165 pdmutil->Add(model);
166 model = new PFermiDistributions("12C_fermi@12C/fermi", "Fermi momentum of 12C", -1);
167 model->SetRange(0,2.);
168 pdmutil->Add(model);
169 model = new PFermiDistributions("40Ca_fermi@40Ca/fermi", "Fermi momentum of 40Ca", -1);
170 model->SetRange(0,2.);
171 pdmutil->Add(model);
172 model = new PFermiDistributions("93Nb_fermi@93Nb/fermi", "Fermi momentum of 93Nb", -1);
173 model->SetRange(0,2.);
174 pdmutil->Add(model);
175
176 return kTRUE;
177}
178
181
182
183Bool_t PNucleusFermiPlugin::ExecCommand(const char *command, Double_t) {
184
186
187 if (strcmp (command,"gamma") == 0) {
188
189 if (gamma_active) return kTRUE;
190
191 pdmutil->AddSubGroup("gamma_beam", "Physics with gamma-beam", "root");
192 pdmutil->SetGroup("gamma_beam");
193
194 //Li6 (n spectator)
195 //*****************
196 makeStaticData()->AddParticle(602001, "g + 7Li", 6.533833);
197 makeStaticData()->AddAlias("g + 7Li", "g+7Li");
198 makeStaticData()->AddDecay(-1, "g + 7Li -> (g + n) + 6Li (quasi-free)",
199 "g + 7Li", "g + n,6Li", 1.0 );
201 new PFermiMomentumGA("gn_in_7Li@g + 7Li_to_g + n_6Li",
202 "Quasi-free particle production <nucleus_fermi>", -1);
203 // Now add all particles
204 // Define spectators and final decay products (the granddaughters)
205 pmodel->Add("q,parent");
206 pmodel->Add("g,grandparent,beam");
207 pmodel->Add("7Li,grandparent,target");
208 pmodel->Add("6Li,daughter,spectator");
209 pmodel->Add("q,daughter,composite");
210 pmodel->Add("n,granddaughter,participant");
211 pmodel->Add("g,granddaughter,p2");
212 pdmutil->Add(pmodel);
213
214 //(p spectator)
215 makeStaticData()->AddDecay(-1, "g + 7Li -> (g + p) + 6He (quasi-free)",
216 "g + 7Li", "g + p,6He", 1.0 );
217 pmodel =
218 new PFermiMomentumGA("gp_in_7Li@g + 7Li_to_g + p_6He",
219 "Quasi-free particle production <nucleus_fermi>", -1);
220 // Now add all particles
221 // Define spectators and final decay products (the granddaughters)
222 pmodel->Add("q,parent");
223 pmodel->Add("g,grandparent,beam");
224 pmodel->Add("7Li,grandparent,target");
225 pmodel->Add("6He,daughter,spectator");
226 pmodel->Add("q,daughter,composite");
227 pmodel->Add("p,granddaughter,participant");
228 pmodel->Add("g,granddaughter,p2");
229 pdmutil->Add(pmodel);
230
231
232 //12C (n spectator)
233 //*****************
234 makeStaticData()->AddParticle(614001, "g + 12C", 11.174862);
235 makeStaticData()->AddAlias("g + 12C", "g+12C");
236 makeStaticData()->AddDecay(-1, "g + 12C -> (g + n) + 11C (quasi-free)",
237 "g + 12C"," g + n,11C", 1.0 );
238 pmodel =
239 new PFermiMomentumGA("gn_in_12C@g + 12C_to_g + n_11C",
240 "Quasi-free particle production <nucleus_fermi>", -1);
241 pmodel->Add("q,parent");
242 pmodel->Add("g,grandparent,beam");
243 pmodel->Add("12C,grandparent,target");
244 pmodel->Add("11C,daughter,spectator");
245 pmodel->Add("q,daughter,composite");
246 pmodel->Add("n,granddaughter,participant");
247 pmodel->Add("g,granddaughter,p2");
248 pdmutil->Add(pmodel);
249
250 //(p spectator)
251 makeStaticData()->AddDecay(-1, "g + 12C -> (g + p) + 11B (quasi-free)",
252 "g + 12C", "g + p,11B", 1.0 );
253 pmodel =
254 new PFermiMomentumGA("gp_in_12C@g + 12C_to_g + p_11B",
255 "Quasi-free particle production <nucleus_fermi>", -1);
256 pmodel->Add("q,parent");
257 pmodel->Add("g,grandparent,beam");
258 pmodel->Add("12C,grandparent,target");
259 pmodel->Add("11B,daughter,spectator");
260 pmodel->Add("q,daughter,composite");
261 pmodel->Add("p,granddaughter,participant");
262 pmodel->Add("g,granddaughter,p2");
263 pdmutil->Add(pmodel);
264
265 //40Ca (n spectator)
266 //*****************
267 makeStaticData()->AddParticle(670001, "g + 40Ca", 37.214694);
268 makeStaticData()->AddAlias("g + 40Ca", "g+40Ca");
269 makeStaticData()->AddDecay(-1, "g + 40Ca -> (g + n) + 39Ca (quasi-free)",
270 "g + 40Ca", "g + n,39Ca", 1.0 );
271 pmodel =
272 new PFermiMomentumGA("gn_in_40Ca@g + 40Ca_to_g + n_39Ca",
273 "Quasi-free particle production <nucleus_fermi>", -1);
274 pmodel->Add("q,parent");
275 pmodel->Add("g,grandparent,beam");
276 pmodel->Add("40Ca,grandparent,target");
277 pmodel->Add("39Ca,daughter,spectator");
278 pmodel->Add("q,daughter,composite");
279 pmodel->Add("n,granddaughter,participant");
280 pmodel->Add("g,granddaughter,p2");
281 pdmutil->Add(pmodel);
282
283 //(p spectator)
284 makeStaticData()->AddDecay(-1, "g + 40Ca -> (g + p) + 39K (quasi-free)",
285 "g + 40Ca","g + p,39K", 1.0);
286 pmodel =
287 new PFermiMomentumGA("gp_in_40Ca@g + 40Ca_to_g + p_39K",
288 "Quasi-free particle production <nucleus_fermi>", -1);
289 pmodel->Add("q,parent");
290 pmodel->Add("g,grandparent,beam");
291 pmodel->Add("40Ca,grandparent,target");
292 pmodel->Add("39K,daughter,spectator");
293 pmodel->Add("q,daughter,composite");
294 pmodel->Add("p,granddaughter,participant");
295 pmodel->Add("g,granddaughter,p2");
296 pdmutil->Add(pmodel);
297
298 //93Nb (n spectator)
299 //*****************
300 makeStaticData()->AddParticle(754001, "g + 93Nb", 86.520784);
301 makeStaticData()->AddAlias("g + 93Nb", "g+93Nb");
302 makeStaticData()->AddDecay(-1, "g + 93Nb -> (g + n) + 92Nb (quasi-free)",
303 "g + 93Nb","g + n,92Nb", 1.0);
304 pmodel =
305 new PFermiMomentumGA("gn_in_93Nb@g + 93Nb_to_g + n_92Nb",
306 "Quasi-free particle production <nucleus_fermi>", -1);
307 pmodel->Add("q,parent");
308 pmodel->Add("g,grandparent,beam");
309 pmodel->Add("93Nb,grandparent,target");
310 pmodel->Add("92Nb,daughter,spectator");
311 pmodel->Add("q,daughter,composite");
312 pmodel->Add("n,granddaughter,participant");
313 pmodel->Add("g,granddaughter,p2");
314 pdmutil->Add(pmodel);
315
316 //(p spectator)
317 makeStaticData()->AddDecay(-1, "g + 93Nb -> (g + p) + 92Zr (quasi-free)",
318 "g + 93Nb", "g + p,92Zr", 1.0);
319 pmodel =
320 new PFermiMomentumGA("gp_in_93Nb@g + 93Nb_to_g + p_92Zr",
321 "Quasi-free particle production <nucleus_fermi>", -1);
322 pmodel->Add("q,parent");
323 pmodel->Add("g,grandparent,beam");
324 pmodel->Add("93Nb,grandparent,target");
325 pmodel->Add("92Zr,daughter,spectator");
326 pmodel->Add("q,daughter,composite");
327 pmodel->Add("p,granddaughter,participant");
328 pmodel->Add("g,granddaughter,p2");
329 pdmutil->Add(pmodel);
330
331 //3He
332 makeStaticData()->AddParticle(49001, "g + 3He", 2.808391);
333 makeStaticData()->AddAlias("g + 3He", "g+3He");
334 makeStaticData()->AddDecay(-1, "g + 3He -> (g + p) + d (quasi-free)",
335 "g + 3He", "g + p,d", 1.0);
336 pmodel =
337 new PFermiMomentumGA("gp_in_3He@g + 3He_to_g + p_d",
338 "Quasi-free particle production <nucleus_fermi>", -1);
339 pmodel->Add("q,parent");
340 pmodel->Add("g,grandparent,beam");
341 pmodel->Add("3He,grandparent,target");
342 pmodel->Add("d,daughter,spectator");
343 pmodel->Add("q,daughter,composite");
344 pmodel->Add("p,granddaughter,participant");
345 pmodel->Add("g,granddaughter,p2");
346 pdmutil->Add(pmodel);
347
348 //4He
349 makeStaticData()->AddParticle(47001, "g + 4He", 3.727379);
350 makeStaticData()->AddAlias("g + 4He","g+4He");
351 makeStaticData()->AddDecay(-1, "g + 4He -> (g + n) + 3He (quasi-free)",
352 "g + 4He", "g + n,3He", 1.0);
353 pmodel =
354 new PFermiMomentumGA("gn_in_4He@g + 4He_to_g + n_3He",
355 "Quasi-free particle production <nucleus_fermi>", -1);
356 pmodel->Add("q,parent");
357 pmodel->Add("g,grandparent,beam");
358 pmodel->Add("4He,grandparent,target");
359 pmodel->Add("3He,daughter,spectator");
360 pmodel->Add("q,daughter,composite");
361 pmodel->Add("n,granddaughter,participant");
362 pmodel->Add("g,granddaughter,p2");
363 pdmutil->Add(pmodel);
364
365 gamma_active = kTRUE;
366 return kTRUE;
367 } else if (strcmp(command,"proton") == 0) {
368
369 if (proton_active) return kTRUE;
370
371 pdmutil->AddSubGroup("proton_beam", "Physics with proton-beam", "root");
372 pdmutil->SetGroup("proton_beam");
373
374 Double_t p_mass = makeStaticData()->GetParticleMass("p");
375
376 //Li6
377 makeStaticData()->AddParticle(602014, "p + 7Li", 6.533833 + p_mass);
378 makeStaticData()->AddAlias("p + 7Li", "p+7Li");
379 makeStaticData()->AddDecay(-1, "p + 7Li -> (p + n) + 6Li (quasi-free)",
380 "p + 7Li", "p + n,6Li", 1.0);
382 new PFermiMomentumGA("pn_in_7Li@p + 7Li_to_p + n_6Li",
383 "Quasi-free particle production <nucleus_fermi>", -1);
384 // Now add all particles
385 // Define spectators and final decay products (the granddaughters)
386 pmodel->Add("q,parent");
387 pmodel->Add("p,grandparent,beam");
388 pmodel->Add("7Li,grandparent,target");
389 pmodel->Add("6Li,daughter,spectator");
390 pmodel->Add("q,daughter,composite");
391 pmodel->Add("n,granddaughter,participant");
392 pmodel->Add("p,granddaughter,p2");
393 pdmutil->Add(pmodel);
394
395 //Li6 (p spectator):
396 makeStaticData()->AddDecay(-1, "p + 7Li -> (p + p) + 6He (quasi-free)",
397 "p + 7Li", "p + p,6He", 1.0);
398 pmodel =
399 new PFermiMomentumGA("pp_in_7Li@p + 7Li_to_p + p_6He",
400 "Quasi-free particle production <nucleus_fermi>", -1);
401 // Now add all particles
402 // Define spectators and final decay products (the granddaughters)
403 pmodel->Add("q,parent");
404 pmodel->Add("p,grandparent,beam");
405 pmodel->Add("7Li,grandparent,target");
406 pmodel->Add("6He,daughter,spectator");
407 pmodel->Add("q,daughter,composite");
408 pmodel->Add("p,granddaughter,participant");
409 pmodel->Add("p,granddaughter,p2");
410 pdmutil->Add(pmodel);
411
412 //12C
413 makeStaticData()->AddParticle(614014, "p + 12C", 11.174862 + p_mass);
414 makeStaticData()->AddAlias("p + 12C", "p+12C");
415 makeStaticData()->AddDecay(-1, "p + 12C -> (p + n) + 11C (quasi-free)",
416 "p + 12C", "p + n,11C", 1.0);
417 pmodel =
418 new PFermiMomentumGA("pn_in_12C@p + 12C_to_p + n_11C",
419 "Quasi-free particle production <nucleus_fermi>", -1);
420 pmodel->Add("q,parent");
421 pmodel->Add("p,grandparent,beam");
422 pmodel->Add("12C,grandparent,target");
423 pmodel->Add("11C,daughter,spectator");
424 pmodel->Add("q,daughter,composite");
425 pmodel->Add("n,granddaughter,participant");
426 pmodel->Add("p,granddaughter,p2");
427 pdmutil->Add(pmodel);
428 //p spectator:
429 makeStaticData()->AddDecay(-1, "p + 12C -> (p + p) + 11B (quasi-free)",
430 "p + 12C", "p + p,11B", 1.0);
431 pmodel =
432 new PFermiMomentumGA("pp_in_12C@p + 12C_to_p + p_11B",
433 "Quasi-free particle production <nucleus_fermi>", -1);
434 pmodel->Add("q,parent");
435 pmodel->Add("p,grandparent,beam");
436 pmodel->Add("12C,grandparent,target");
437 pmodel->Add("11B,daughter,spectator");
438 pmodel->Add("q,daughter,composite");
439 pmodel->Add("p,granddaughter,participant");
440 pmodel->Add("p,granddaughter,p2");
441 pdmutil->Add(pmodel);
442
443 //40Ca
444 makeStaticData()->AddParticle(670014, "p + 40Ca", 37.214694 + p_mass);
445 makeStaticData()->AddAlias("p + 40Ca", "p+40Ca");
446 makeStaticData()->AddDecay(-1, "p + 40Ca -> (p + n) + 39Ca (quasi-free)",
447 "p + 40Ca","p + n,39Ca", 1.0);
448 pmodel =
449 new PFermiMomentumGA("pn_in_40Ca@p + 40Ca_to_p + n_39Ca",
450 "Quasi-free particle production <nucleus_fermi>", -1);
451 pmodel->Add("q,parent");
452 pmodel->Add("p,grandparent,beam");
453 pmodel->Add("40Ca,grandparent,target");
454 pmodel->Add("39Ca,daughter,spectator");
455 pmodel->Add("q,daughter,composite");
456 pmodel->Add("n,granddaughter,participant");
457 pmodel->Add("p,granddaughter,p2");
458 pdmutil->Add(pmodel);
459
460 //p spectator:
461 makeStaticData()->AddDecay(-1, "p + 40Ca -> (p + p) + 39K (quasi-free)",
462 "p + 40Ca", "p + p,39K", 1.0);
463 pmodel =
464 new PFermiMomentumGA("pp_in_40Ca@p + 40Ca_to_p + p_39K",
465 "Quasi-free particle production <nucleus_fermi>", -1);
466 pmodel->Add("q,parent");
467 pmodel->Add("p,grandparent,beam");
468 pmodel->Add("40Ca,grandparent,target");
469 pmodel->Add("39K,daughter,spectator");
470 pmodel->Add("q,daughter,composite");
471 pmodel->Add("p,granddaughter,participant");
472 pmodel->Add("p,granddaughter,p2");
473 pdmutil->Add(pmodel);
474
475 //93Nb
476 makeStaticData()->AddParticle(754014, "p + 93Nb", 86.520784 + p_mass);
477 makeStaticData()->AddAlias("p + 93Nb","p+93Nb");
478 makeStaticData()->AddDecay(-1, "p + 93Nb -> (p + n) + 92Nb (quasi-free)",
479 "p + 93Nb", "p + n,92Nb", 1.0);
480 pmodel =
481 new PFermiMomentumGA("pn_in_93Nb@p + 93Nb_to_p + n_92Nb",
482 "Quasi-free particle production <nucleus_fermi>", -1);
483 pmodel->Add("q,parent");
484 pmodel->Add("p,grandparent,beam");
485 pmodel->Add("93Nb,grandparent,target");
486 pmodel->Add("92Nb,daughter,spectator");
487 pmodel->Add("q,daughter,composite");
488 pmodel->Add("n,granddaughter,participant");
489 pmodel->Add("p,granddaughter,p2");
490 pdmutil->Add(pmodel);
491 //p spectator:
492 makeStaticData()->AddDecay(-1, "p + 93Nb -> (p + p) + 92Zr (quasi-free)",
493 "p + 93Nb", "p + p,92Zr", 1.0);
494 pmodel =
495 new PFermiMomentumGA("pp_in_93Nb@p + 93Nb_to_p + p_92Zr",
496 "Quasi-free particle production <nucleus_fermi>", -1);
497 pmodel->Add("q,parent");
498 pmodel->Add("p,grandparent,beam");
499 pmodel->Add("93Nb,grandparent,target");
500 pmodel->Add("92Zr,daughter,spectator");
501 pmodel->Add("q,daughter,composite");
502 pmodel->Add("p,granddaughter,participant");
503 pmodel->Add("p,granddaughter,p2");
504 pdmutil->Add(pmodel);
505
506
507 //3He
508 makeStaticData()->AddParticle(49014,"p + 3He",2.808391 + p_mass);
509 makeStaticData()->AddAlias("p + 3He", "p+3He");
510 makeStaticData()->AddDecay(-1, "p + 3He -> (p + p) + d (quasi-free)",
511 "p + 3He", "p + p,d", 1.0);
512 pmodel =
513 new PFermiMomentumGA("pp_in_3He@p + 3He_to_p + p_d",
514 "Quasi-free particle production <nucleus_fermi>", -1);
515 pmodel->Add("q,parent");
516 pmodel->Add("p,grandparent,beam");
517 pmodel->Add("3He,grandparent,target");
518 pmodel->Add("d,daughter,spectator");
519 pmodel->Add("q,daughter,composite");
520 pmodel->Add("p,granddaughter,participant");
521 pmodel->Add("p,granddaughter,p2");
522 pdmutil->Add(pmodel);
523
524 //4He
525 makeStaticData()->AddParticle(47014, "p + 4He", 3.727379 + p_mass);
526 makeStaticData()->AddAlias("p + 4He", "p+4He");
527 makeStaticData()->AddDecay(-1, "p + 4He -> (p + n) + 3He (quasi-free)",
528 "p + 4He", "p + n,3He", 1.0);
529 pmodel =
530 new PFermiMomentumGA("pn_in_4He@p + 4He_to_p + n_3He",
531 "Quasi-free particle production <nucleus_fermi>", -1);
532 pmodel->Add("q,parent");
533 pmodel->Add("p,grandparent,beam");
534 pmodel->Add("4He,grandparent,target");
535 pmodel->Add("3He,daughter,spectator");
536 pmodel->Add("q,daughter,composite");
537 pmodel->Add("n,granddaughter,participant");
538 pmodel->Add("p,granddaughter,p2");
539 pdmutil->Add(pmodel);
540
541
542 proton_active = kTRUE;
543 return kTRUE;
544 }
545
546
547 return kFALSE;
548}
549
550
551
553
554
555
ClassImp(PBeamLineSimulation) PBeamLineSimulation
PDistributionManagerUtil * makeDistributionManagerUtil()
PStaticData * makeStaticData()
Bool_t RequiresPlugin(const char *name)
int Add(PDistribution *dist)
Int_t AddSubGroup(const Char_t *id, const Char_t *de, const Char_t *sub)
void SetGroup(const Char_t *id)
Bool_t ExecCommand(const char *command, Double_t value)
PNucleusFermiPlugin(const Char_t *id, const Char_t *de)
int AddDecay(int didx, const char *name, const char *parent, const char *daughters, double br)
double GetParticleMass(const int &id)
int AddParticle(int pid, const char *name, double mass)
int AddAlias(const char *old_name, const char *new_name)
PFermiMomentumDD * pmodel
Definition fermi_dd.C:38