Problem 188

Summary: G3toG4 bug in positioning volume copies
Product: Geant4 Reporter: marc.kippen
Component: g3tog4Assignee: lockman
Status: RESOLVED FIXED    
Severity: critical    
Priority: P5    
Version: other   
Hardware: PC   
OS: Linux   

Description marc.kippen 2001-01-11 12:22:30 CET
Problem:  In Geant4.3.0, G3toG4:
========
The geometry list file interpreter, G4BuildGeom, does not properly handle
the creation and positioning of multiple volume copies.  For example, in the
following list file, only the first copy of MODU is created:

---- GSPOS  MODU    1 ORIG   0.00E+00   0.00E+00  -1.00E+01    0 ONLY
---- GSPOS  MODU    2 ORIG   0.00E+00   0.00E+00  +1.00E+01    0 ONLY

Cause:
======
The cause appears to be a simple problem in the loop over the multiple
copies of a volume in the class G3toG4BuildTree.

Solution:
=========
At line 101 of G3toG4BuildTree.cc, decrement the for loop counter, i,
as shown below:

101   // clear this position
102	 curVTE->ClearG3PosCopy(i);
103	 i--;                          // <--- Add this line
104   }
105 }


There is also a minor problem with the makefile in that the debugging flag
G3G4DEBUG is never passed from the OS environment to the compiler.  One fix
is to add the following at the top of the G3toG4 GNUmakefile:

ifdef G3G4DEBUG
  CPPFLAGS += -DG3G4DEBUG
endif
Comment 1 Gabriele Cosmo 2001-01-25 10:42:59 CET
Thanks for the report. Fixes are now under testing in the development tag
"g3tog4-V03-00-00" and will be included in future patches or minor relases.
Comment 2 Gabriele Cosmo 2001-03-05 06:42:59 CET
*** Bug 223 has been marked as a duplicate of this bug. ***
*** 'lockman@slac.stanford.edu' will be responsible for bug 223. ***