COSMOS v7.655  COSMOSv7655
(AirShowerMC)
cpiMuDecay.f
Go to the documentation of this file.
1 ! ******************************************************************
2 ! * *
3 ! * cpimu: pi-->mu decay with polarization
4 ! * *
5 ! ******************************************************************
6 !
7 !
8 !
9  subroutine cpimudecay(pj, mupol, a, np, polari)
10  implicit none
11 !---- include '../../Zptcl.h'
12 #include "Zptcl.h"
13 #include "Zcode.h"
14 
15  type(ptcl):: pj ! input. pion
16  logical mupol ! if T, polarization is taken into account
17  type(ptcl):: a(*) ! to store decay product
18  integer np ! no. of ptcls stored in a
19  real*8 polari
20  integer subcode, charge
21 !
22 ! pi --> mu+neumu (muon should be set last)
23  subcode = -pj%charge
24  call cmkptc(kneumu, subcode, 0, a(1))
25  charge = pj%charge
26  call cmkptc(kmuon, 0, charge, a(2))
27  if(pj%fm%p(4) <= pj%mass) then
28 ! stopping pion.
29 ! In some case, Ppi /=0 seems to result in.
30 ! reset Ppi
31  pj%fm%p(1:3) = 0.
32  pj%fm%p(4) = pj%mass
33  endif
34  call c2bdcy(pj, a(1), a(2))
35 ! set polarization of muon
36  if(mupol) then
37  call cpimupolari(pj, a(2), polari)
38  else
39  polari=0.
40  endif
41  np=2
42  end
subroutine cpimudecay(pj, mupol, a, np, polari)
Definition: cpiMuDecay.f:10
max ptcl codes in the kneumu
Definition: Zcode.h:2
subroutine cpimupolari(pion, muon, polari)
Definition: cpimuPolari.f:2
subroutine c2bdcy(p, p1, p2)
Definition: c2bdcy.f:44
subroutine cmkptc(code, subcode, charge, p)
Definition: cmkptc.f:15
Definition: Zptcl.h:75
max ptcl codes in the kmuon
Definition: Zcode.h:2