g2root

Jayoung Wu (jayoung@glue.umd.edu)
Mon, 29 Jun 1998 14:23:36 -0400 (EDT)


Hi all,
I want to use "g2root" to convert an existing GEANT geometry file
into a ROOT macro.
To use this conversion program
g2root geant_rzfile macroname.
^^^^^^^^^^^^
What is geant_rzfile file? Can it be any geant fortran
file?

When I tried "g2root geom.f geom.C", I got the following error message:
Error: No symbol g2rootgeom.fgeom.C in current scope
FILE:/tmp/03052aaa LINE:1
Is there something wrong with my "geom.f"?

If possible, can I have any example file for geant_rzfile?

---------------------- geom.f ---------------------------------
c+DECK, UGEOM.
***************************************************************************
SUBROUTINE UGEOM
***************************************************************************
c/*
c#include "/cern/97a/inc/gckine.inc"
c#include "/cern/97a/inc/usphys.inc"
c#include "/cern/97a/inc/matidc.inc"
c#include "/cern/97a/inc/gmsize.inc"
c*/

include '/home/sina/CERNINCLUDES/myugeom.inc'

******* MATERIAL DESCRIPTION
CALL GSMIXT(MATBGO,'BGO$',ABGO,ZBGO, 7.1, -3, WBGO)

CALL GSMATE(MATSCN,'SCINTILLATOR$', 20.0, 10.0, 1.032,
+ 42.4, 58.4, 0, 0)

CALL GPMATE(0) !PRINT OUT ALL MATERIALS

******* TRACKING MEDIUM
IFIELD = 0
FIELDM = 0.
TMAXFD = 10.
STEMAX = 1. !DEDXMX
DEEMAX = 0.05
EPSIL = 0.001
STMIN = 0.001

CALL GSTMED(ITRAIR,'AIR$',MATAIR, 0, IFIELD,
+ FIELDM, TMAXFD, STEMAX, DEEMAX, EPSIL, STMIN, 0, 0)

CALL GSTMED(ITRBGO,'BGO$',MATBGO, 0, IFIELD,
+ FIELDM, TMAXFD, STEMAX, DEEMAX, EPSIL, STMIN, 0, 0)

CALL GSTMED(ITRCAR,'CARBON$',MATCAR, 0, IFIELD,
+ FIELDM, TMAXFD, STEMAX, DEEMAX, EPSIL, STMIN, 0, 0)

CALL GSTMED(ITRSCN,'SCINTILLATOR$',MATSCN, 0, IFIELD,
+ FIELDM, TMAXFD, STEMAX, DEEMAX, EPSIL, STMIN, 0, 0)

******* DEFINE THE GEOMETRICAL SETUP
!First of all, create volumes
SIZE(1) = 100. !half of length in x direction
SIZE(2) = 100. !y
SIZE(3) = 100. !z
CALL GSVOLU('ROOT','BOX ', ITRAIR, SIZE, 3, IVOLU)

SIZE(1) = 50. / 2.
SIZE(2) = 50. / 2.
SIZE(3) = 2.5 / 2.
CALL GSVOLU('BGOL','BOX ', ITRBGO, SIZE, 3, IVOLU)
CALL GSVOLU('BGEL','BOX ', ITRBGO, SIZE, 3, IVOLU)

thkscn = 2.0
SIZE(3) = thkscn / 2.
SIZE(1) = 25.0
SIZE(2) = SIZE(1)
CALL GSVOLU('SCN1','BOX ', ITRSCN, SIZE, 3, IVOLU)

!Position the volumes --- easy part, which is CARBON and SCIN.
LAYERS
CALL GSPOS('SCN1',1,'ROOT', 0, 0, 31., 0, 'ONLY')

!BGO crystals
K=0
DO I=1, 15
K=K+1
CALL GSPOS('BGOL', K, 'ROOT', 0, 0,-1.25-(I-1)*5.0, 0, 'ONLY')
CALL GSPOS('BGEL', K, 'ROOT', 0, 0,-3.75-(I-1)*5.0, 0, 'ONLY')
ENDDO
CALL GSDVN('BGOX','BGOL', 2,1) !divide BGOL into two BGOX in the
x-axis
CALL GSDVN('XBGO','BGOX',20,2)
CALL GSDVN('BGOY','BGEL', 2,2) !divide BGEL into two BGOY in the
y-axis
CALL GSDVN('YBGO','BGOY',20,1)

!split the S1,S2,S3,S4,S5 layer along the z-direction
CALL GSDVN('S1AB','SCN1', 2, 3)

call gpvolu(0)

******* FINISH GEOMETRICAL SETUP
CALL GGCLOS

END

---
Thanks a lot!
Jayoung

PS. I am on linux and ROOT version1.03.