CLHEP/config/CLHEP.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 // $Id: CLHEP.h,v 1.27 2002/03/30 10:27:16 evc Exp $
00003 // ---------------------------------------------------------------------------
00004 //
00005 // This file is a part of the CLHEP - a Class Library for High Energy Physics.
00006 //
00007 // This file contains definitions of some usefull utilities and macros.
00008 //
00009 #ifndef _CLHEP_H_
00010 #define _CLHEP_H_
00011 
00012 #include <stdlib.h>
00013 #include <limits.h>
00014 #include <math.h>
00015 
00016 #if defined(CLHEP_TARGET_H)
00017 #include CLHEP_TARGET_H
00018 #else
00019 #include "CLHEP/config/CLHEP-default.h"
00020 #endif
00021 
00022 // CLASSDOC OFF
00023 // **** You should probably not touch anything below this line: ****
00024 
00025 typedef double HepDouble;
00026 typedef int    HepInt;
00027 typedef float  HepFloat;
00028 typedef bool   HepBoolean;
00029 
00030 #ifdef HEP_SHORT_NAMES
00031 typedef HepBoolean Boolean;
00032 #endif
00033 
00034 #ifndef HepSTL
00035 #ifndef HEP_USE_STD_STL
00036 #define HepSTL
00037 #else
00038 #define HepSTL std
00039 #endif
00040 #endif
00041 
00042 #ifndef HepStd
00043 #ifndef HEP_USE_STD
00044 #define HepStd
00045 #else
00046 #define HepStd std
00047 #endif
00048 #endif
00049 
00050 #ifndef M_PI_2
00051 #define M_PI_2  1.57079632679489661923
00052 #endif
00053 
00054 #ifndef M_PI
00055 #define M_PI    3.14159265358979323846
00056 #endif
00057 
00058 #ifndef M_2PI
00059 #define M_2PI   6.28318530717958647692
00060 #endif
00061 
00062 #ifdef HEP_DEBUG_INLINE
00063 #define HEP_NO_INLINE_IN_DECLARATION
00064 #endif
00065 
00066 #ifdef HEP_NO_INLINE_IN_DECLARATION
00067 #define HEP_NO_INLINE_IN_TEMPLATE_DECLARATION
00068 #endif
00069 
00070 // Default to generate random matrix
00071 //
00072 #ifndef HEP_USE_RANDOM
00073 #define HEP_USE_RANDOM
00074 #endif
00075 
00076 // Default to have assigment from three vector and rotation to matrix
00077 //
00078 #ifndef HEP_USE_VECTOR_MODULE
00079 #define HEP_USE_VECTOR_MODULE
00080 #endif
00081 
00082 // GNU g++ compiler can optimize when returning an object.
00083 // However g++ on HP cannot deal with this.
00084 //
00085 #undef HEP_GNU_OPTIMIZED_RETURN
00086 
00087 // All the stuff needed by std::ios versus std::ios_base
00088 #ifdef HEP_USE_IOS_BASE
00089 #ifndef HepIOS
00090 #define HepIOS std::ios_base
00091 #endif
00092 #ifndef HepIOSOpenMode
00093 #define HepIOSOpenMode std::ios_base::openmode
00094 #endif
00095 #ifndef HepIOSBadBit
00096 #define HepIOSBadBit std::ios_base::badbit
00097 #endif
00098 #else
00099 #ifndef HepIOS
00100 #define HepIOS std::ios
00101 #endif
00102 #ifndef HepIOSOpenMode
00103 #define HepIOSOpenMode std::ios::open_mode
00104 #endif
00105 #ifndef HepIOSBadBit
00106 #define HepIOSBadBit std::ios::badbit
00107 #endif
00108 #endif
00109 
00110 #endif /* _CLHEP_H_ */

Class Library for High Energy Physics (version 1.8)