GSI Forum
GSI Helmholtzzentrum für Schwerionenforschung

Home » CBM » CBMROOT » General » CBMROOT Release AUG07
Re: MC data productions [message #5304 is a reply to message #5134] Wed, 24 October 2007 12:00 Go to previous messageGo to previous message
Florian Uhlig is currently offline  Florian Uhlig
Messages: 424
Registered: May 2007
first-grade participant
From: *gsi.de
I looked into the problem with the cherenkov photons on 64bit machines.
As reported in the Software Meeting on 18.10.07 with the newest version of TGeant3 the problem disappeared and the control spectra look normal (see test.mc.RichTestSim.newgeant3.ps)

Checking the changes in the Geant3 code between the two versions there was only no change in the code which could explain the difference between the two Geant3 versions, but there was also a
change in the Makefile for x86_64. In the new Makefile there is a new compiler option "-fno-f2c".

Compiling the old Geant3 code with this additional option also for the old code the Rich control spectra look normal (see test.mc.RichTestSim.oldgeant3.newflag.ps)

According to the information of the g77 manpage normally all code generated by g77 is compatible with code generated with f2c. using "-fno-f2c" the generated code is not compatible with code generated by f2c but uses the GNU calling conventions instead.
This mainly effects the return values

>>The f2c calling conventions require functions that return
>>type "REAL(KIND=1)" to actually return the C type "double",
>>and functions that return type "COMPLEX" to return the
>>values via an extra argument in the calling sequence that
>>points to where to store the return value.

>>Under the GNU calling conventions, such functions simply
>>return their results as they would in GNU C---"REAL(KIND=1)"
>>functions return the C type "float", and "COMPLEX" functions
>>return the GNU C type "complex" (or its "struct" equivalent).

>>Caution: If -fno-f2c is used when compiling any source file
>>used in a program, it must be used when compiling all
>>Fortran source files used in that program.

Since TGeant3 is mostly an interface from C++ to the old fortran routines this differences can explain the observed effect. Why this effect is only seen with cherenkov photons i don't know.

As a summary i would say the problem is solved and partly understood.

On /misc/cbmsoft/Debian64/new i will use the old Geant3 version with the new compiler flag, to have consistent versions of the different libraries on 32 and 64bit.
 
Read Message icon10.gif
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: New release of external packages
Next Topic: New External packages
Goto Forum:
  


Current Time: Fri Apr 26 02:50:09 CEST 2024

Total time taken to generate the page: 0.01059 seconds