]> git.uio.no Git - u/mrichter/AliRoot.git/blame - GEANT321/gdraw/gdcxyz.F
Bugfix in AliPoints2Memory
[u/mrichter/AliRoot.git] / GEANT321 / gdraw / gdcxyz.F
CommitLineData
fe4da5cc 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
13C.
14C. ******************************************************************
15C. * *
16C. * Online display of the track trajectory *
17C. * *
18C. * ==>Called by : <USER> *
19C. * Authors : R.Brun, P.Zanarini, S.Giani **** *
20C. * *
21C. ******************************************************************
22C.
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/
34C.
35C. ------------------------------------------------------------------
36C.
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
43C
44C Set IOBJ to TRACK
45C
46 IOBJ=2
47C
48C Is THRZ option set on (R-Z projection)
49C and the cut lateral (vertical or horizontal) ?
50C
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)
58C
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
101C
102C Reset ITR3D to 'standard projection'
103C
104 ITR3D=0
105 IOBJ=0
106C
107 END