Strategy for Free and Commercial Software Interfaced to GEANT4


The goal of the GEANT4 design is to be modular, flexible and extensible in every domain. In particular, this is also realized in the interface components to domains outside of the simulation kernel, such as graphics systems, graphical user interfaces, histogramming, object persistency, CAD and foundation classes, consistently also with the approach followed within LHC++. For all of these cases, exploiting Object-Oriented technology, our strategy is to define (or use) public (or standard) interfaces allowing different implementations or libraries to be used underneath. Those implementations and libraries can be public domain or commercial, free, cheap or expensive: the user can make a choice, never being forced either to normalize to the "lowest common denominator" (often 'free' software), or to spend money for commercial software. For all of the domains listed above, there is a reccomended choice within the LHC++ framework.


GRAPHICS SYSTEMS

Currently GEANT4 has drivers for, and can be used with, the following graphics systems:


GUIs

Currently GEANT4 has drivers and prototypes for the following GUIs:


HISTOGRAMMING

Currently the following histogramming tools are used from GEANT4, no drivers are needed:


OBJECT PERSISTENCY

GEANT4 provides object persistency via the HepODBMS public interface of CLHEP, which is open and public domain (RD45), remaining independent from the implementation underneath (which today is an ODMG compliant data-base or tools of equivalent functionality):


CAD

GEANT4 provides CAD interface compliant to the ISO STEP standard, currently using:


FOUNDATION CLASSES

GEANT4 contributes to, and makes use of HEP specific foundation classes in CLHEP, while relies on de-facto or de-jure standards for general foundation classes: