Problem 2218

Summary: G4UI_USE and G4VIS_USE: 10.6 documentation is inconsistent with source code on visualization
Product: Geant4 Reporter: Andrew Puckett <andrew.puckett>
Component: visualizationAssignee: Laurent Garnier <laurent.garnier>
Status: RESOLVED FIXED    
Severity: minor    
Priority: P4    
Version: 10.6   
Hardware: All   
OS: All   

Description Andrew Puckett 2020-01-25 01:21:21 CET
What is the replacement in GEANT4 version 10.6 for the G4UI_USE and G4VIS_USE preprocessor definitions? The 10.6 release notes state: 

"The preprocessor macros G4UI_USE and G4VIS_USE are removed."

The 10.6 documentation still includes the use of these macros: 

http://geant4-userdoc.web.cern.ch/geant4-userdoc/UsersGuides/ForApplicationDeveloper/html/Visualization/visexecutable.html#example-visaddexe-2

Are these definitions even necessary? Were they ever necessary? 

I guess the question is this: I have an application built against GEANT4 that was using these preprocessor definitions to check for the existence of the UI and visualization libraries in my GEANT4 build. Suppose I removed these definitions and then attempted to build my application against a GEANT4 build that did NOT include the UI and visualization drivers. Would my application then break or fail to compile in such cases if I simply removed these definitions from my code? 

I would like to just remove these checks from the main program of my application altogether. But would I then break backwards compatibility of my app for users with GEANT4 builds without visualization and/or UI drivers? 

Please advise. And please update your 10.6 documentation to be consistent with the actual behavior of the code!
Comment 1 Laurent Garnier 2020-03-02 16:53:49 CET
Hi, 

They are really removed and you should not use them.
We have to update the according documentation.

Laurent