Geant4 Cross Reference |
>> 1 // This code implementation is the intellectual property of >> 2 // the GEANT4 collaboration. >> 3 // >> 4 // By copying, distributing or modifying the Program (or any work >> 5 // based on the Program) you indicate your acceptance of this statement, >> 6 // and all its terms. >> 7 // >> 8 // $Id: globals.hh,v 1.15 2000/01/19 11:12:44 gcosmo Exp $ >> 9 // GEANT4 tag $Name: geant4-01-01 $ 1 // 10 // 2 // ******************************************* << 3 // * License and Disclaimer << 4 // * << 5 // * The Geant4 software is copyright of th << 6 // * the Geant4 Collaboration. It is provided << 7 // * conditions of the Geant4 Software License << 8 // * LICENSE and available at http://cern.ch/ << 9 // * include a list of copyright holders. << 10 // * << 11 // * Neither the authors of this software syst << 12 // * institutes,nor the agencies providing fin << 13 // * work make any representation or warran << 14 // * regarding this software system or assum << 15 // * use. Please see the license in the file << 16 // * for the full disclaimer and the limitatio << 17 // * << 18 // * This code implementation is the result << 19 // * technical work of the GEANT4 collaboratio << 20 // * By using, copying, modifying or distri << 21 // * any work based on the software) you ag << 22 // * use in resulting scientific publicati << 23 // * acceptance of all terms of the Geant4 Sof << 24 // ******************************************* << 25 // 11 // 26 // Global Constants and typedefs 12 // Global Constants and typedefs 27 // 13 // 28 // Author: P.Kent, 30.06.1995 - Created << 14 // History: 29 // Revisions: << 15 // 30.06.95 P.Kent - Created 30 // - 1996 to present - G.Cosmo << 16 // 16.02.96 G.Cosmo - Added inclusion of "templates.hh" 31 // ------------------------------------------- << 17 // 03.03.96 M.Maire - Added inclusion of "G4PhysicalConstants.hh" >> 18 // 08.11.96 G.Cosmo - Added cbrt() definition and G4ApplicationState enum type >> 19 // 29.11.96 G.Cosmo - Added typedef of HepBoolean to G4bool >> 20 // 22.10.97 M.Maire - Moved PhysicalConstants at the end of the file >> 21 // 04.12.97 G.Cosmo,E.Tcherniaev - Migrated to CLHEP >> 22 // 26.08.98 J.Allison,E.Tcherniaev - Introduced min/max/sqr/abs functions >> 23 // 22.09.98 G.Cosmo - Removed min/max/sqr/abs functions and replaced with >> 24 // inclusion of CLHEP/config/TemplateFunctions.h for CLHEP-1.3 >> 25 // 15.12.99 G.Gracia - Included min, max definitions for NT with ISO standard >> 26 32 #ifndef GLOBALS_HH 27 #ifndef GLOBALS_HH 33 #define GLOBALS_HH 1 << 28 #define GLOBALS_HH 34 29 35 #include "G4ios.hh" 30 #include "G4ios.hh" 36 31 37 #ifndef FALSE << 32 // Undefine possible existing min/max/sqr/abs macros first 38 # define FALSE 0 << 33 // (temporary solution) >> 34 #ifdef min >> 35 #undef min >> 36 #endif >> 37 #ifdef max >> 38 #undef max >> 39 #endif >> 40 #ifdef sqr >> 41 #undef sqr >> 42 #endif >> 43 #ifdef abs >> 44 #undef abs >> 45 #endif >> 46 >> 47 #include "g4std/algorithm" >> 48 #ifndef CLHEP_MAX_MIN_DEFINED >> 49 #define CLHEP_MAX_MIN_DEFINED 39 #endif 50 #endif 40 #ifndef TRUE << 51 41 # define TRUE 1 << 52 #if defined(WIN32) && defined(G4USE_STD_NAMESPACE) >> 53 // For NT with Native STL (used in ISO standard mode) >> 54 // templated functions min and max should be _MIN _MAX >> 55 #define min _MIN >> 56 #define max _MAX 42 #endif 57 #endif 43 58 44 #include <algorithm> // Retrieve definitions << 59 // min, max, abs and sqr are in TemplateFunctions.h. >> 60 // Includes also CLHEP.h with typedef for numeric types and >> 61 // implicit inclusions of <stdlib.h>, <limits.h>, <math.h>. >> 62 #include <CLHEP/config/TemplateFunctions.h> 45 63 46 // Include base types 64 // Include base types 47 #include "G4Types.hh" 65 #include "G4Types.hh" 48 66 49 // Get definition of G4String 67 // Get definition of G4String 50 #include "G4String.hh" << 68 #include "g4rw/cstring.h" 51 69 52 // Includes some additional definitions: sqr, << 70 // Includes some additional definitions 53 #include "templates.hh" 71 #include "templates.hh" 54 72 55 // Global error function << 73 // cbrt() function - define G4_NO_CBRT if the function is not available 56 #include "G4Exception.hh" << 74 #ifdef G4_NO_CBRT >> 75 static double cbrt(double x) { return pow(x,1./3.); } >> 76 #endif 57 77 58 // Global utility functions << 78 // System of Units and Physical Constants 59 #include "G4EnvironmentUtils.hh" << 79 ////#include <CLHEP/Units/PhysicalConstants.h> >> 80 #include "PhysicalConstants.h" >> 81 >> 82 // Global error function >> 83 void G4Exception(const char* s=0); >> 84 void G4Exception(G4std::string s); >> 85 void G4Exception(G4String s); 60 86 61 #endif /* GLOBALS_HH */ 87 #endif /* GLOBALS_HH */ >> 88 62 89