00001 #ifndef CALOGEOHELPER_PROXIM
00002 #define CALOGEOHELPER_PROXIM
00003
00004
00005
00006
00007 #include <math.h>
00008 #include "CxxUtils/AthUnlikelyMacros.h"
00009
00010 inline double proxim(double b,double a)
00011 {
00012 const double aplus = a + M_PI;
00013 const double aminus = a - M_PI;
00014 if (ATH_UNLIKELY(b > aplus)) {
00015 do {
00016 b -= 2*M_PI;
00017 } while(b > aplus);
00018 }
00019 else if (ATH_UNLIKELY(b < aminus)) {
00020 do {
00021 b += 2*M_PI;
00022 } while(b < aminus);
00023 }
00024 return b;
00025 }
00026
00027
00028 #endif