5 * Revision 1.2 1998/02/10 16:04:21 japost
6 * Comments are correctly redistributed.
8 * Revision 1.1.1.1 1995/10/24 10:21:19 cernlib
12 #include "geant321/pilot.h"
13 *CMZ : 3.21/02 29/03/94 15.41.21 by S.Giani
15 SUBROUTINE GSVERT(V,NTBEAM,NTTARG,UBUF,NWBUF,NVTX)
17 C. ******************************************************************
19 C * Creates a new vertex bank *
20 C * Vertex is generated from tracks NTBEAM NTTARG *
21 C * NVTX is the new vertex number *
26 C. * Stores vertex parameters. *
29 C. * V array of (x,y,z) position of the vertex *
30 C. * NTBEAM beam track number origin of the vertex *
31 C. * =0 if none exists *
32 C. * NTTARG target track number origin of the vertex *
33 C. * UBUF user array of NUBUF floating point numbers *
37 C. * NVTX new vertex number (=0 in case of error). *
39 C. * ==>Called by : <USER>, GUKINE,GUSTEP *
40 C. * Authors R.Brun, F.Carena, M.Hansroul ********* *
42 C. ******************************************************************
44 #include "geant321/gcbank.inc"
45 #include "geant321/gcnum.inc"
46 #include "geant321/gcpush.inc"
47 #include "geant321/gctrak.inc"
48 DIMENSION V(3),UBUF(1)
50 C. ------------------------------------------------------------------
54 CALL MZBOOK(IXDIV,JVERTX,JVERTX,1,'VERT',NCVERT,NCVERT,1,2,0)
57 IF(NVTX.GT.IQ(JVERTX-2)) CALL MZPUSH(IXDIV,JVERTX,NPVERT,0,'I')
59 CALL MZBOOK(IXDIV,JV,JVERTX,-NVTX,'VERT',1,1,9,3,0)
62 CALL MZBOOK(IXDIV,JUV,JV,-1,'VERU',0,0,NWBUF,3,0)
73 IF(JKINE.GT.0)NTK=IQ(JKINE-2)
74 IF(NTBEAM.GT.NTK)GO TO 90
75 IF(NTBEAM.LT.0)GO TO 90
76 IF(NTTARG.GT.NTK)GO TO 90
77 IF(NTTARG.LT.0)GO TO 90
79 JK = LQ(JKINE- NTBEAM)
83 IF(NFREE.LE.0)CALL MZPUSH(IXDIV,JK,0,2,'I')
84 Q(JK + NVG + 8) = NVTX
89 JK = LQ(JKINE- NTTARG)
92 IF(NFREE.LE.0)CALL MZPUSH(IXDIV,JK,0,2,'I')
93 Q(JK + NVG + 8) = NVTX