// -*- C++ -*- // CLASSDOC OFF // $Id: CLHEP.h,v 1.1 2004/01/12 09:03:54 mjg Exp $ // --------------------------------------------------------------------------- // CLASSDOC ON // // This file is a part of the CLHEP - a Class Library for High Energy Physics. // // This file contains definitions of some usefull utilities and macros. // #ifndef _CLHEP_H_ #define _CLHEP_H_ #include #include #include #if defined(CLHEP_TARGET_H) #include CLHEP_TARGET_H #else #include "CLHEP/config/CLHEP-default.h" #endif // CLASSDOC OFF // **** You should probably not touch anything below this line: **** typedef double HepDouble; typedef int HepInt; typedef float HepFloat; #ifdef HEP_HAVE_BOOL typedef bool HepBoolean; #else typedef int HepBoolean; #ifndef false #define false 0 #endif #ifndef true #define true 1 #endif #endif /* HEP_HAVE_BOOL */ #ifdef HEP_SHORT_NAMES typedef HepBoolean Boolean; #endif #ifndef HEP_TEMPLATE_SPECIALIZATION #ifdef HEP_HAVE_EMPTY_TEMPLATE_PARAMETER_LIST #define HEP_TEMPLATE_SPECIALIZATION template<> #else #define HEP_TEMPLATE_SPECIALIZATION #endif #endif #ifndef HEP_BEGIN_NAMESPACE #ifndef HEP_HAVE_NAMESPACE #define HEP_BEGIN_NAMESPACE(A) #else #define HEP_BEGIN_NAMESPACE(A) namespace A { #endif #endif #ifndef HEP_END_NAMESPACE #ifndef HEP_HAVE_NAMESPACE #define HEP_END_NAMESPACE(A) #else #define HEP_END_NAMESPACE(A) } #endif #endif #ifndef HEP_USING_NAMESPACE #ifndef HEP_HAVE_NAMESPACE #define HEP_USING_NAMESPACE(A) #else #define HEP_USING_NAMESPACE(A) using namespace A; #endif #endif #ifndef HEP_HAVE_EXPLICIT #ifndef explicit #define explicit #endif #endif #ifndef HEP_HAVE_TYPENAME #ifndef typename #define typename #endif #endif #ifndef HEP_USE_STD #ifndef std #define std #endif #endif #ifndef M_PI_2 #define M_PI_2 1.57079632679489661923 #endif #ifndef M_PI #define M_PI 3.14159265358979323846 #endif #ifndef M_2PI #define M_2PI 6.28318530717958647692 #endif #ifdef HEP_DEBUG_INLINE #define HEP_NO_INLINE_IN_DECLARATION #endif #ifdef HEP_NO_INLINE_IN_DECLARATION #define HEP_NO_INLINE_IN_TEMPLATE_DECLARATION #endif // Default to generate random matrix // #ifndef HEP_USE_RANDOM #define HEP_USE_RANDOM #endif // Default to have assigment from three vector and rotation to matrix // #ifndef HEP_USE_VECTOR_MODULE #define HEP_USE_VECTOR_MODULE #endif // GNU g++ compiler can optimize when returning an object. // However g++ on HP cannot deal with this. // #undef HEP_GNU_OPTIMIZED_RETURN // CLASSDOC ON #endif /* _CLHEP_H_ */