3 subroutine cgnlp(a, ntp, icon)
28 missgm = missingp%mass
45 if(ntp .ge. 1 )
goto 10
50 if(ntp .le. maxiso .and. ntp .ge. 2)
then 52 call ciso(ntp, a, icon)
56 elseif(icon .eq. 2)
then 59 elseif(ntp .ge. 2)
then 68 subroutine ccpmul(roots, avn)
79 real*8 lambda/0.3/, no/0.34/, qcdErg/1000./
85 avn = (no* exp(sqrt(23./18. * log( (roots/lambda))*2))
98 subroutine ccylps(ntp, a, icon)
123 call cgrap(w, ptav, ntp, a, icon)
132 call cibst1(i, missingp, a(i), a(i))
141 subroutine c1pion(a, ntp, icon)
166 real*8 amu(3), roots, gzai
167 integer csum0, csum1, charge
185 csum0 = pjlab%charge + tglab%charge
186 csum1 = rpjcms%charge +rtgcms%charge
187 if( abs(csum1-csum0) .gt. 1)
then 192 charge = csum0 - csum1
205 call cnbdc3(3, roots, p3, amu, 1,
208 call cnbdc4(3, p3, amu, 1, gzai)
225 call cibst1(1, cmsp, rpjcms, rpjlab)
227 call cibst1(2, cmsp, rtgcms, rtglab)
229 call cbst1(1, tglab, rpjlab, rpjtatr)
231 call cbst1(1, pjlab, rtglab, rtgpatr)
237 write(0,*)
' failed to adjust missing mass=',
238 * missingp%mass,
' into pion mass. ' 259 real*8 ptbase/180.d-3/
266 efe0 =max(1.
d0, (efrs**2 -
masn*2- pjlab%mass**2)/2
271 powerexp=1.0
d0 + (efe0)**(-0.05
d0)
272 if(efe0 .lt. 40.)
then 273 xx = (efe0 - 40.)/5.5 + 6.
274 ptnorm = ptbase *exp(xx)/(1+exp(xx))
275 elseif(efe0 .lt. 40000.)
then 281 probpower=min(0.04
d0*nch, 0.33
d0)
284 * (0.01 + 0.01*3.29* missingp%mass**0.3)
285 if(powerp .gt. 100.
d0)
then 291 subroutine caspt(a, ntp)
308 real*8 ptnnb/250.d-3/, ptddb/370.d-3/, ptavpi/180.d-3/,
309 * ptavk/240.d-3/, ptaveta/240.d-3/
315 pttmp=ptnnb* ptnorm/ptavpi
317 call cspt(pttmp, nnnb, a, ntpc)
320 pttmp = ptddb* ptnorm/ptavpi
321 call cspt(pttmp, nddb, a, ntpc)
324 call cspt(pttmp, npic, a, ntpc)
326 call cspt(pttmp, npi0, a, ntpc)
328 pttmp = ptaveta*ptnorm/ptavpi
329 call cspt(pttmp, neta, a, ntpc)
331 pttmp = ptavk*ptnorm/ptavpi
332 call cspt(pttmp, nkch, a, ntpc)
334 call cspt(pttmp, nk0, a, ntpc)
337 subroutine ciso( ntp, a, icon)
352 real*8 ptc1/500.d-3/, ptc2/700.d-3/
354 real*8 ptlm1, ptlm2, missgm, wg, sumpt, avpt
358 missgm = missingp%mass
360 if(pjlab%fm%p(4) .lt. 1000.
d0)
then 361 ptlm1=ptc1*(pjlab%fm%p(4)/1000.
d0)**0.04
362 ptlm2=ptc2*(pjlab%fm%p(4)/1000.
d0)**0.04
367 if(3.1415/4.0* missgm/ntp .gt. ptlm1)
then 375 call cnbdcy(ntp, missgm, a, 0, wg, jcon)
379 write(msg,*)
' cnbdcy fail but try further' 382 if(jcon .ne. 0 .or. wg .gt. .05
d0)
goto 99
388 call cibst1(i, missingp, a(i), a(i))
395 * sqrt(a(i)%fm%p(1)**2+a(i)%fm%p(2)**2)
398 if(avpt .gt. ptlm2)
then 400 elseif(avpt .gt. ptlm1)
then 414 subroutine cytoe(a, n)
426 etemp=a(i)%fm%p(3)* cosh( a(i)%fm%p(4) )
428 a(i)%fm%p(3) = a(i)%fm%p(3)* sinh( a(i)%fm%p(4))
433 subroutine cspt(avpt, nptcl, a, ntpc)
453 real*8 u, bpt/1.0d0/, pt
460 if(u .lt. probpower)
then 462 call cspwpt(bpt, powerp, pt)
466 call ksgmrm(powerexp, avpt, pt)
491 subroutine cptcns(a, nt, ptav)
499 real*8 sumpx, sumpy, sumpt, cfx, cfy
509 sumpt = sumpt + a(i)%fm%p(3)
510 sumpx = sumpx + a(i)%fm%p(1)
511 sumpy = sumpy + a(i)%fm%p(2)
513 if(sumpt .gt. 0.
d0)
then 520 a(i)%fm%p(1) = a(i)%fm%p(1) - a(i)%fm%p(3) * cfx
521 a(i)%fm%p(2) = a(i)%fm%p(2) - a(i)%fm%p(3) * cfy
522 a(i)%fm%p(3) = sqrt(a(i)%fm%p(1)**2 + a(i)%fm%p(2)**2 )
523 sumpt2=a(i)%fm%p(3) + sumpt2
529 a(i)%fm%p(3) = a(i)%fm%p(3)*cf
530 a(i)%fm%p(1) = a(i)%fm%p(1)*cf
531 a(i)%fm%p(2) = a(i)%fm%p(2)*cf
537 elseif(nt .gt. 0)
then subroutine cerrormsg(msg, needrtn)
subroutine cgnlp(a, ntp, icon)
subroutine cbst1(init, p1, p2, po)
subroutine cfnptc(a, ntot)
subroutine ksgmrm(s, av, x)
subroutine c1pion(a, ntp, icon)
subroutine cnbdc4(n, p, mu, inm, gzai)
subroutine cgrap(w, ptav, ntp, a, icon)
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 ccpmul(roots, avn)
subroutine cnbdcy(n, ecm, p, jw, w, icon)
block data cblkEvhnp ! currently usable models data RegMdls ad *special data *Cekaon d0
subroutine ccylps(ntp, a, icon)
dE dx *! Nuc Int sampling table d
subroutine cnbdc3(n, ecm, p, mu, inm, gzai, icon)
subroutine cmkptc(code, subcode, charge, p)
subroutine ciso(ntp, a, icon)
max ptcl codes in the kpion
subroutine cspt(avpt, nptcl, a, ntpc)
subroutine cptcns(a, nt, ptav)
subroutine cspwpt(b, p, pt)