5 * Revision 1.1.1.1 1995/10/24 10:20:28 cernlib
9 #include "geant321/pilot.h"
10 *CMZ : 3.21/02 29/03/94 15.41.27 by S.Giani
12 SUBROUTINE GDSSUR(P1,P2,P3,P4)
14 C. ******************************************************************
16 C. * Store space points P1,P2,P3,P4 in vector SURF *
17 C. * starting from SURF(ISURF) *
19 C. * ==>Called by : GDRWSC *
20 C. * Author : P.Zanarini ********* *
22 C. ******************************************************************
24 #include "geant321/gcbank.inc"
25 #include "geant321/gcdraw.inc"
26 #include "geant321/gcvolu.inc"
28 EQUIVALENCE (WS(1),SURF(1))
29 DIMENSION P1(1),P2(1),P3(1),P4(1),RP1(3),RP2(3),RP3(3),RP4(3)
31 C MPOINT is maximum number of points that can be stored;
32 C at present MPOINT=(2000-12), because SURF is equivalenced
33 C from WS(1) to WS(2000)
38 C. ------------------------------------------------------------------
42 CALL GINROT(P1(1),GRMAT(1,NLEVEL),RP1(1))
43 CALL GINROT(P2(1),GRMAT(1,NLEVEL),RP2(1))
44 CALL GINROT(P3(1),GRMAT(1,NLEVEL),RP3(1))
45 CALL GINROT(P4(1),GRMAT(1,NLEVEL),RP4(1))
50 RP1(I)=RP1(I)+GTRAN(I,NLEVEL)
51 RP2(I)=RP2(I)+GTRAN(I,NLEVEL)
52 RP3(I)=RP3(I)+GTRAN(I,NLEVEL)
53 RP4(I)=RP4(I)+GTRAN(I,NLEVEL)
73 C If there is not enough space perform a cut
74 C to empty the surface buffer SURF
76 IF (ISURF.GE.MPOINT) CALL GDCUT