8 integer i, nev, j, ntp, eof, ntpo
17 *
' number of events generated is ',
j-1
32 *
' number of events generated is ',nevent
44 #include "Zmanagerp.h" 48 character*200 input, file
50 integer klena, icon, eof
57 if(tracedir .eq.
' ')
then 59 tracedir =
'/tmp/'//uid(1:klena(uid))
62 if(desteventno(2) .eq. 0)
then 63 nevent =abs( desteventno(1) )
65 nevent = abs( desteventno(2) )
71 write(0,*)
' cos* min max=', wzmin,
wzmax 76 if(input(1:4) .eq.
"file")
then 78 xyz=index(input,
"xyz")
81 file=input(1:klena(input))
85 *
' file=', file,
' cannot be opened in Gencol' 99 if(input .ne.
' ')
then 100 read(input, *) xpos, ypos, zpos
111 if( index( intmodel,
'qgsjet1') .ne. 0 )
then 114 activemdl =
'qgsjet1' 116 write(0,*)
'to use qgsjet1, define it in Zintmodel%h' 118 elseif(index(intmodel,
'sibyll') .ne. 0 )
then 123 write(0,*)
'to use sibyll, define it in Zintmodel%h' 130 write(0, *)
'Active int. model=',activemdl
131 write(0, *)
' equiv. lab E=', plab%fm%p(4)
133 write(*,
'(a)')
'# mulsubKEdir user ' 135 write(*,
'(a)')
'# mulsubKExyzdir user ' 137 write(*,
'(a)')
'#--------------------------------' 151 read(
inpfileno,*, end=100) xpos, ypos, zpos
167 #include "Zmanager.h" 168 #include "Zmanagerp.h" 185 pj%fm%p(1) =
pjpx*pjmnum
186 pj%fm%p(2) =
pjpy*pjmnum
187 pj%fm%p(3) = pjpz*pjmnum
189 * sqrt(pj%fm%p(1)**2 + pj%fm%p(2)**2 + pj%fm%p(3)**2
199 tg%fm%p(1) =
tgpx*tgmnum
200 tg%fm%p(2) =
tgpy*tgmnum
201 tg%fm%p(3) = tgpz*tgmnum
203 * sqrt(tg%fm%p(1)**2 + tg%fm%p(2)**2 + tg%fm%p(3)**2
206 if(
tgpx .eq. 0. .and.
tgpy .eq. 0. .and.
212 s= 2*pj%fm%p(4)*tg%mass +tg%mass**2 + pj%mass**2
216 s = pj%mass**2 + tg%mass**2 +
217 * 2*(pj%fm%p(4)*tg%fm%p(4) -
218 * dot_product(pj%fm%p(1:3), tg%fm%p(1:3) ) )
221 if(confirm .ne. 0)
then 222 write(0, *)
' roots/2=', roots/2
225 call cbst1(1, tg, pj, plab)
235 #include "Zmanagerp.h" 236 #include "Zmanager.h" 244 integer nw, difcode(20)
250 p= sqrt(
a(i)%fm%p(1)**2 +
a(i)%fm%p(2)**2
251 * +
a(i)%fm%p(3)**2 )
256 write(*,
'(i3,i5,i4,g14.5,3f17.13, i5)')
257 *
a(i)%code,
a(i)%subcode,
a(i)%charge,
258 *
a(i)%fm%p(4)-
a(i)%mass, wx, wy, wz, difcode(1)
260 write(*,
'(i3,i5,i4,g14.5,1p3E11.3,0p3f17.13, i5)')
261 *
a(i)%code,
a(i)%subcode,
a(i)%charge,
262 *
a(i)%fm%p(4)-
a(i)%mass, xpos, ypos, zpos,
263 * wx, wy, wz, difcode(1)
266 if(ntp .gt. 0 .or. outzero .eq. 0)
then 276 #include "Zmanagerp.h" 287 if( tg%code .eq.
knuc )
then 289 elseif( tg%code .eq.
kgnuc )
then 292 write(0,*)
' target code=', tg%code,
'invalid' 296 if(activemdl .eq.
'qgsjet2' )
then 297 call cxsecqgs(plab, ta, xs)
299 if(activemdl .eq.
'qgsjet1')
then 301 call qgs01event(plab, ta, tz,
a, ntp)
303 elseif(activemdl .eq.
'sibyll')
then 305 call sibyllevent(plab, ta, tz,
a, ntp)
308 call chacol(plab, ta, tz,
a, ntp)
323 #include "Zmanagerp.h" 333 p =
a(i)%fm%p(1)**2 +
a(i)%fm%p(2)**2 +
337 if( wz .ge. wzmin .and. wz .le.
wzmax )
then 356 ke(i) =
a(i)%fm%p(4) -
a(i)%mass
369 #include "Zmanagerp.h" 370 #include "Zmanager.h" 376 integer i, j, leng, icon, klena
378 real x1, y1, z1, x2, y2, z2
379 character*100 tracefile
381 write(tracefile, *) tracedir(1:klena(tracedir))//
'/trace', nev
382 call kseblk(tracefile,
' ', leng)
383 call copenfw(tracedev, tracefile(1:leng), icon)
385 call cerrormsg(
'tracefile could not be opened',0)
389 p= sqrt(
a(i)%fm%p(1)**2 +
a(i)%fm%p(2)**2
390 * +
a(i)%fm%p(3)**2 )
406 write(tracedev,
'(3g14.5, i3, g14.4, i3, i2)')
408 *
a(i)%code,
a(i)%fm%p(4) -
a(i)%mass,
a(i)%charge,
410 write(tracedev,
'(3g14.5, i3, g14.4, i3, g14.4)' )
412 *
a(i)%code,
a(i)%fm%p(4) -
a(i)%mass,
a(i)%charge,
subroutine cmkseed(dummy, seed)
subroutine cerrormsg(msg, needrtn)
subroutine csetcosorepi(from)
subroutine sortbyke(a, ntp)
integer maxn LabEquivE real outresul integer pjchg integer tgchg integer xyz real pjpz real tgpy
subroutine cbst1(init, p1, p2, po)
integer maxn LabEquivE real outresul integer pjchg integer tgchg integer inpfileno
max ptcl codes in the kgnuc
subroutine cintmodels(from)
subroutine cfixmodel(aPtcl)
latitude latitude this system is used *****************************************************************! type coord sequence union map real z z in m endmap xyz map real ! latitude in deg is to the north ! longitude in deg is to the east *h ! height in m endmap llh map real ! polar angle ! azimuthal angle *radius ! radial distance endmap sph endunion character *sys ! which system xyz
subroutine cibst1(init, p1, p2, po)
subroutine readinpfile(eof)
integer maxn LabEquivE real outresul integer pjcode
subroutine outtrace(nev, a, ntp)
********************block data cblkHeavy ********************integer j data *HeavyG2symbol *data *HeavyG2code kiron data j
subroutine copenfw2(io, fnin, form, icon)
subroutine getdiffcode(nw, difcode)
subroutine kqsortd(A, ORD, N)
subroutine cquhookr(i, rv)
integer maxn LabEquivE real outresul integer pjchg integer tgcode
subroutine ksortinv(idx, n)
subroutine creadparam(io)
integer maxn LabEquivE real outresul integer pjchg integer tgsub
subroutine gencol(a, ntp)
integer maxn LabEquivE real outresul integer pjchg integer tgchg integer xyz real pjpz real * tgpx
integer maxn LabEquivE real * ke(maxn) integer indx(maxn) integer nevent integer outzero
********************block data cblkHeavy ********************integer j data *HeavyG2symbol *data *HeavyG2code knuc
subroutine cfixprefix(dsn)
integer maxn LabEquivE real outresul integer pjchg integer tgchg integer xyz real pjpy
subroutine formpjtg(confirm)
subroutine copenfw(io, fnin, icon)
subroutine cutbyangle(a, ntp0, ntp)
subroutine cquhooki(i, iv)
subroutine cmkptc(code, subcode, charge, p)
subroutine outresul(a, ntp)
integer maxn LabEquivE real outresul integer pjsub
subroutine cquhookc(i, cv)
integer maxn LabEquivE real outresul integer pjchg integer tgchg integer xyz real * pjpx
subroutine chacol(pj, ia, iz, a, ntp)
subroutine kseblk(text, c, lc)
subroutine cgetloginn(userid)