COSMOS v7.655  COSMOSv7655
(AirShowerMC)
csigmaDecay.f
Go to the documentation of this file.
1 ! ******************************************************************
2 ! * *
3 ! * csigmaDecay: sigma +0- and their antiptcl
4 ! * *
5 ! ******************************************************************
6 !
7  subroutine csigmadecay(pj, a, np)
8  implicit none
9 #include "Zptcl.h"
10 #include "Zcode.h"
11 
12  integer np !output. no. of ptcls produced
13  type(ptcl):: pj ! input. kaon
14  type(ptcl):: a(*) ! output. produced ptcls
15 !
16 !
17  if(pj%charge .eq. 1) then
18 ! Sigma +
19  call csigmapdcy(pj, a, np)
20  elseif(pj%charge .eq. 0) then
21 ! sigma 0
22  call csigma0dcy(pj, a, np)
23  elseif(pj%charge .eq. -1) then
24 ! sigma -1
25  call csigmamdcy(pj, a, np)
26  endif
27  end
28  subroutine csigmapdcy(pj, a, np)
29 !
30 ! sigma+ decay
31 ! 1) Sigma---->p pi0 (51.6%0
32 ! 2) ---->n pi+ 48.4
33  implicit none
34 #include "Zptcl.h"
35 #include "Zcode.h"
36  integer np
37  type(ptcl):: pj
38  type(ptcl):: a(*)
39  integer subcode, charge
40 
41  real*8 u
42  call rndc(u)
43  subcode = pj%subcode
44  charge = -pj%subcode
45  if(u .lt. .516) then
46 ! p+pi0 or conjugae
47  call cmkptc(kpion, 0, 0, a(1))
48  call cmkptc(knuc, subcode, charge, a(2))
49  call c2bdcy(pj, a(1), a(2))
50  np=2
51  else
52 ! n pi+
53  call cmkptc(kpion, regptcl, -charge, a(1))
54  call cmkptc(knuc, subcode, 0, a(2))
55  call c2bdcy(pj, a(1), a(2))
56  np=2
57  endif
58  end
59  subroutine csigma0dcy(pj, a, np)
60 !
61 ! sigma0 decay
62 ! 1) Sigma---->Lamda gamma 100 %
63  implicit none
64 #include "Zptcl.h"
65 #include "Zcode.h"
66  integer np
67  type(ptcl):: pj
68  type(ptcl):: a(*)
69  integer subcode
70 
71  subcode = pj%subcode
72  call cmkptc(klambda, subcode, 0, a(1) )
73  call cmkptc(kphoton, 0, 0, a(2) )
74  call c2bdcy(pj, a(1), a(2))
75  np=2
76  end
77  subroutine csigmamdcy(pj, a, np)
78 !
79 ! sigma- decay
80 ! 1) Sigma---->n pi- 100 %
81  implicit none
82 #include "Zptcl.h"
83 #include "Zcode.h"
84  integer np
85  type(ptcl):: pj
86  type(ptcl):: a(*)
87  integer subcode, charge
88 
89  subcode = pj%subcode
90  charge = pj%subcode
91 
92 ! n+pi-
93  call cmkptc(kpion, 0, charge, a(1))
94  call cmkptc(knuc, subcode, 0 , a(2))
95  call c2bdcy(pj, a(1), a(2))
96  np=2
97  end
subroutine csigmapdcy(pj, a, np)
Definition: csigmaDecay.f:29
const int kphoton
Definition: Zcode.h:6
subroutine rndc(u)
Definition: rnd.f:91
subroutine csigmadecay(pj, a, np)
Definition: csigmaDecay.f:8
max ptcl codes in the kseethru ! subcode integer regptcl
Definition: Zcode.h:2
subroutine csigma0dcy(pj, a, np)
Definition: csigmaDecay.f:60
max ptcl codes in the klambda
Definition: Zcode.h:2
********************block data cblkHeavy ********************integer j data *HeavyG2symbol *data *HeavyG2code knuc
Definition: cblkHeavy.h:7
subroutine c2bdcy(p, p1, p2)
Definition: c2bdcy.f:44
subroutine cmkptc(code, subcode, charge, p)
Definition: cmkptc.f:15
subroutine csigmamdcy(pj, a, np)
Definition: csigmaDecay.f:78
Definition: Zptcl.h:75
max ptcl codes in the kpion
Definition: Zcode.h:2