COSMOS v7.655  COSMOSv7655
(AirShowerMC)
cgetctau.f
Go to the documentation of this file.
1 ! ---------------------------------------------------------------------
2 ! cgettauc: get (mean life time) x (light velocity) of
3 ! a given particle
4 !
5  subroutine cgetctau(proj, ctau)
6 
7  implicit none
8 
9 #include "Zglobalc.h"
10 #include "Zlife.h"
11 #include "Zptcl.h"
12 #include "Zcode.h"
13 ! **************************************************
14  type(ptcl)::proj
15  real*8 ctau
16 !
17 !
18  real*8 tcpi, tck, tcmu, tcks, tckl, tcpi0, tcd0, tcdc,
19  * tceta, tcsigma0, tcsigmap, tcsigmam, tcgzai0,
20  * tcgzaim, tcbomega, tclambda, tclambdac
21 
22  parameter(tcpi=t0pi*c, tck=t0k*c,
23  * tcmu=t0mu*c, tcks=t0ks*c,
24  * tckl=t0kl*c, tcsigma0=t0sigma0*c,
25  * tcsigmap = t0sigmap*c, tcsigmam=t0sigmam*c,
26  * tcgzai0 = t0gzai0 * c, tcgzaim=t0gzaim*c,
27  * tclambda =t0lambda*c, tclambdac=t0lambdac*c,
28  * tcbomega = t0bomega*c,
29  * tcpi0=t0pi0*c, tcd0=t0d0*c,
30  * tcdc =t0dc*c, tceta= t0eta*c)
31 
32  real(8),parameter:: tcds=t0ds*c, tctau=t0tau*c, tcxic=t0xic*c,
33  * tcomec0 = t0omec0*c, tcetap= t0etap*c, tcxic0=t0xic0*c
34 ! * tcrho = t0rho*c,
35 ! * tcomega = t0omega*c, tcphi=t0phi*c
36 
37 
38  if(proj%code .eq. kpion) then
39  if(proj%charge .ne. 0) then
40  ctau = tcpi
41  else
42  ctau = tcpi0
43  endif
44  elseif(proj%code .eq. kkaon) then
45  if(proj%charge .ne. 0) then
46  ctau = tck
47  elseif(abs(proj%subcode) .eq. k0l) then
48  ctau = tckl
49  elseif(abs(proj%subcode) .eq. k0s) then
50  ctau = tcks
51  else
52  write(0,*) ' K0 subcode=', proj%subcode, ' stragne'
53  stop
54  endif
55  elseif(proj%code .eq. kmuon) then
56  ctau = tcmu
57  elseif(proj%code == knuc ) then
58  ctau = infty
59  elseif(proj%code .eq. knnb) then
60  ctau =0.
61  elseif(proj%code .eq. kddb) then
62  ctau = 0.
63  elseif(proj%code .eq. kdmes) then
64  if(proj%charge .eq. 0) then
65  ctau = tcd0
66  else
67  ctau = tcdc
68  endif
69  elseif(proj%code .eq. ksigma) then
70  if(proj%charge .eq. 0) then
71  ctau = tcsigma0
72  elseif(proj%charge .eq. 1) then
73  if(proj%subcode .eq. regptcl) then
74  ctau = tcsigmap
75  else
76  ctau = tcsigmam
77  endif
78  else
79  if(proj%subcode .eq. regptcl) then
80  ctau = tcsigmam
81  else
82  ctau = tcsigmap
83  endif
84  endif
85  elseif(proj%code .eq. kgzai) then
86  if(proj%charge .eq. 0) then
87  ctau = tcgzai0
88  else
89  ctau = tcgzaim
90  endif
91  elseif(proj%code .eq. klambda ) then
92  ctau = tclambda
93  elseif(proj%code .eq. klambdac) then
94  ctau = tclambdac
95  elseif(proj%code .eq. kbomega) then
96  ctau = tcbomega
97  elseif(proj%code .eq. krho) then
98  ctau = 0.
99  elseif(proj%code .eq. kphi) then
100  ctau =0.
101  elseif(proj%code .eq. komega) then
102  ctau = 0.
103  elseif(proj%code .eq. keta ) then
104  ctau = tceta
105  elseif(proj%code .eq. kds ) then
106  ctau = tcds
107  elseif( proj%code .eq. ketap ) then
108  ctau = tcetap
109  elseif( proj%code .eq. kdelta ) then
110  ctau = 0
111  elseif( proj%code .eq. kxic ) then
112  if( proj%charge == 0) then
113  ctau = tcxic0
114  else
115  ctau = tcxic
116  endif
117  elseif( proj%code .eq. komec0 ) then
118  ctau = tcomec0
119  elseif( proj%code .eq. ktau ) then
120  ctau = tctau
121  else
122  ctau = infty
123  endif
124  end
integer npitbl real *nx parameter(n=101, npitbl=46, nx=n-1) real *8 uconst
! life time in s real t0d0
Definition: Zlife.h:2
! life time in s real t0dc real * t0sigmap
Definition: Zlife.h:2
max ptcl codes in the kgzai
Definition: Zcode.h:2
max ptcl codes in the ketap
Definition: Zcode.h:2
! life time in s real t0dc real t0gzaim real * t0lambda
Definition: Zlife.h:2
max ptcl codes in the kseethru ! subcode integer k0l
Definition: Zcode.h:2
! life time in s real * t0pi
Definition: Zlife.h:2
max ptcl codes in the kdmes
Definition: Zcode.h:2
! life time in s real t0ks
Definition: Zlife.h:2
max ptcl codes in the kseethru ! subcode integer k0s
Definition: Zcode.h:2
max ptcl codes in the kphi
Definition: Zcode.h:2
max ptcl codes in the klambdac
Definition: Zcode.h:2
! life time in s real t0dc real t0gzai0
Definition: Zlife.h:2
! life time in s real t0dc real t0gzaim real t0lambdac
Definition: Zlife.h:2
max ptcl codes in the kkaon
Definition: Zcode.h:2
! life time in s real t0dc real t0sigmam
Definition: Zlife.h:2
! life time in s real t0dc real t0gzaim real t0bomega real * t0ds
Definition: Zlife.h:2
! life time in s real t0dc real t0gzaim real t0eta
Definition: Zlife.h:2
! life time in s real t0dc real t0gzaim real t0bomega real t0tau
Definition: Zlife.h:2
max ptcl codes in the komega
Definition: Zcode.h:2
max ptcl codes in the kseethru ! subcode integer regptcl
Definition: Zcode.h:2
! life time in s real t0kl
Definition: Zlife.h:2
max ptcl codes in the klambda
Definition: Zcode.h:2
********************block data cblkHeavy ********************integer j data *HeavyG2symbol *data *HeavyG2code knuc
Definition: cblkHeavy.h:7
max ptcl codes in the krho
Definition: Zcode.h:2
! life time in s real t0mu
Definition: Zlife.h:2
max ptcl codes in the knnb
Definition: Zcode.h:2
subroutine cgetctau(proj, ctau)
Definition: cgetctau.f:6
max ptcl codes in the kds
Definition: Zcode.h:2
max ptcl codes in the ktau
Definition: Zcode.h:2
max ptcl codes in the keta
Definition: Zcode.h:2
Definition: Zptcl.h:75
! life time in s real t0k
Definition: Zlife.h:2
max ptcl codes in the kpion
Definition: Zcode.h:2
max ptcl codes in the ksigma
Definition: Zcode.h:2
max ptcl codes in the kddb
Definition: Zcode.h:2
max ptcl codes in the kmuon
Definition: Zcode.h:2
max ptcl codes in the kbomega
Definition: Zcode.h:2
! life time in s real t0pi0
Definition: Zlife.h:2
! life time in s real t0dc real t0sigma0
Definition: Zlife.h:2
dE dx *! Nuc Int sampling table c
Definition: cblkMuInt.h:130