5 * Revision 1.1.1.1 1995/10/24 10:20:23 cernlib
9 #include "geant321/pilot.h"
10 *CMZ : 3.21/02 29/03/94 15.41.26 by S.Giani
12 SUBROUTINE GDHEAD(ISEL,NAME,CHRSIZ)
14 C. ******************************************************************
16 C. * This routine draws a graphics header. *
17 C. * NAME is an hollerith string terminated by a dollar sign. *
19 C. * Different options can be chosen by the parameter ISEL : *
20 C. * =0 to have only the header lines *
21 C. * =xxxxx1 to add the text NAME centered on top of header *
22 C. * =xxxx1x to add global detector name (first vol.) on left *
23 C. * =xxx1xx to add date on right *
24 C. * =xx1xxx to select thick characters for NAME (i.e. with *
25 C. * larger line width) *
26 C. * =x1xxxx to add the text 'Event NR x' on top of header *
27 C. * =1xxxxx to add the text 'Run NR x' on top of header *
29 C. * A negative value of ISEL means special headers, i.e. *
30 C. * directly used by GEANT3 routines : *
31 C. * =-1 : GDSPEC header *
32 C. * =-3 : VIEWXY header *
33 C. * =-4 : VIEWYZ header *
34 C. * =-5 : VIEWXZ header *
36 C. * ==>Called by : <USER>, <GXINT>, GDSPEC, GDTREE *
37 C. * Author : P.Zanarini ********* *
39 C. ******************************************************************
41 #include "geant321/gcbank.inc"
42 #include "geant321/gcflag.inc"
43 #include "geant321/gcdraw.inc"
44 #include "geant321/gctime.inc"
46 DIMENSION UH(5),VH(5),UHH(2),VHH(2)
47 DIMENSION UH1(5),VH1(5),UHH1(2),VHH1(2)
52 SAVE UH1,VH1,UHH1,VHH1
54 DATA UH1/0.1,0.1,19.9,19.9,0.1/
55 DATA VH1/19.9,0.1,0.1,19.9,19.9/
59 C. ------------------------------------------------------------------
61 C Normalize to PLTRNX,PLTRNY
64 UH(I)=UH1(I)*PLTRNX/20.
65 VH(I)=VH1(I)*PLTRNY/20.
68 UHH(I)=UHH1(I)*PLTRNX/20.
69 VHH(I)=VHH1(I)*PLTRNY/20.
94 CALL GDRAWV(UHH,VHH,2)
96 IF (ISEL.LT.0.OR.ISEL1.NE.0) THEN
97 CALL UHTOC(IQ(JVOLUM+1),4,CHTEXT,4)
100 CSIZE=0.3*MIN(PLTRNX,PLTRNY)/20.
101 CALL GDRAWT(XTEXT,YTEXT,CHTEXT,CSIZE,0.,1,-1)
112 CSIZE=CHRSIZ*MIN(PLTRNX,PLTRNY)/20.
113 CALL GDRAWT(XTEXT,YTEXT,NAME,CSIZE,0.,LWDTH,0)
119 YTEXT=18.7*PLTRNY/20.
120 CSIZE=0.3*MIN(PLTRNX,PLTRNY)/20.
121 CALL GDRAWT(XTEXT,YTEXT,'EVENT',CSIZE,0.,LWDTH,-1)
123 CALL GDRAWT(XTEXT,YTEXT,'NR',CSIZE,0.,LWDTH,-1)
126 WRITE (CHDATE,'(I6)') IDEVT
128 YTEXT=18.7*PLTRNY/20.
129 CSIZE=0.3*MIN(PLTRNX,PLTRNY)/20.
130 CALL GDRAWT(XTEXT,YTEXT,CHDATE,CSIZE,0.,LWDTH,1)
134 YTEXT=19.2*PLTRNY/20.
135 CSIZE=0.3*MIN(PLTRNX,PLTRNY)/20.
136 CALL GDRAWT(XTEXT,YTEXT,'RUN',CSIZE,0.,LWDTH,-1)
138 CALL GDRAWT(XTEXT,YTEXT,'NR',CSIZE,0.,LWDTH,-1)
141 WRITE (CHDATE,'(I6)') IDRUN
143 YTEXT=19.2*PLTRNY/20.
144 CSIZE=0.3*MIN(PLTRNX,PLTRNY)/20.
145 CALL GDRAWT(XTEXT,YTEXT,CHDATE,CSIZE,0.,LWDTH,1)
152 CSIZE=0.6*MIN(PLTRNX,PLTRNY)/20.
153 CALL GDRAWT(XTEXT,YTEXT,NAME,CSIZE,0.,2,1)
157 CSIZE=0.4*MIN(PLTRNX,PLTRNY)/20.
158 CALL GDRAWT(XTEXT,YTEXT,'<SPECIFICATIONS',CSIZE,0.,1,-1)
159 ELSE IF (ISEL.EQ.-3) THEN
163 CSIZE=0.5*MIN(PLTRNX,PLTRNY)/20.
164 CALL GDRAWT(XTEXT,YTEXT, 'C<ROSS - >S<ECTION> (<Z >=< >0)',
167 ELSE IF (ISEL.EQ.-4) THEN
171 CSIZE=0.5*MIN(PLTRNX,PLTRNY)/20.
172 CALL GDRAWT(XTEXT,YTEXT,
173 + 'V<ERTICAL> S<ECTION> (<X >=< >0.5)',CSIZE,0.,2,0)
175 ELSE IF (ISEL.EQ.-5) THEN
179 CSIZE=0.5*MIN(PLTRNX,PLTRNY)/20.
180 CALL GDRAWT(XTEXT,YTEXT,
181 + 'H<ORIZONTAL> S<ECTION> (<Y >=< >5)',CSIZE,0.,2,0)
185 IF (ISEL.LT.0.OR.ISEL2.NE.0) THEN
186 IYEAR = (IGDATE)/10000
187 IMONTH = (IGDATE-IYEAR*10000)/100
188 IDAY = (IGDATE-IYEAR*10000-IMONTH*100)
190 WRITE (CHDATE,'(I2,''/'',I2,''/'',I2)') IDAY,IMONTH,IYEAR
193 CSIZE=0.25*MIN(PLTRNX,PLTRNY)/20.
194 CALL GDRAWT(XTEXT,YTEXT,CHDATE,CSIZE,0.,1,1)