]> git.uio.no Git - u/mrichter/AliRoot.git/blame - GEANT321/gdraw/gdpart.F
Fix needed on Sun and Alpha
[u/mrichter/AliRoot.git] / GEANT321 / gdraw / gdpart.F
CommitLineData
fe4da5cc 1*
2* $Id$
3*
4* $Log$
5* Revision 1.1.1.1 1995/10/24 10:20:23 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 GDPART(IT,ISEL,SIZE)
13C.
14C. ******************************************************************
15C. * *
16C. * Draws attributes of particle generating track IT *
17C. * (for which space points have been stored in banks JXYZ). *
18C. * IT=0 means all tracks. *
19C. * *
20C. * If ISEL=xxxxxx1 then draw track number; *
21C. * if ISEL=xxxxx1x then draw particle name. *
22C. * *
23C. * SIZE is character size used. *
24C. * *
25C. * ==>Called by : <USER>, <GXINT> *
26C. * Author : P.Zanarini ********* *
27C. * *
28C. ******************************************************************
29C.
30#include "geant321/gcbank.inc"
31#include "geant321/gcdraw.inc"
32 CHARACTER*4 IPTAB(100),IPTAB1(100),IPTAB2(100)
33 CHARACTER*5 CHPART
34 CHARACTER*12 CHTEXT
35 SAVE IPTAB,IPTAB1,IPTAB2
36C
37 DATA IPTAB /'<[G$','<E>[','<E>[','<[N$','<[M>','<[M>','<[P>',
38 + '<[P>','<[P>','K?L&','K[^+','K[^-','<N$ ','<P$ ',
39 + '<-P$','K?<S','<[C$','[L$ ','[S^+','[S^0','[S^-',
40 + '[X^0','[X^-','[W^-','<-N$','<->[','<->[','<->[',
41 + '<->[','<->[','<->[','<->[','<[T>','<[T>','D[^+',
42 + 'D[^-','D[^0','<->D','F[^+','F[^-','[L]?','W[^+',
43 + 'W[^-','Z[^0','D$ ','T$ ','<[A$','G$ ',
44 + 52*'"4$ '/
45 DATA IPTAB1/' ','^+$ ','^-$ ',' ','^+$ ','^-$ ','^0$ ',
46 + '^+$ ','^-$ ','[^0$','$ ','$ ',' ',' ',
47 + ' ','>&[^',' ',' ','$ ','$ ','$ ',
48 + '$ ','$ ','$ ',' ','L$ ','S^-$','S^0$',
49 + 'S^+$','X^0$','X^+$','W^+$','^+$ ','^-$ ','$ ',
50 + '$ ','$ ','[^0$','$ ','$ ','C&[^','$ ',
51 + '$ ','$ ',' ',' ',' ',' ',
52 + 52*' '/
53 DATA IPTAB2/' ',' ',' ',' ',' ',' ',' ',
54 + ' ',' ','L ',' ',' ',' ',' ',
55 + ' ','0$ ',' ',' ',' ',' ',' ',
56 + ' ',' ',' ',' ',' ',' ',' ',
57 + ' ',' ',' ',' ',' ',' ',' ',
58 + ' ',' ',' ',' ',' ','+$ ',' ',
59 + ' ',' ',' ',' ',' ',' ',
60 + 52*' '/
61C.
62C. ------------------------------------------------------------------
63C.
64#if defined(CERNLIB_DEBUG)
65 IF (IT.LT.0) THEN
66 IPART=0
67 DO 10 IV=19,1,-2
68 DO 10 IU=1,19,2
69 IPART=IPART+1
70 CHTEXT=IPTAB(IPART)//IPTAB1(IPART)//IPTAB2(IPART)
71 U=IU
72 V=IV
73 CALL GDRAWT(U,V,CHTEXT,SIZE,0.,1,0)
74 10 CONTINUE
75 ENDIF
76#endif
77C
78 CALL UCTOH('OFF ',IOFF,4,4)
79 CALL UCTOH('$ ',IDOL,4,4)
80C
81C Set IOBJ to TRACK
82C
83 IOBJ=2
84C
85 ISEL1=ISEL/10
86 ISEL1=ISEL1-ISEL1/2*2
87 ISEL0=ISEL/1
88 ISEL0=ISEL0-ISEL0/2*2
89C
90 IF(JXYZ.LE.0)GO TO 30
91 NXYZ=IQ(JXYZ-2)
92 N1 =1
93 N2 =NXYZ
94 IF(IT.NE.0)N1=IT
95 IF(IT.NE.0)N2=IT
96 IF(N1.LE.0)GO TO 30
97 IF(N2.GT.NXYZ)GO TO 30
98C
99 DO 20 I=N1,N2
100C
101 JX=LQ(JXYZ-I)
102 IF(JX.LE.0)GO TO 20
103 IPOINT=JX+3
104 IF(IPOINT.GT.JX+IQ(JX-1))GO TO 20
105 NPOINT=Q(IPOINT)
106 IF(NPOINT.LE.0)GO TO 20
107 IPART=Q(IPOINT+1)
108C
109C Is THRZ option set on (R-Z projection)
110C and the cut lateral (vertical or horizontal) ?
111C
112 IF (ITHRZ.NE.IOFF) THEN
113 IF (ICUT.EQ.1.OR.ICUT.EQ.2) ITR3D=-I
114 ELSE
115 ITR3D=0
116 ENDIF
117C
118 CALL GDFR3D(Q(IPOINT+3*NPOINT-1),1,U0,V0)
119C
120 IF (ISEL0.NE.0) THEN
121C
122C Draw track number I
123C
124 WRITE (CHPART,'(I4,''$'')') I
125 U=U0-0.5*SIZE
126 V=V0-1.5*SIZE
127 CALL GDRAWT(U,V,CHPART,SIZE,0.,1,0)
128 ENDIF
129C
130 IF (ISEL1.NE.0) THEN
131C
132C Draw particle name IPTAB...(IPART)
133C
134 CHTEXT=IPTAB(IPART)//IPTAB1(IPART)//IPTAB2(IPART)
135 U=U0-0.5*SIZE
136 V=V0+0.5*SIZE
137 CALL GDRAWT(U,V,CHTEXT,SIZE,0.,1,0)
138 ENDIF
139C
140 20 CONTINUE
141C
142 30 CONTINUE
143C
144C Reset ITR3D to 'standard projection'
145C
146 ITR3D=0
147 IOBJ=0
148C
149 END