]> git.uio.no Git - u/mrichter/AliRoot.git/blob - GEANT321/gdraw/gdxyz.F
Updated Course TDR geometry for coding convensions and the like
[u/mrichter/AliRoot.git] / GEANT321 / gdraw / gdxyz.F
1 *
2 * $Id$
3 *
4 * $Log$
5 * Revision 1.1.1.1  1995/10/24 10:20:29  cernlib
6 * Geant
7 *
8 *
9 #include "geant321/pilot.h"
10 *CMZ :  3.21/02 29/03/94  15.41.27  by  S.Giani
11 *-- Author :
12       SUBROUTINE GDXYZ(IT)
13 C.
14 C.    ******************************************************************
15 C.    *                                                                *
16 C.    *       Draws track IT for which space points have been stored   *
17 C.    *       in banks JXYZ                                            *
18 C.    *       If IT=0 draws all tracks                                 *
19 C.    *                                                                *
20 C.    *    ==>Called by : <USER>, <GXINT>                              *
21 C.    *       Authors : R.Brun, P.Zanarini, S.Giani                    *
22 C.    *                                                                *
23 C.    ******************************************************************
24 C.
25 #include "geant321/gcbank.inc"
26 #include "geant321/gcdraw.inc"
27       PARAMETER (NTRTYP=8)
28       INTEGER COLO(NTRTYP), MODE(NTRTYP)
29       DIMENSION U(50),V(50)
30 C
31 C             MODE(ITRTYP) and COLO(ITRTYP) are used by ISLN and GDCOL
32 C             ITRTYP (the track type) correspond to :
33 C
34 C             ITRTYP  PARTICLE  |       HIGZ         |
35 C             ----------------------------------------
36 C                 1   gammas    | dotted      blue   |
37 C                 2   electrons | solid       red    |
38 C                 3   neutral   | dot-dashed  black  |
39 C                 4   hadrons   | solid       red    |
40 C                 5   muons     | dashed      green  |
41 C                 6   geantino  | dot-dashed  black  |
42 C                 7   cerenkov  | dotted      yellow |
43 C                 8   ions      | solid       light b|
44 C
45       SAVE MODE,COLO
46       DATA MODE /3, 1, 4, 1, 2, 1, 3, 1/
47       DATA COLO/4, 2, 1, 2, 3, 1, 6, 5/
48 C.
49 C.    ------------------------------------------------------------------
50 C.
51       CALL UCTOH('OFF ',IOFF,4,4)
52       CALL UCTOH('LINE',ILINE,4,4)
53 C
54 C            Set IOBJ to TRACK
55 C
56       IOBJ=2
57 C
58       IF(JXYZ.LE.0)GO TO 70
59       NXYZ=IQ(JXYZ-2)
60       N1  =1
61       N2  =NXYZ
62       IF(IT.NE.0)N1=IT
63       IF(IT.NE.0)N2=IT
64       IF(N1.LE.0)GO TO 70
65       IF(N2.GT.NXYZ)GO TO 70
66 C
67       DO 60 I=N1,N2
68          JX=LQ(JXYZ-I)
69          IF(JX.LE.0)GO TO 50
70          IPOINT=JX+3
71    10    IF(IPOINT.GT.JX+IQ(JX-1))GO TO 50
72          NPOINT=Q(IPOINT)
73          IF(NPOINT.LE.0)GO TO 50
74          IPART=Q(IPOINT+1)
75          JPA=LQ(JPART-IPART)
76          ITRTYP=Q(JPA+6)
77 C
78 C             Line style and color code
79 C
80          IMOD=MODE(ITRTYP)
81          ICOL=COLO(ITRTYP)
82 C
83          CALL GDCOL(ICOL)
84          CALL GDCOL1(ICOL)
85 C
86          IPF=1
87    20    IIPL=IPF+49
88          IF(IIPL.GT.NPOINT)IIPL=NPOINT
89          NP=IIPL-IPF+1
90          IF(NP.LE.0)GO TO 40
91 C
92 C            Is THRZ option set on (R-Z projection)
93 C            and the cut lateral (vertical or horizontal) ?
94 C
95          IF (ITHRZ.NE.IOFF) THEN
96             IF (ICUT.EQ.1.OR.ICUT.EQ.2) ITR3D=-I
97          ELSE
98             ITR3D=0
99          ENDIF
100 C
101          CALL GDFR3D(Q(IPOINT+3*IPF-1),NP,U,V)
102 C
103          IF (IDVIEW.EQ.0) THEN
104 C
105             IF (ITRKOP.EQ.ILINE.AND.NP.GT.1) THEN
106                CALL ISLN(IMOD)
107                CALL IGPID(1,'Kine',I,' ')
108                CALL IPL(NP,U,V)
109             ELSE
110                DO 30 IP=1,NP
111                   CALL IGPID(1,'Kine',I,' ')
112                   CALL IPM(1,U(IP),V(IP))
113    30          CONTINUE
114             ENDIF
115 C
116          ELSE
117 C
118             CALL IGPID(1,'Kine',I,' ')
119             CALL GDRAWP(U,V,NP)
120 C
121          ENDIF
122 C
123          IPF=IIPL
124          IF(IPF.LT.NPOINT)GO TO 20
125    40    IPOINT=IPOINT+3.*Q(IPOINT)+2.
126          GO TO 10
127 C
128    50    CONTINUE
129 C
130    60 CONTINUE
131 C
132       CALL GDCOL(0)
133       CALL GDCOL1(IBITS(LINATP,16,4))
134 C
135    70 CONTINUE
136 C
137 C             Reset line style
138 C
139       CALL ISLN(1)
140 C
141 C             Reset ITR3D to 'standard projection'
142 C
143       ITR3D=0
144       IOBJ=0
145 C
146       END