74 subroutine cgphad(massN, atomicN, pj, a, ntp)
84 integer massN, atomicN
86 if( pj%fm%p(4) < 2.5 )
then 87 call cgplowexp(pj, massn, atomicn, a, ntp)
89 call cfakegh(pj, massn, atomicn, a, ntp)
94 subroutine cgplowexp(pj, massN, atomicN, a, ntp)
103 integer,
intent(in):: massN
104 integer,
intent(in):: atomicN
107 integer,
intent(out):: ntp
121 if( massn >= 2 )
then 129 fermim=(pj%fm%p(4) -pj%mass) .lt. efermi
135 call cbst1(1, tgt, pj, pjx)
142 tgt%fm%p(4) = tgt%mass
145 call cgeqm(pj, tgt, cmsp, icon)
147 write(0,*)
' cms cannot be formed in cgpLowExp' 152 if(jtype .eq. 0)
then 155 elseif(jtype .eq. 1)
then 158 call cg1pi0(pjx, ic, a, ntp)
159 elseif(jtype. eq. 2)
then 161 call cg1pic(pjx, ic, a, ntp)
162 elseif(jtype .eq. 3)
then 164 call cg2pi(ic, a, ntp)
165 elseif(jtype .eq. 4)
then 167 call cg3pi(ic, a, ntp)
168 elseif(jtype .eq. 5)
then 170 call cfakegh(pj, massn, atomicn, a, ntp)
172 write(0,*)
' strage jtype=',jtype,
' from cghCollType' 174 if(fermim .and. jtype .le. 2)
then 177 call cibst1(k, tgt, a(k), a(k))
179 elseif(jtype .eq. 3 .or. jtype .eq. 4)
then 182 call cibst1(k, cmsp, a(k), a(k))
206 real*8 egl, xs1, xs2, xs3, xs4, xso, xst, u
208 if(pj%fm%p(4) .lt. 5.)
then 210 egl=log10(pj%fm%p(4)) + 3
212 call cgppip(egl, xs2)
213 call cgppi2(egl, xs3)
214 call cgppi3(egl, xs4)
222 call cgpxs1(pj%fm%p(4), xs)
224 xso=max(0.
d0, xs-(xs1+xs2+xs3+xs4) )
225 if(pj%fm%p(4) .lt. 2.5) xso=0.
226 xst=xs1+xs2+xs3+xs4+xso
229 if(u .lt. xs1/xst)
then 232 elseif(u .lt. (xs1+xs2)/xst)
then 235 elseif(u .lt. (xs1+xs2+xs3)/xst)
then 238 elseif( u .lt. (xs1+xs2+xs3+xs4)/xst)
then 249 subroutine cg1pi0(pj, ic, a, ntp)
256 type(
ptcl):: pj, a(*)
270 eres%fm%p(4) = pj%fm%p(4) + tmass
271 eres%mass = cmsp%mass
272 eres%fm%p(3) = sqrt(eres%fm%p(4)**2 - eres%mass**2)
275 call c2bdcp(eres, a(1), cs, a(2))
280 subroutine cg1pic(pj, ic, a, ntp)
287 type(
ptcl):: pj, a(*)
300 eres%fm%p(4)=pj%fm%p(4) + tmass
301 eres%mass = cmsp%mass
302 eres%fm%p(3) = sqrt(eres%fm%p(4)**2 - eres%mass**2)
305 call c2bdcp(eres, a(1), cs, a(2))
310 subroutine cg2pi(ic, a, ntp)
330 call cnbdcy(3, cmsp%mass, a, 0, w, icon)
333 *
' cnbdcy fails in gp-->p pi+ pi- ',
334 *
' roots=',cmsp%mass,
' icon=',icon
341 subroutine cg3pi(ic, a, ntp)
349 integer ic, ntp, icon
359 call cnbdcy(4, cmsp%mass, a, 0, w, icon)
361 write(0,*)
' cnbdcy fails in gp--> p + 3pi ',
362 *
' roots=', cmsp%mass,
' icon=',icon
373 subroutine cfakegh(pj, massN, atomicN, a, ntp)
383 integer,
intent(in):: massN
384 integer,
intent(in):: atomicN
386 integer,
intent(out)::ntp
403 if(activemdl ==
"qgsjet2")
then 407 call cxsecqgs(pix, massn, xs )
408 call chacol(pix, massn, atomicn, a, ntp)
409 elseif( activemdl ==
"epos")
then 410 call chacol(pj, massn, atomicn, a, ntp)
411 elseif (activemdl /=
"ad-hoc" )
then 420 call cinelx(pix, massn, atomicn, xs)
422 call chacol(pix, massn, atomicn, a, ntp)
427 write(0,*)
"cmkVectorMeson failed" 431 call chacol(vm, massn, atomicn, a, ntp)
448 integer,
intent(out):: jcon
455 p=sqrt(pj%fm%p(4)**2 - vm%mass**2)
457 vm%fm%p(1) = pj%fm%p(1)*alfa
458 vm%fm%p(2) = pj%fm%p(2)*alfa
459 vm%fm%p(3) = pj%fm%p(3)*alfa
460 vm%fm%p(4) = pj%fm%p(4)
471 integer,
intent(in):: nin
473 integer,
intent(out)::nout
479 if( a(i)%code == vm%code )
then 491 alfa=sqrt(dot_product( a(i)%fm%p(1:3),a(i)%fm%p(1:3)))
493 a(i)%fm%p(1:3) = a(i:3)%fm%p(1)/alfa
508 integer,
intent(in):: ntp
516 if( pix%code == a(i)%code )
then 517 if( pix%charge == a(i)%charge )
then 518 if(maxe < a(i)%fm%p(4))
then 527 call cadjm(a(maxi),a(maxi))
553 elseif(u .lt. .92)
then 562 call ksbwig(vm%mass, w, amass)
563 if (amass .gt. vm%mass-w .and. amass .lt. vm%mass+w)
567 if(e .le. amass)
then 572 if (icon .eq. 0 .or. nc .gt. 10)
582 subroutine cvmdcy(vm, a, np)
586 type(
ptcl):: vm, a(*)
589 if(vm%code .eq.
krho)
then 591 elseif(vm%code .eq.
komega)
then 593 elseif(vm%code .eq.
kphi)
then ! life time in s real t0dc real t0gzaim real t0bomega real t0seethru ! decay width in GeV real * wrho
subroutine cghcolltype(pj, jtype)
subroutine cbst1(init, p1, p2, po)
subroutine cgphad(massN, atomicN, pj, a, ntp)
subroutine crhodc(vm, a, np)
subroutine cinelx(pj, A, Z, xs)
! life time in s real t0dc real t0gzaim real t0bomega real t0seethru ! decay width in GeV real wphai
max ptcl codes in the kphi
subroutine cgppi0(egl10, xs)
subroutine cgplowexp(pj, massN, atomicN, a, ntp)
subroutine cg2pi(ic, a, ntp)
subroutine cibst1(init, p1, p2, po)
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
subroutine cg3pi(ic, a, ntp)
subroutine cgeqm(p1, p2, q, icon)
subroutine cnbdcy(n, ecm, p, jw, w, icon)
max ptcl codes in the komega
subroutine cfakegh(pj, massN, atomicN, a, ntp)
subroutine cspiangofpin(cmsein, cn, cpi, cs)
max ptcl codes in the kseethru ! subcode integer regptcl
block data cblkEvhnp ! currently usable models data RegMdls ad *special data *Cekaon d0
subroutine c2bdcp(p, p1, cst, p2)
********************block data cblkHeavy ********************integer j data *HeavyG2symbol *data *HeavyG2code knuc
subroutine cg1pi0(pj, ic, a, ntp)
max ptcl codes in the krho
subroutine comgdc(vm, a, np)
subroutine cfxtgtchg(ia, iz, tcg)
subroutine csampfermim(t)
subroutine cleadingpiaftercol(pix, a, ntp)
subroutine cg1pic(pj, ic, a, ntp)
subroutine cvecmesonaftercol(vm, a, nin, nout)
subroutine cphidc(vm, a, np)
subroutine cmkptc(code, subcode, charge, p)
! life time in s real t0dc real t0gzaim real t0bomega real t0seethru ! decay width in GeV real womega
subroutine cvmdcy(vm, a, np)
max ptcl codes in the kpion
subroutine ksbwig(e0, g, e)
subroutine cgpxs1(Eg, xs)
subroutine chacol(pj, ia, iz, a, ntp)
subroutine cfixvectormeson(e, vm, icon)
subroutine cmkvectormeson(pj, vm, jcon)