1 *
2 * \$Id\$
3 *
4 * \$Log\$
5 * Revision 1.1.1.1  1995/10/24 10:20:27  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 GDRAWX(NAME,CUTTHE,CUTPHI,CUTVAL,THE,PHI,U0,V0,SU,SV)
13 C.
14 C.    ******************************************************************
15 C.    *                                                                *
16 C.    *       Draw extended cut : this routine is similar to GDRAWC    *
17 C.    *       but any cut plane can be choosen, instead of just        *
18 C.    *       the three planes normal to the main axes.                *
19 C.    *                                                                *
20 C.    *       The cut plane is normal to the line given by             *
21 C.    *       the two cut angles CUTTHE,CUTPHI                         *
22 C.    *       and it is placed at the distance CUTVAL from the origin. *
23 C.    *                                                                *
24 C.    *       The resulting picture is seen from the angles THE,PHI    *
25 C.    *                                                                *
26 C.    *    ==>Called by : <USER>, <GXINT>                              *
27 C.    *       Author : P.Zanarini   *********                          *
28 C.    *                                                                *
29 C.    ******************************************************************
30 C.
31 #include "geant321/gcbank.inc"
32 #include "geant321/gcdraw.inc"
33       CHARACTER*4 NAME
34 C.
35 C.    ------------------------------------------------------------------
36 C.
37 C             Allocate working space
38 C
39       CALL GWORK(NWCUT)
40 C
41       IF (CUTTHE.EQ.90.AND.CUTPHI.EQ.180) THEN
42          ICUT=1
43       ELSE IF (CUTTHE.EQ.90.AND.CUTPHI.EQ.0) THEN
44          ICUT=1
45       ELSE IF (CUTTHE.EQ.90.AND.CUTPHI.EQ.90) THEN
46          ICUT=2
47       ELSE IF (CUTTHE.EQ.0.AND.CUTPHI.EQ.0) THEN
48          ICUT=3
49       ELSE
50          ICUT=0
51       ENDIF
52 C
53       DCUT=CUTVAL
54       CTHETA=CUTTHE
55       CPHI=CUTPHI
56 C
57       NSURF=0
58       ISURF=1
59 C
60 C             ICUTFL=1 informs GDRAW to call GDRWSC instead of GDRAWS
61 C             (so that we'll have stored surfaces instead of drawn lines
62 C             and to use the line buffer logic of GDRAWV
63 C
64 C             PSI is fixed to 0.
65 C
66       ICUTFL=1
67       CALL GDRAW(NAME,THE,PHI,0.,U0,V0,SU,SV)
68       ICUTFL=0
69       END