COSMOS v7.655  COSMOSv7655
(AirShowerMC)
cetapDecay.f
Go to the documentation of this file.
1 ! testing eta' cetapDecay
2 ! implicit none
3 !#include "Zptcl.h"
4 !#include "Zcode.h"
5 ! record /ptcl/ etap
6 ! record /ptcl/a(10)
7 ! integer n, i, j
8 !c make eta
9 ! call cmkptc(ketap, 0, 0, etap)
10 ! etap.fm.p(1) = 1.
11 ! etap.fm.p(2) = -1.
12 ! etap.fm.p(3) = 100.
13 ! etap.fm.p(4) = sqrt(etap.fm.p(3)**2 +
14 ! * etap.fm.p(1)**2 + etap.fm.p(2)**2 + etap.mass**2)
15 ! do i = 1, 10000
16 ! call cetapDecay(etap, a, n)
17 ! do j =1 , n
18 ! write(*, *) sngl(a(j).fm.p(4)), a(j).code
19 ! enddo
20 ! enddo
21 ! end
22 ! ******************************************************************
23 ! * *
24 ! * cetapDecay: eta' decay
25 ! * *
26 ! ******************************************************************
27 ! eta'--> pi+pi-eta 42.6 % cum 0.426
28 ! --> pi+pi-gamma 28.9 % (inc. rho0 + gamma); 0.715
29 ! --> pi0 pi0 eta 22.8 % 0.943
30 ! --> g g 2.22 0.965
31 ! --> omega gamma 2.62 ~1.000
32  subroutine cetapdecay(pj, a, np)
33  implicit none
34 #include "Zptcl.h"
35 #include "Zcode.h"
36 
37  integer np !output. no. of ptcls produced
38  type(ptcl),intent(in):: pj
39  type(ptcl),intent(out):: a(*)
40  integer i, icon
41  real*8 u, w
42 !
43  call rndc(u)
44  if(u .lt. 0.426d0) then
45 ! pi+ pi- eta
46  call cmkptc(kpion, -1, 1, a(1))
47  call cmkptc(kpion, 1, -1, a(2))
48  call cmkptc(keta, 0, 0, a(3) )
49  call cnbdcy(3, pj%mass, a, 0, w, icon)
50  np=3
51  elseif(u .lt. .715d0 ) then
52 ! pi+ pi- gamma
53  call cmkptc(kpion, -1, 1, a(1))
54  call cmkptc(kpion, 1, -1, a(2))
55  call cmkptc(kphoton, 0, 0, a(3))
56  call cnbdcy(3, pj%mass, a, 0, w, icon)
57  np = 3
58  elseif( u .lt. 0.943d0 ) then
59 ! pi0 pi0 eta
60  call cmkptc(kpion, 0, 0, a(1))
61  call cmkptc(kpion, 0, 0, a(2))
62  call cmkptc(keta, 0, 0, a(3))
63  call cnbdcy(3, pj%mass, a, 0, w, icon)
64  np = 3
65  elseif( u .lt. 0.965d0) then
66 ! g g
67  call cmkptc(kphoton, 0, 0, a(1))
68  call cmkptc(kphoton, 0, 0, a(2))
69  call c2bdcy(pj, a(1), a(2))
70  np = 2
71  else
72 ! omega gamma
73  call cmkptc(komega, 0, 0, a(1))
74  call cmkptc(kphoton, 0,0, a(2))
75  call c2bdcy(pj, a(1), a(2))
76  np = 2
77  endif
78  if( np > 2 ) then
79  do i=1, np
80  call cibst1(i, pj, a(i), a(i))
81  enddo
82  endif
83  end
const int kphoton
Definition: Zcode.h:6
subroutine cibst1(init, p1, p2, po)
Definition: cibst1.f:29
subroutine cnbdcy(n, ecm, p, jw, w, icon)
Definition: cnbdcy.f:48
subroutine rndc(u)
Definition: rnd.f:91
max ptcl codes in the komega
Definition: Zcode.h:2
block data cblkEvhnp ! currently usable models data RegMdls ad *special data *Cekaon d0
Definition: cblkEvhnp.h:5
subroutine cetapdecay(pj, a, np)
Definition: cetapDecay.f:33
subroutine c2bdcy(p, p1, p2)
Definition: c2bdcy.f:44
subroutine cmkptc(code, subcode, charge, p)
Definition: cmkptc.f:15
max ptcl codes in the keta
Definition: Zcode.h:2
Definition: Zptcl.h:75
max ptcl codes in the kpion
Definition: Zcode.h:2