1 subroutine ckf2cos(kf, code, subcode, chg)
8 integer code, subcode, chg
15 if( kfabs ==
kfk0 )
then 26 subcode = sign(1, -kf)
28 elseif(kfabs .eq.
kfpi0)
then 32 elseif( kfabs .eq.
kfkaon )
then 36 elseif(kfabs .eq.
kfk0l)
then 38 subcode =sign(
k0l, kf)
40 elseif(kfabs .eq.
kfk0s)
then 42 subcode =sign(
k0s, kf)
68 elseif(kfabs .eq.
kfeta)
then 72 elseif(kfabs .eq.
kfelec)
then 74 subcode = sign(1, -kf)
80 elseif(kfabs .eq.
kfmuon)
then 82 subcode = sign(1, -kf)
84 elseif(kfabs .eq.
kfneue)
then 92 elseif(kfabs .eq.
kfdmes)
then 94 subcode = sign(1, -kf)
96 elseif(kfabs .eq.
kfd0)
then 98 subcode = sign(1, -kf)
102 subcode = sign(1, -kf)
104 elseif( kfabs .ge. 1000000020 .and. kfabs .le. 1000922350 )
then 110 write(0,*)
' anti nuclues is not yet supported ' 114 subcode =( (kfabs/10)*10-(kfabs/10000)*10000 )/10
115 chg =( (kfabs/10000)*10000 - (kfabs/1000000)*1000000 )
117 if( kfabs < 1000010020 )
then 121 elseif(kfabs == kfdelta0)
then 125 elseif(kfabs == kfdeltap)
then 129 elseif(kfabs == kfdeltam)
then 135 subcode = sign(1, -kf)
139 subcode = sign(1, -kf)
143 subcode = sign(1, -kf)
145 elseif(kfabs .eq.
kfgzai0 )
then 147 subcode = sign(1, -kf)
149 elseif(kfabs .eq.
kfgzai )
then 151 subcode = sign(1, -kf)
155 subcode = sign(1, -kf)
159 subcode = sign(1, -kf)
161 elseif(kfabs .eq.
kftau )
then 163 subcode = sign(1, -kf)
167 subcode = sign(1,-kf)
169 elseif(kfabs .eq.
kfrho)
then 173 elseif(kfabs ==
kfrhoc)
then 175 subcode = sign(1, -kf)
177 elseif(kfabs .eq.
kfomega)
then 181 elseif( kfabs .eq.
kfphi )
then 185 elseif( kfabs ==
kfds )
then 188 subcode = sign(1,-kf)
189 elseif( kfabs == kfxic )
then 192 subcode = sign(1,-kf)
193 elseif( kfabs == kfxic0 )
then 197 elseif( kfabs == kfomec0 )
then 200 subcode = sign(1,-kf)
201 elseif( kfabs ==
kfetap )
then 208 if( code ==
krare )
then 209 write(msg, *)
'not implemented kf code=', kf
211 call cerrormsg(
'we neglect this particle',1)
215 subroutine ccos2kf(code, subcode, chg, kf)
220 integer,
intent(in):: code, subcode, chg
221 integer,
intent(out):: kf
224 if(code .eq.
kelec)
then 228 elseif(code .eq.
kpion)
then 234 elseif(code .eq.
kkaon)
then 236 if(abs(subcode) .eq.
k0l)
then 237 kf = sign(
kfk0l, subcode)
239 kf =sign(
kfk0s, subcode)
244 elseif(code .eq.
knuc)
then 250 elseif(code .eq.
kmuon)
then 252 elseif(code .eq.
kneue )
then 253 kf = sign(
kfneue, -subcode)
254 elseif(code .eq.
kneumu)
then 256 elseif(code .eq.
kdmes)
then 258 kf = sign(
kfd0, -subcode)
264 elseif(code .eq.
kgnuc )
then 265 kf = 1000000000 + abs(chg)*10000 + subcode*10
267 elseif( code ==
keta )
then 269 elseif( code ==
krho )
then 275 elseif( code == kdelta )
then 278 elseif( chg == 1 )
then 283 elseif ( code ==
komega )
then 285 elseif( code ==
kphi )
then 287 elseif(code .eq.
ksigma)
then 290 elseif(chg .eq. 0)
then 295 elseif(code .eq.
kgzai)
then 303 elseif(code .eq.
kbomega )
then 305 elseif( code ==
kds )
then 306 kf = sign(
kfds, -chg)
307 elseif( code == kxic )
then 308 kf = sign(kfxic, -chg)
309 elseif( code == komec0 )
then 310 kf = sign(kfomec0, -subcode)
311 elseif( code ==
ktau )
then 312 kf = sign(
kftau, -subcode)
315 elseif( code ==
ketap )
then 317 elseif( code <= 0 )
then 320 write(msg, *)
'code, subcode, chg to ccos2kf=',
323 call cerrormsg(
' cannot be converted to kf code',1)
333 integer,
intent(in):: kf
336 integer:: code, subcode, charge
337 call ckf2cos(kf, code, subcode, charge)
346 type(
ptcl),
intent(in):: p
347 integer,
intent(out):: kf
349 integer:: code, subcode, charge
354 call ccos2kf(code, subcode, charge, kf)
subroutine cerrormsg(msg, needrtn)
subroutine ccos2kfb(p, kf)
max ptcl codes in the kgzai
max ptcl codes in the ketap
subroutine ckf2cos(kf, code, subcode, chg)
max ptcl codes in the kseethru ! subcode integer k0l
max ptcl codes in the kdmes
max ptcl codes in the kgnuc
max ptcl codes in the kseethru ! subcode integer k0s
max ptcl codes in the kphi
max ptcl codes in the klambdac
max ptcl codes in the kkaon
max ptcl codes in the kelec
max ptcl codes in the kneue
max ptcl codes in the kneutau
subroutine ccos2kf(code, subcode, chg, kf)
max ptcl codes in the komega
max ptcl codes in the kseethru ! subcode integer regptcl
max ptcl codes in the kseethru ! subcode integer kneutronb
max ptcl codes in the kseethru ! subcode integer kneutron
max ptcl codes in the klambda
********************block data cblkHeavy ********************integer j data *HeavyG2symbol *data *HeavyG2code knuc
max ptcl codes in the krho
max ptcl codes in the kneumu
max ptcl codes in the kds
subroutine ckf2cosb(kf, p)
max ptcl codes in the ktau
max ptcl codes in the keta
max ptcl codes in the kseethru ! subcode integer antip
max ptcl codes in the kpion
max ptcl codes in the ksigma
max ptcl codes in the kmuon
max ptcl codes in the kbomega
max ptcl codes in the krare