47 subroutine cnbdcy(n, ecm, p, jw, w, icon)
86 real*8 mu(1, 1)/0.d0/, wx, w0, wmax, gzai, u
102 call cnbdc3(n, ecm, p, mu, 0, gzai, icon)
105 write(0,*)
' icon =',icon,
' from cnbdc3' 107 if(icon .ne. 0)
return 110 call cnbdc4(n, p, mu, 0, gzai)
123 call cnbdc7(n, ecm, p, wmax)
131 if(wmax .eq. 0.d0)
then 138 if(wmax .eq. 0.d0)
then 161 real*8 sumx, sumy, sumz, sume
169 sumx=sumx+p(i)%fm%p(1)
170 sumy=sumy+p(i)%fm%p(2)
171 sumz=sumz+p(i)%fm%p(3)
172 sume=sume+p(i)%fm%p(4)
174 write(*,*)
' sumx,y,z=',sumx, sumy, sumz,
' sume=',sume
185 real*8 u1, u2, u, cs, sn, cst, snt
192 if(u .gt. 0.)
goto 10
195 p(i)%fm%p(4) = -log(u)
199 snt=sqrt(1. - cst**2)
200 p(i)%fm%p(1) = p(i)%fm%p(4)*snt*cs
201 p(i)%fm%p(2) = p(i)%fm%p(4)*snt*sn
202 p(i)%fm%p(3) = p(i)%fm%p(4)*cst
205 subroutine cnbdc2(n, ecm, p)
214 real*8 sumx, sumy, sumz, sume, em, g
215 real*8 a, x, bx, by, bz, bq, pe, tmp, px, py, pz
223 sumx=sumx+p(i)%fm%p(1)
224 sumy=sumy+p(i)%fm%p(2)
225 sumz=sumz+p(i)%fm%p(3)
226 sume=sume+p(i)%fm%p(4)
228 em=sqrt( sume**2 - (sumx**2+sumy**2+sumz**2) )
238 bq=bx*p(i)%fm%p(1) + by*p(i)%fm%p(2) + bz*p(i)%fm%p(3)
239 pe=x*(g*p(i)%fm%p(4) +bq)
240 tmp=p(i)%fm%p(4)+a*bq
241 px=x*(p(i)%fm%p(1) + tmp*bx)
242 py=x*(p(i)%fm%p(2) + tmp*by)
243 pz=x*(p(i)%fm%p(3) + tmp*bz)
251 subroutine cnbdc3(n, ecm, p, mu, inm, gzai, icon)
260 real*8 ecm, mu(inm, n), gzai
262 real*8 eps/1.d-3/, f, fp, fow
269 call cnbdcf(n, ecm, p, mu, inm, gzai, f, fp)
276 if(abs(fow) .lt. eps .or. nr .gt. 15)
goto 100
286 subroutine cnbdcf(n, ecm, p,
287 * mu, inm, gzai, f, fp)
294 real*8 gzai, f, fp, mu(inm, n)
296 real*8 mux, fx, tmp, ecm
311 tmp= sqrt(p(i)%mass**2+
312 * gzai**2 *( p(i)%fm%p(4)**2 -mux**2 ) )
314 fp=fp + ( p(i)%fm%p(4)**2- mux**2)/ tmp
320 subroutine cnbdc4(n, p, mu, inm, gzai)
328 real*8 mu(inm, n), gzai
333 p(i)%fm%p(1) = gzai*p(i)%fm%p(1)
334 p(i)%fm%p(2) = gzai*p(i)%fm%p(2)
335 p(i)%fm%p(3) = gzai*p(i)%fm%p(3)
343 p(i)%fm%p(4) = sqrt(p(i)%mass**2 +
344 * gzai**2*( p(i)%fm%p(4)**2-mux**2 ) )
347 subroutine cnbdc5(n, ecm, p, wx)
356 real*8 sum1, pro2, sum3, pab
365 pro2=pro2* pab/p(i)%fm%p(4)
366 sum3=sum3+pab**2/p(i)%fm%p(4)
368 wx=(sum1/ecm)**(2*n-3)*pro2 /sum3
370 subroutine cnbdc6(n, ecm, w0)
386 w0= hpi**(n-1) * ecm**(2*n-4)/(n-1)/gn1/gn1
388 subroutine cnbdc7(n, ecm, p, wmax)
397 integer idx(2), nm, i
398 real*8 summ, en, beta
402 if(p(i)%mass .gt. 0.
d0)
then 410 wmax=(1. - p(idx(1))%mass/ecm)**(2*n-3)
411 elseif(nm .eq. 2)
then 413 * (1. + (p(idx(1))%mass/ecm)**2 -
414 * (p(idx(2))%mass/ecm)**2 )**2
415 * -4*(p(idx(1))%mass/ecm)**2
416 if(wmax .le. 0.
d0)
then 419 wmax= wmax**(n-1.5
d0)
424 if(p(i)%mass .gt. 0.
d0)
then 430 if(beta .le. 0.
d0)
then 433 wmax=sqrt(beta)**(2*n+nm-5)
integer npitbl real *nx parameter(n=101, npitbl=46, nx=n-1) real *8 uconst
subroutine cnbdc4(n, p, mu, inm, gzai)
subroutine cpxyzp(po, pabs)
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 cnbdcy(n, ecm, p, jw, w, icon)
block data cblkEvhnp ! currently usable models data RegMdls ad *special data *Cekaon d0
subroutine cnbdc7(n, ecm, p, wmax)
subroutine cnbdc5(n, ecm, p, wx)
dE dx *! Nuc Int sampling table d
subroutine cnbdcf(n, ecm, p,
subroutine cnbdc6(n, ecm, w0)
subroutine cnbdc3(n, ecm, p, mu, inm, gzai, icon)
subroutine kcossn(cs, sn)
subroutine cnbdc2(n, ecm, p)