22 if(pj%charge .ne. 0)
then 24 call ckchgdcy(pj, mupol, a, np, polari)
25 elseif(abs(pj%subcode) .eq.
k0s)
then 33 subroutine ckchgdcy(pj, mupol, a, np, polari)
55 integer icp(2)/1, 0/, icm(2)/-1, 0/
56 integer icp3(3)/1, 1, -1/
57 integer icm3(3)/-1, 1, -1/
58 integer ic3p0(3)/1, 0, 0/, ic3m0(3)/-1,0,0/
68 elseif(u .lt. .845)
then 70 if(pj%charge .gt. 0)
then 75 elseif(u .lt. .893)
then 81 elseif(u .lt. .925)
then 92 elseif(u .lt. .981)
then 94 if(pj%charge .eq. 1)
then 100 if(pj%charge .eq. 1.)
then 120 type(
ptcl):: pj, a(*)
121 logical,
intent(in):: mupol
122 real(8),
intent(out):: polari
124 integer ic1(2)/1, -1/, ic2(2)/0, 0/
127 real(8),
parameter::br(4)=(/69.20
d0,30.69
d0,7.04
d-2,4.69
d-2/)
128 logical,
save::first=.
true.
129 real(8),
save:: cbr(4)
134 cbr(i) = cbr(i-1)+ cbr(i)
136 if( k0ssemild == 1)
then 138 cbr(:) = cbr(:)/cbr(3)
139 elseif(k0ssemild == 2)
then 142 cbr(:) = cbr(:)/cbr(4)
143 elseif( k0ssemild == 12)
then 145 cbr(:) = cbr(:)/cbr(4)
146 elseif( k0ssemild == 0)
then 148 cbr(:) = cbr(:)/cbr(2)
150 write(0,*)
' K0sSemiLD =', k0ssemild,
' invalid' 161 if(u .lt. cbr(i))
exit 169 elseif( i == 2 )
then 171 elseif( i == 3 )
then 201 integer ic(3)/0, 0, 0/, ic2(3)/1, -1, 0/
211 elseif(u .lt. .658)
then 222 elseif(u .lt. .873)
then 246 real*8 u, ecm, cosa, f, pcm
254 if(pj%charge .eq. -1.)
then 259 elseif(pj%charge .eq. 1)
then 296 ecm=max(f*pj%mass, a(np)%mass*1.0001
d0)
297 pcm=sqrt(ecm**2- a(np)%mass**2)
303 a(2)%fm%p(4) = pj%mass- ecm - a(1)%fm%p(4)
304 if( a(2)%fm%p(4) .gt. a(2)%mass)
then 306 a(2)%fm%p(1) = -a(1)%fm%p(1) - a(np)%fm%p(1)
307 a(2)%fm%p(2) = -a(1)%fm%p(2) - a(np)%fm%p(2)
308 a(2)%fm%p(3) = -a(1)%fm%p(3) - a(np)%fm%p(3)
314 call cibst1(i, pj, a(i), a(i))
342 if(pj%charge .eq. 1)
then 346 elseif(pj%charge .eq. -1)
then 364 call cnbdcy(3, pj%mass, a, 0, w, icon)
367 call cibst1(i, pj, a(i), a(i))
382 type(
ptcl):: pj, a(*)
384 real*8 u, f, ecm, cosa
391 if(pj%charge .eq. -1.)
then 395 elseif(pj%charge .eq. 1)
then 424 piesys%fm%p(4) = pj%mass - ecm
425 if( piesys%fm%p(4) .gt. a(2)%mass+ a(3)%mass)
then 426 piesys%fm%p(1) = -a(1)%fm%p(1)
427 piesys%fm%p(2) = -a(1)%fm%p(2)
428 piesys%fm%p(3) = -a(1)%fm%p(3)
429 piesys%mass = piesys%fm%p(4)**2 -(
430 * piesys%fm%p(1)**2+ piesys%fm%p(2)**2+piesys%fm%p(3)**2 )
431 if(piesys%mass .gt. 0.)
then 432 piesys%mass = sqrt(piesys%mass)
433 call c2bdcy(piesys, a(2), a(3))
441 call cibst1(i, pj, a(i), a(i))
451 subroutine ckmudecay(pj, mupol, a, np, polari)
464 integer charge, subcode
476 call c2bdcy(pj, a(1), a(2))
497 type(
ptcl):: pj, a(*)
501 call c2bdcy(pj, a(1), a(2))
516 type(
ptcl):: pj, a(*)
524 call cnbdcy(3, pj%mass, a, 0, w, icon)
527 call cibst1(i, pj, a(i), a(i))
subroutine csampmuekl3(f)
subroutine ckmudecay(pj, mupol, a, np, polari)
max ptcl codes in the kseethru ! subcode integer k0s
subroutine ckmuneupidcy2(pj, a, np)
subroutine cibst1(init, p1, p2, po)
max ptcl codes in the kelec
subroutine ck2pidecay(pj, ic, a, np)
block data cblkElemag data *AnihiE ! Eposi< 1 TeV, anihilation considered *X0/365.667/, ! radiation length of air in kg/m2 *Ecrit/81.e-3/, ! critical energy of air in GeV *MaxComptonE/1./, ! compton is considered below 1 GeV *MaxPhotoE/1.e-3/, ! above this, PhotoElectric effect neg. *MinPhotoProdE/153.e-3/, ! below 153 MeV, no gp --> hadrons ! scattering const not MeV *Knockon true
max ptcl codes in the kneue
subroutine ckmupolari(kaon, muon, polari)
subroutine cnbdcy(n, ecm, p, jw, w, icon)
max ptcl codes in the kseethru ! subcode integer regptcl
subroutine ckpieneudecay(pj, a, np)
subroutine ckmuneupidcy(pj, a, np, polari)
block data cblkEvhnp ! currently usable models data RegMdls ad *special data *Cekaon d0
max ptcl codes in the kneumu
subroutine cklongdecay(pj, mupol, a, np, polari)
subroutine cpcos2pxyz(cosa, p, pxyz)
dE dx *! Nuc Int sampling table d
subroutine csampneuekl3(f)
subroutine ckaondecay(pj, mupol, a, np, polari)
subroutine c2bdcy(p, p1, p2)
block data cblkElemag data *AnihiE ! Eposi< 1 TeV, anihilation considered *X0/365.667/, ! radiation length of air in kg/m2 *Ecrit/81.e-3/, ! critical energy of air in GeV *MaxComptonE/1./, ! compton is considered below 1 GeV *MaxPhotoE/1.e-3/, ! above this, PhotoElectric effect neg. *MinPhotoProdE/153.e-3/, ! below 153 MeV, no gp --> hadrons ! scattering const not MeV *Knockon ! knockon is considered Obsolete *PhotoProd false
subroutine cmkptc(code, subcode, charge, p)
subroutine ckchgdcy(pj, mupol, a, np, polari)
subroutine ckshortdecay(pj, mupol, a, np, polari)
max ptcl codes in the kseethru ! subcode integer antip
max ptcl codes in the kpion
subroutine cmupolatlabk(jpa, muon, kaon, p)
max ptcl codes in the kmuon
subroutine ck3pidecay(pj, ic, a, np)