5 * Revision 1.1.1.1 1995/10/24 10:19:42 cernlib
9 #include "geant321/pilot.h"
10 *CMZ : 3.21/02 29/03/94 15.41.31 by S.Giani
12 SUBROUTINE CGBRIK(DX,DY,DZ,LCG,CG)
13 ************************************************************************
16 * Author: E. Chernyaev Date: 24.03.88 *
19 * Function: Create CG-object for BRICK *
21 * References: CGSIZE *
23 * Input: DX - X-size *
26 * LCG - max-size of CG-object *
28 * Output: CG - CG-object *
29 * CG(1) - length of CG-object *
30 * = 0 if error in parameters *
35 ************************************************************************
36 #include "geant321/cggpar.inc"
42 + 1,5,6,2, 2,6,7,3, 3,7,8,4, 4,8,5,1,
46 * T E S T P A R A M E T E R S C O R R E C T N E S S
47 IF (DX.LE.0. .OR. DY.LE.0. .OR. DZ.LE.0.) GOTO 999
48 * C O M P U T E S I Z E O F C G - O B J E C T
52 CG(KCGSIZ) = CGSIZE(LCG,NFATYP,NFAC,NEDG)
53 IF (CG(KCGSIZ) .LE. 0.) GOTO 999
54 * P R E P A R E N O D E S C O O R D I N A T E S
64 * C R E A T E C G - O B J E C T F O R B R I K
70 X1 = XYZ(1,IORDER(2,NF))-XYZ(1,IORDER(1,NF))
71 Y1 = XYZ(2,IORDER(2,NF))-XYZ(2,IORDER(1,NF))
72 Z1 = XYZ(3,IORDER(2,NF))-XYZ(3,IORDER(1,NF))
73 X2 = XYZ(1,IORDER(3,NF))-XYZ(1,IORDER(2,NF))
74 Y2 = XYZ(2,IORDER(3,NF))-XYZ(2,IORDER(2,NF))
75 Z2 = XYZ(3,IORDER(3,NF))-XYZ(3,IORDER(2,NF))
85 D =-(A*XYZ(1,IORDER(1,NF)) +
86 + B*XYZ(2,IORDER(1,NF)) +
87 + C*XYZ(3,IORDER(1,NF)) )
96 IF (NE .EQ. 4) NE2 = 1
98 CG(JCG+KCGX1) = XYZ(1,IORDER(NE,NF))
99 CG(JCG+KCGY1) = XYZ(2,IORDER(NE,NF))
100 CG(JCG+KCGZ1) = XYZ(3,IORDER(NE,NF))
101 CG(JCG+KCGX2) = XYZ(1,IORDER(NE2,NF))
102 CG(JCG+KCGY2) = XYZ(2,IORDER(NE2,NF))
103 CG(JCG+KCGZ2) = XYZ(3,IORDER(NE2,NF))