CLHEP/config/CLHEP.h

// -*- C++ -*-
// CLASSDOC OFF
// $Id: CLHEP.h,v 1.20 2000/10/23 15:54:55 evc 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 <stdlib.h>
#include <limits.h>
#include <math.h>

#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_STL
#ifdef HEP_USE_STD_STL
#ifndef HepSTL
#define HepSTL std
#endif
#ifndef HepStdString
#define HepStdString std::string
#endif
#ifndef HepStdVector
#define HepStdVector std::vector
#endif
#ifndef HepStdList
#define HepStdList   std::list
#endif
#else
#ifndef HepSTL
#define HepSTL
#endif
#ifndef HepStdString
#define HepStdString string
#endif
#ifndef HepStdVector
#define HepStdVector vector
#endif
#ifndef HepStdList
#define HepStdList   list
#endif
#endif
#endif

#ifndef HepStd
#ifndef HEP_USE_STD
#define HepStd
#else
#define HepStd std
#endif
#endif

#ifdef HEP_HAVE_BOOL
typedef bool HepBoolean;
#else
typedef int HepBoolean;
#ifndef false
#define false 0
#endif
#ifndef true
#define true 1
#endif
#endif

#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 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_ */

Generated by GNU enscript 1.6.1.