8 //##############################################################################
10 // Nikolai Amelin (C) JINR/Dubna 1999
12 //##############################################################################
15 const Double_t GeV = 1.;
16 const Double_t fermi = 1.;
17 const Double_t hbarc = 0.197*GeV*fermi;
18 const Double_t N_PI = 3.14159265359;
20 const Double_t N_INFINITY = 9.0E99;
21 const Double_t N_SMALL = 1.E-10;
24 template <class T> inline void SwapObj(T* a, T* b)
31 template <class T> inline void Swap(T& a, T& b)
38 template <class T> inline T Min(T a, T b)
40 return (a < b) ? a : b;
43 template <class T> inline T Max(T a, T b)
45 return (a > b) ? a : b;
48 template <class T> inline T Abs(T a)
50 return (a > 0) ? a : -a;
53 template <class T> inline T Sign(T A, T B)
55 return (B > 0) ? Abs(A) : -Abs(A);
57 template <class T> inline T min(T a, T b)
62 template <class T> inline T max(T a, T b)
67 inline Double_t Rand(void)
69 return ((Double_t)(rand() + 1))/(Double_t)(RAND_MAX + 2);//Visual C++
70 // return ((Double_t)(-rand() + 1))/(Double_t)(RAND_MAX + 2);// Linux
74 inline Double_t sqr(Double_t Value) { return Value*Value;}