]> git.uio.no Git - u/mrichter/AliRoot.git/blame - GEANT321/gdraw/gdssur.F
Fix needed on Sun and Alpha
[u/mrichter/AliRoot.git] / GEANT321 / gdraw / gdssur.F
CommitLineData
fe4da5cc 1*
2* $Id$
3*
4* $Log$
5* Revision 1.1.1.1 1995/10/24 10:20:28 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 GDSSUR(P1,P2,P3,P4)
13C.
14C. ******************************************************************
15C. * *
16C. * Store space points P1,P2,P3,P4 in vector SURF *
17C. * starting from SURF(ISURF) *
18C. * *
19C. * ==>Called by : GDRWSC *
20C. * Author : P.Zanarini ********* *
21C. * *
22C. ******************************************************************
23C.
24#include "geant321/gcbank.inc"
25#include "geant321/gcdraw.inc"
26#include "geant321/gcvolu.inc"
27 DIMENSION SURF(2)
28 EQUIVALENCE (WS(1),SURF(1))
29 DIMENSION P1(1),P2(1),P3(1),P4(1),RP1(3),RP2(3),RP3(3),RP4(3)
30C
31C MPOINT is maximum number of points that can be stored;
32C at present MPOINT=(2000-12), because SURF is equivalenced
33C from WS(1) to WS(2000)
34C
35 SAVE MPOINT
36 DATA MPOINT/1988/
37C.
38C. ------------------------------------------------------------------
39C.
40C Rotation matrix
41C
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))
46C
47C Translation matrix
48C
49 DO 10 I=1,3
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)
54 10 CONTINUE
55C
56C Store space points
57C
58 SURF(ISURF)=RP1(1)
59 SURF(ISURF+1)=RP1(2)
60 SURF(ISURF+2)=RP1(3)
61 SURF(ISURF+3)=RP2(1)
62 SURF(ISURF+4)=RP2(2)
63 SURF(ISURF+5)=RP2(3)
64 SURF(ISURF+6)=RP3(1)
65 SURF(ISURF+7)=RP3(2)
66 SURF(ISURF+8)=RP3(3)
67 SURF(ISURF+9)=RP4(1)
68 SURF(ISURF+10)=RP4(2)
69 SURF(ISURF+11)=RP4(3)
70 ISURF=ISURF+12
71 NSURF=NSURF+1
72C
73C If there is not enough space perform a cut
74C to empty the surface buffer SURF
75C
76 IF (ISURF.GE.MPOINT) CALL GDCUT
77C
78 END