89 lines
2.4 KiB
C++
89 lines
2.4 KiB
C++
// This code implementation is the intellectual property of
|
|
// the GEANT4 collaboration.
|
|
//
|
|
// By copying, distributing or modifying the Program (or any work
|
|
// based on the Program) you indicate your acceptance of this statement,
|
|
// and all its terms.
|
|
//
|
|
// $Id: globals.hh,v 1.15 2000/01/19 11:12:44 gcosmo Exp $
|
|
// GEANT4 tag $Name: geant4-03-00 $
|
|
//
|
|
//
|
|
// Global Constants and typedefs
|
|
//
|
|
// History:
|
|
// 30.06.95 P.Kent - Created
|
|
// 16.02.96 G.Cosmo - Added inclusion of "templates.hh"
|
|
// 03.03.96 M.Maire - Added inclusion of "G4PhysicalConstants.hh"
|
|
// 08.11.96 G.Cosmo - Added cbrt() definition and G4ApplicationState enum type
|
|
// 29.11.96 G.Cosmo - Added typedef of HepBoolean to G4bool
|
|
// 22.10.97 M.Maire - Moved PhysicalConstants at the end of the file
|
|
// 04.12.97 G.Cosmo,E.Tcherniaev - Migrated to CLHEP
|
|
// 26.08.98 J.Allison,E.Tcherniaev - Introduced min/max/sqr/abs functions
|
|
// 22.09.98 G.Cosmo - Removed min/max/sqr/abs functions and replaced with
|
|
// inclusion of CLHEP/config/TemplateFunctions.h for CLHEP-1.3
|
|
// 15.12.99 G.Gracia - Included min, max definitions for NT with ISO standard
|
|
|
|
#ifndef GLOBALS_HH
|
|
#define GLOBALS_HH
|
|
|
|
#include "G4ios.hh"
|
|
|
|
// Undefine possible existing min/max/sqr/abs macros first
|
|
// (temporary solution)
|
|
#ifdef min
|
|
#undef min
|
|
#endif
|
|
#ifdef max
|
|
#undef max
|
|
#endif
|
|
#ifdef sqr
|
|
#undef sqr
|
|
#endif
|
|
#ifdef abs
|
|
#undef abs
|
|
#endif
|
|
|
|
#include "g4std/algorithm"
|
|
#ifndef CLHEP_MAX_MIN_DEFINED
|
|
#define CLHEP_MAX_MIN_DEFINED
|
|
#endif
|
|
|
|
#if defined(WIN32) && defined(G4USE_STD_NAMESPACE)
|
|
// For NT with Native STL (used in ISO standard mode)
|
|
// templated functions min and max should be _MIN _MAX
|
|
#define min _MIN
|
|
#define max _MAX
|
|
#endif
|
|
|
|
// min, max, abs and sqr are in TemplateFunctions.h.
|
|
// Includes also CLHEP.h with typedef for numeric types and
|
|
// implicit inclusions of <stdlib.h>, <limits.h>, <math.h>.
|
|
#include <CLHEP/config/TemplateFunctions.h>
|
|
|
|
// Include base types
|
|
#include "G4Types.hh"
|
|
|
|
// Get definition of G4String
|
|
#include "g4rw/cstring.h"
|
|
|
|
// Includes some additional definitions
|
|
#include "templates.hh"
|
|
|
|
// cbrt() function - define G4_NO_CBRT if the function is not available
|
|
#ifdef G4_NO_CBRT
|
|
static double cbrt(double x) { return pow(x,1./3.); }
|
|
#endif
|
|
|
|
// System of Units and Physical Constants
|
|
////#include <CLHEP/Units/PhysicalConstants.h>
|
|
#include "PhysicalConstants.h"
|
|
|
|
// Global error function
|
|
void G4Exception(const char* s=0);
|
|
void G4Exception(G4std::string s);
|
|
void G4Exception(G4String s);
|
|
|
|
#endif /* GLOBALS_HH */
|
|
|