]> git.uio.no Git - u/mrichter/AliRoot.git/blob - GEANT321/gdraw/gdcxyz.F
This commit was generated by cvs2svn to compensate for changes in r2,
[u/mrichter/AliRoot.git] / GEANT321 / gdraw / gdcxyz.F
1 *
2 * $Id$
3 *
4 * $Log$
5 * Revision 1.1.1.1  1995/10/24 10:20:22  cernlib
6 * Geant
7 *
8 *
9 #include "geant321/pilot.h"
10 *CMZ :  3.21/02 29/03/94  15.41.26  by  S.Giani
11 *-- Author :
12       SUBROUTINE GDCXYZ
13 C.
14 C.    ******************************************************************
15 C.    *                                                                *
16 C.    *       Online display of the track trajectory                   *
17 C.    *                                                                *
18 C.    *    ==>Called by : <USER>                                       *
19 C.    *       Authors : R.Brun, P.Zanarini, S.Giani  ****              *
20 C.    *                                                                *
21 C.    ******************************************************************
22 C.
23 #include "geant321/gcdraw.inc"
24 #include "geant321/gckine.inc"
25 #include "geant321/gcstak.inc"
26 #include "geant321/gctrak.inc"
27       PARAMETER (NTRTYP=8)
28       DIMENSION UU(2),VV(2)
29       DIMENSION MODE(NTRTYP),KCOLO(NTRTYP),VOLD(3)
30       SAVE MODE,KCOLO,IFIRST,IOFF,ILINE,UU,VV
31       DATA MODE /3, 1, 4, 1, 2, 1, 1, 1/
32       DATA KCOLO/4, 2, 1, 2, 3, 1, 6, 6/
33       DATA IFIRST/0/
34 C.
35 C.    ------------------------------------------------------------------
36 C.
37 *      IF(SLENG.GT.0..AND.STEP.LT.0.1)RETURN
38       IF(IFIRST.EQ.0)THEN
39          CALL UCTOH('OFF ',IOFF,4,4)
40          CALL UCTOH('LINE',ILINE,4,4)
41          IFIRST=1
42       ENDIF
43 C
44 C             Set IOBJ to TRACK
45 C
46       IOBJ=2
47 C
48 C             Is THRZ option set on (R-Z projection)
49 C             and the cut lateral (vertical or horizontal) ?
50 C
51       IF (ITHRZ.NE.IOFF) THEN
52          IF (ICUT.EQ.1.OR.ICUT.EQ.2) ITR3D=-ITRA
53       ELSE
54          ITR3D=0
55       ENDIF
56       ICOL=KCOLO(ITRTYP)
57       KCOL=LOOKTB(ICOL)
58 C
59       IF(NJTMAX.EQ.0)THEN
60 *
61 *            Normal sequential tracking
62          IF(SLENG.LE.0.)THEN
63             CALL GDFR3D(VECT,1,UU(1),VV(1))
64             IF (ITRKOP.NE.ILINE) THEN
65                CALL IGPID(1,'Kine',ITRA,' ')
66                CALL IPM(1,UU,VV)
67             ENDIF
68          ELSE
69             CALL GDFR3D(VECT,1,UU(2),VV(2))
70             IF (ITRKOP.EQ.ILINE) THEN
71                CALL ISPLCI(KCOL)
72                CALL ISLN(MODE(ITRTYP))
73                CALL IGPID(1,'Kine',ITRA,' ')
74                CALL IPL(2,UU,VV)
75             ELSE
76                CALL IGPID(1,'Kine',ITRA,' ')
77                CALL IPM(1,UU(2),VV(2))
78             ENDIF
79             UU(1)=UU(2)
80             VV(1)=VV(2)
81          ENDIF
82       ELSE
83 *
84 *            Parallel tracking
85          CALL GDFR3D(VECT,1,UU(2),VV(2))
86          IF (ITRKOP.NE.ILINE) THEN
87             CALL IGPID(1,'Kine',ITRA,' ')
88             CALL IPM(1,UU(2),VV(2))
89          ELSE
90             CALL ISPLCI(KCOL)
91             CALL ISLN(MODE(ITRTYP))
92             VOLD(1)=VECT(1)-STEP*VECT(4)
93             VOLD(2)=VECT(2)-STEP*VECT(5)
94             VOLD(3)=VECT(3)-STEP*VECT(6)
95             CALL GDFR3D(VOLD,1,UU(1),VV(1))
96             CALL IGPID(1,'Kine',ITRA,' ')
97             CALL IPL(2,UU,VV)
98             IF (MODE(ITRTYP).NE.1) CALL ISLN(1)
99          ENDIF
100       ENDIF
101 C
102 C             Reset ITR3D to 'standard projection'
103 C
104       ITR3D=0
105       IOBJ=0
106 C
107       END