]> git.uio.no Git - u/mrichter/AliRoot.git/blame - GEANT321/gdraw/gdcgwv.F
README file from R.Barbera
[u/mrichter/AliRoot.git] / GEANT321 / gdraw / gdcgwv.F
CommitLineData
fe4da5cc 1*
2* $Id$
3*
4* $Log$
5* Revision 1.1.1.1 1995/10/24 10:20:21 cernlib
6* Geant
7*
8*
9#include "geant321/pilot.h"
10#if defined(CERNLIB_CG)
11*CMZ : 3.21/02 29/03/94 15.41.26 by S.Giani
12*-- Author :
13 SUBROUTINE GDCGWV(IWOFFS)
14************************************************************************
15* *
16* Name: GDCGWV extracted from CG routine CGVWIR *
17* Author: E. Chernyaev Date: 09.08.88 *
18* Revised: *
19* *
20* Function: Vizualisation of WIRE-object *
21* *
22* References: CGVHED *
23* *
24* Input: Q(JCG+IWOFFS+*) - WIRE-object *
25* Q(JCG+*) - HIDE-structure *
26* *
27* Output: none *
28* *
29* Errors: none *
30* *
31************************************************************************
32#include "geant321/gcbank.inc"
33#include "geant321/gcunit.inc"
34#include "geant321/cggpar.inc"
35#include "geant321/cghpar.inc"
36#include "geant321/cgctra.inc"
37#include "geant321/cgcedg.inc"
38#include "geant321/gcdraw.inc"
39*
40 REAL P1(3),P2(3),AX(2),AY(2)
41* SAVE FIRST,JPOLD
42* LOGICAL FIRST
43* DATA FIRST/.TRUE./
44*SG
45* DIMENSION TESTX(2),TESTY(2)
46*SG
47* IF(FIRST) THEN
48* JPOLD=LQ(LQ(JDRAW-3)-5)
49* FIRST=.FALSE.
50* ENDIF
51 IF (Q(JCG+IWOFFS+KCGSIZ) .LE. 0.) THEN
52 WRITE(CHMAIL,10000)
53 GOTO 50
54 ENDIF
55 IF (Q(JCG+KHSIZE) .LE. LHHEAD) THEN
56 WRITE(CHMAIL,10100)
57 GOTO 50
58 ENDIF
59*SG
60* Icolar is equal to 1 even if hide is off, but linbuf can be = 2 only
61* if fill area option is switched on AND hide is on.
62*
63* LINBUF=0
64* DO 111 IJ=1,2
65* TESTX(IJ)=0
66* TESTY(IJ)=0
67* 111 CONTINUE
68* LINFIL=IBITS(LINATT,17,3)
69* IF(LINFIL.GT.0)THEN
70* CALL GDRAWV(TESTX,TESTY,-1)
71* ENDIF
72*SG
73 NT = Q(JCG+KHNT)
74 IF (NT.LE.0 .OR. NT.GT.NTMAX) GOTO 50
75 NEDGE = Q(JCG+IWOFFS+KCGNF)
76* IF(NEDGE.EQ.0)GOTO 49
77 JXYZ1 = Q(JCG+KHJXYZ)
78 JFA = Q(JCG+KHJFA)
79 JPFA = Q(JCG+KHJPFA)
80 JDFA = Q(JCG+KHJDFA)
81 JTRE = Q(JCG+KHJTRE)
82 JSTA = Q(JCG+KHJSTA)
83 JALE = Q(JCG+KHJALE)
84 JARI = Q(JCG+KHJARI)
85 NFACE = Q(JCG+KHNFAC)
86 DO 40 NE=1,NEDGE
87 J = LCGHEA + (NE-1)*LCGEDG
88* IEA = Q(JCG+IWOFFS+J+KCGAE)
89 P1(1) = Q(JCG+IWOFFS+J+KCGX1)
90 P1(2) = Q(JCG+IWOFFS+J+KCGY1)
91 P1(3) = Q(JCG+IWOFFS+J+KCGZ1)
92 P2(1) = Q(JCG+IWOFFS+J+KCGX2)
93 P2(2) = Q(JCG+IWOFFS+J+KCGY2)
94 P2(3) = Q(JCG+IWOFFS+J+KCGZ2)
95 CALL CGVEDG(NT,P1,P2,IVIS)
96 IF (IVIS .LT. 0) GOTO 40
97 IF (NFACE .EQ. 0) GOTO 30
98 CALL CGVHED( Q(JCG+JXYZ1),Q(JCG+JFA),Q(JCG+JPFA),
99 + Q(JCG+JDFA),Q(JCG+JTRE),Q(JCG+JSTA),
100 + Q(JCG+JALE),Q(JCG+JARI))
101* D R A W E D G E
102 IF (NPART) 40 ,30 ,10
103 10 DO 20 I=1,NPART+1
104 IF (I .EQ. 1) T1 = 0.
105 IF (I .NE. 1) T1 = TEND(I-1)
106 IF (I .NE. NPART+1) T2 = TSTRT(I)
107 IF (I .EQ. NPART+1) T2 = 1.
108 IF (T2-T1 .LT. TDEL) GOTO 20
109 AX(1) = XA + T1*XDELT
110 AY(1) = YA + T1*YDELT
111 AX(2) = XA + T2*XDELT
112 AY(2) = YA + T2*YDELT
113* JPNOW=LQ(LQ(JDRAW-3)-5)
114* IF(JPNOW.NE.JPOLD) THEN
115* PRINT*,'JPOLD, JPNEW before 1st GDRAWV ',JPOLD,JPNEW
116* Q(JCG+100000000)=1.
117* ENDIF
118 CALL GDRAWV(AX,AY,2)
119* IF(JPNOW.NE.JPOLD) THEN
120* PRINT*,'JPOLD, JPNEW after 1st GDRAWV ',JPOLD,JPNEW
121* Q(JCG+100000000)=1.
122* ENDIF
123 20 CONTINUE
124 GOTO 40
125* L I N E I S F U L L Y V I S I B L E
126 30 CONTINUE
127 AX(1) = AA(1)
128 AY(1) = AA(2)
129 AX(2) = BB(1)
130 AY(2) = BB(2)
131* IF(JPNOW.NE.JPOLD) THEN
132* PRINT*,'JPOLD, JPNEW before 2nd GDRAWV ',JPOLD,JPNEW
133* Q(JCG+100000000)=1.
134* ENDIF
135 CALL GDRAWV(AX,AY,2)
136* IF(JPNOW.NE.JPOLD) THEN
137* PRINT*,'JPOLD, JPNEW after 2nd GDRAWV ',JPOLD,JPNEW
138* Q(JCG+100000000)=1.
139* ENDIF
140 40 CONTINUE
141*SG
142* IF(LINFIL.EQ.1)CALL GDRAWV(TESTX,TESTY,0)
143* 49 CONTINUE
144*SG
145 50 RETURN
146*
14710000 FORMAT(' First word of WIRE less or equal 0 ')
14810100 FORMAT(' N. of words of Hidden Structure less or equal 18 ')
149*
150 END
151#endif