5 * Revision 1.1.1.1 1995/10/24 10:20:47 cernlib
9 #include "geant321/pilot.h"
10 *CMZ : 3.21/02 29/03/94 15.41.32 by S.Giani
12 SUBROUTINE GREUCL (LUN,FILNAM)
15 * ******************************************************************
17 * * Read in the geometry of the detector in EUCLID file format *
20 * * Author : M. Maire *
22 * ******************************************************************
26 CHARACTER KEY*4, CARD*76
27 CHARACTER*20 NATMED, NAMATE
28 CHARACTER*4 NAME, MOTHER, SHAPE, KONLY
31 #include "geant321/gcnum.inc"
32 #include "geant321/gcunit.inc"
35 #if !defined(CERNLIB_IBM)
38 #if defined(CERNLIB_IBM)
41 FILEXT='/'//FILNAM(1:IT1-1)//' '//FILNAM(IT1+1:IT2)//' A1'
44 WRITE (CHMAIL,10000) FILNAM
50 OPEN (UNIT=LUN,FILE=FILEXT,STATUS='UNKNOWN',FORM='FORMATTED')
52 10 READ (LUN,'(A4,A76)',END=20,ERR=20) KEY,CARD
54 IF (KEY.EQ.'TMED') THEN
55 READ (CARD,*) ITMED, NATMED
56 CALL GCKMAT (ITMED, NATMED)
58 ELSE IF (KEY.EQ.'ROTM') THEN
59 READ (CARD,*) IROT, TETA1, PHI1, TETA2, PHI2, TETA3, PHI3
60 CALL GSROTM ( IROT, TETA1, PHI1, TETA2, PHI2, TETA3, PHI3 )
62 ELSE IF (KEY.EQ.'VOLU') THEN
63 READ (CARD,*) NAME, SHAPE, NUMED, NPAR
64 IF (NPAR.GT.0) READ (LUN, *) (PAR(I),I=1,NPAR)
65 CALL GSVOLU ( NAME, SHAPE, NUMED, PAR, NPAR, IVOLU)
67 ELSE IF (KEY.EQ.'DIVN') THEN
68 READ (CARD,*) NAME, MOTHER, NDIV, IAXE
69 CALL GSDVN ( NAME, MOTHER, NDIV, IAXE )
71 ELSE IF (KEY.EQ.'DVN2') THEN
72 READ (CARD,*) NAME, MOTHER, NDIV, IAXE, ORIG, NUMED
73 CALL GSDVN2 ( NAME, MOTHER, NDIV, IAXE, ORIG, NUMED )
75 ELSE IF (KEY.EQ.'DIVT') THEN
76 READ (CARD,*) NAME, MOTHER, STEP, IAXE, NUMED, NDVMX
77 CALL GSDVT ( NAME, MOTHER, STEP, IAXE, NUMED, NDVMX )
79 ELSE IF (KEY.EQ.'DVT2') THEN
80 READ (CARD,*) NAME, MOTHER, STEP, IAXE, ORIG, NUMED, NDVMX
81 CALL GSDVT2 ( NAME, MOTHER, STEP, IAXE, ORIG, NUMED, NDVMX )
83 ELSE IF (KEY.EQ.'POSI') THEN
84 READ (CARD,*) NAME, NR, MOTHER, XO, YO, ZO, IROT, KONLY
85 CALL GSPOS ( NAME, NR, MOTHER, XO, YO, ZO, IROT, KONLY )
87 ELSE IF (KEY.EQ.'POSP') THEN
88 READ (CARD,*) NAME, NR, MOTHER, XO, YO, ZO, IROT, KONLY, NPAR
89 IF (NPAR.GT.0) READ (LUN, *) (PAR(I),I=1,NPAR)
90 CALL GSPOSP ( NAME, NR, MOTHER, XO,YO,ZO,IROT,KONLY,PAR,NPAR)
93 IF (KEY.NE.'END') GO TO 10
96 WRITE (CHMAIL,10100) FILNAM(1:IT2)
106 10000 FORMAT (' *** GREUCL *** ',A,' is not a valib IBM name')
107 10100 FORMAT (' *** GREUCL *** file: ',A,' is now read in')
108 10200 FORMAT (' *** GREUCL *** reading error or premature end of file')