]> git.uio.no Git - u/mrichter/AliRoot.git/blob - GEANT321/gkine/gfvert.F
This commit was generated by cvs2svn to compensate for changes in r2,
[u/mrichter/AliRoot.git] / GEANT321 / gkine / gfvert.F
1 *
2 * $Id$
3 *
4 * $Log$
5 * Revision 1.2  1998/02/10 16:04:20  japost
6 *   Comments are correctly redistributed.
7 *
8 * Revision 1.1.1.1  1995/10/24 10:21:18  cernlib
9 * Geant
10 *
11 *
12 #include "geant321/pilot.h"
13 *CMZ :  3.21/02 29/03/94  15.41.21  by  S.Giani
14 *-- Author :
15       SUBROUTINE GFVERT(NVTX,V,NTBEAM,NTTARG,TOFG,UBUF,NWBUF)
16 C.
17 C.    ******************************************************************
18 C.    *                                                                *
19 C     *       Retrieves the parameter of a vertex bank                 *
20 C     *       Vertex is generated from tracks NTBEAM NTTARG            *
21 C     *       NVTX is the new vertex number                            *
22 C.    *                                                                *
23 C.    * Input:                                                         *
24 C.    *  NVTX      new vertex number (=0 in case of error).            *
25 C.    *                                                                *
26 C.    * Output:                                                        *
27 C.    *  VERT      array of (x,y,z) position of the vertex             *
28 C.    *  NTBEAM    beam track number origin of the vertex              *
29 C.    *            =0 if none exists                                   *
30 C.    *  NTTARG    target track number origin of the vertex            *
31 C.    *  TOFG      time of flight when the vertex was created 
32 C.    *  UBUF      user array of NUBUF floating point numbers          *
33 C.    *  NUBUF                                                         *
34 C.    *                                                                *
35 C.    *    ==>Called by : <USER>                                       *
36 C.    *       Authors    F.Carminati                   *********       *
37 C.    *                                                                *
38 C.    ******************************************************************
39 C.
40 #include "geant321/gcbank.inc"
41 #include "geant321/gcunit.inc"
42 #include "geant321/gcnum.inc"
43       DIMENSION V(3),UBUF(1)
44 C.
45 C.    ------------------------------------------------------------------
46 C.
47       IF (JVERTX.EQ.0.OR.NVERTX.LE.0)THEN
48          WRITE(CHMAIL,10000)
49          CALL GMAIL(0,0)
50          GOTO 999
51       ENDIF
52       IF(NVTX.GT.NVERTX) THEN
53          WRITE(CHMAIL,10100)NVERTX
54          CALL GMAIL(0,0)
55          GOTO 999
56       ENDIF
57       JV=LQ(JVERTX-NVTX)
58       IF(JV.LE.0) THEN
59          WRITE(CHMAIL,10100)NVERTX
60          CALL GMAIL(0,0)
61          GOTO 999
62       ENDIF
63       DO 10 I=1,3
64          V(I) = Q(JV + I)
65    10 CONTINUE
66       TOFG = Q(JV + 4)
67       NTBEAM = Q(JV + 5)
68       NTTARG = Q(JV + 6)
69 *
70       NWBUF=0
71       IF(IQ(JV-2).GE.1) THEN
72          JUV=LQ(JV-1)
73          IF(JUV.GT.0) THEN
74             NWBUF=IQ(JUV-1)
75             DO 20 IBUF=1,NWBUF
76                UBUF(IBUF)=Q(JUV+IBUF)
77    20       CONTINUE
78          ENDIF
79       ENDIF
80 *
81 10000 FORMAT(' **** GFVERT: No vertex stored in memory')
82 10100 FORMAT(' **** GFVERT: Vertex ',I10,' does not exist')
83   999 END