Pluto
v6.3.0
Loading...
Searching...
No Matches
fermi_dd.C
Go to the documentation of this file.
1
//TITLE <PFermiMomentumDD> The scattering of two nucleons inside deuterons
2
3
//This macro demonstrates how the model PFermiMomentumDD
4
//can be used
5
6
{
7
//This is the real reaction:
8
PParticle
*
beam
=
new
PParticle
(
"d"
, 2.2);
9
PParticle
*
target
=
new
PParticle
(
"d"
);
10
11
//Set the values BEFORE using the "+" operator
12
//beam->SetValue(P_SCATTER);
13
target
->SetValue(
P_SCATTER
);
14
15
PParticle
*
s
=
new
PParticle
(*
beam
+*
target
);
16
17
s
->Print(
"scatter"
);
18
19
//Quasi-free sub-reaction:
20
PParticle
*
beam2
=
new
PParticle
(
"p"
);
21
PParticle
*
target2
=
new
PParticle
(
"n"
);
22
PParticle
*
spectator1
=
new
PParticle
(
"n"
);
23
PParticle
*
spectator2
=
new
PParticle
(
"p"
);
24
PParticle
*
s2
=
new
PParticle
(*
beam2
+ *
target2
);
25
26
//The 2 outgoing products of the p-n scattering:
27
PParticle
*
p1
=
new
PParticle
(
"p"
);
28
PParticle
*
p2
=
new
PParticle
(
"n"
);
29
30
PParticle
*
cc1
[] = {
s
,
s2
,
spectator1
,
spectator2
};
31
PParticle
*
cc2
[] = {
s2
,
p1
,
p2
};
32
33
PChannel
*
c1
=
new
PChannel
(
cc1
, 3);
34
PChannel
*
c2
=
new
PChannel
(
cc2
, 2);
35
PChannel
*
cc
[] = {
c1
,
c2
};
36
37
//PFermiMomentumDD *pmodel = new PFermiMomentumDD("nn_in_dd","Quasi-free particle production");
38
PFermiMomentumDD
*
pmodel
=
39
new
PFermiMomentumDD
(
"nn_in_dd@d + d_to_p + n_n_p"
,
"Quasi-free particle production"
, -1);
40
41
//now add all particles
42
//define spectators and final decay products (the granddaughters)
43
pmodel
->Add(
"q,parent"
);
44
pmodel
->Add(
"d,grandparent,beam"
);
45
pmodel
->Add(
"d,grandparent,target"
);
46
pmodel
->Add(
"p,daughter,spectator"
);
47
pmodel
->Add(
"n,daughter,spectator"
);
48
pmodel
->Add(
"q,daughter,composite"
);
49
pmodel
->Add(
"p,granddaughter,p1"
);
50
pmodel
->Add(
"n,granddaughter,p2"
);
51
52
//make it known to the Pluto world:
53
makeDistributionManager
()->Add(
pmodel
);
54
makeDistributionManager
()->Print(
"user"
);
//The "Print()" statement is optional
55
56
PReaction
*
r
=
new
PReaction
(
cc
,
"fermi_dd"
, 2, 1, 0, 0, 0);
57
58
r
->Print();
59
60
r
->loop(100000);
61
}
P_SCATTER
#define P_SCATTER
Definition
PValues.h:19
c1
c1
Definition
analyze_pp_delta_dalitz.C:23
PChannel
Definition
PChannel.h:33
PFermiMomentumDD
Definition
PFermiMomentumDD.h:9
PParticle
Definition
PParticle.h:25
PReaction
Definition
PReaction.h:37
p2
PParticle p2("p")
r
PReaction r(c,"eta_dalitz", 3, 0, 0, 0, 1)
p1
PParticle p1("p", beam_energy)
s2
PParticle * s2[]
Definition
dp_2delta_dalitz.C:28
c2
PChannel * c2
Definition
dp_2delta_dalitz.C:32
cc
PChannel * cc[]
Definition
dp_2delta_dalitz.C:36
s
PParticle * s
Definition
dp_mult.C:25
cc2
PParticle * cc2[]
Definition
fermi_dd.C:31
pmodel
PFermiMomentumDD * pmodel
Definition
fermi_dd.C:38
cc1
PParticle * cc1[]
Definition
fermi_dd.C:30
spectator1
PParticle * spectator1
Definition
fermi_dd.C:22
target2
PParticle * target2
Definition
fermi_dd.C:21
spectator2
PParticle * spectator2
Definition
fermi_dd.C:23
makeDistributionManager
makeDistributionManager() -> Add(pmodel)
target
PParticle * target
Definition
fermi_dd.C:9
beam2
PParticle * beam2
Definition
fermi_dd.C:20
beam
PParticle * beam
Definition
pp_cocktail_35.C:8
pluto6
macros
fermi_dd.C
Generated by
1.14.0