00001
00002 #ifndef THEPEG_QTY_H
00003 #define THEPEG_QTY_H
00004
00005
00006
00007 #define ThePEG_HAS_UNITS_CHECKING 1
00008
00009
00010
00011 #ifdef ThePEG_HAS_UNITS_CHECKING
00012 #include "PhysicalQty.h"
00013 #include "PhysicalQtyOps.h"
00014 #include "PhysicalQtyComplex.h"
00015
00016 namespace ThePEG {
00017
00018 #else
00019
00020 #include <cmath>
00021 namespace ThePEG {
00022
00023 const double ZERO = 0.0;
00024
00026 template<int P, int R>
00027 double pow(double q) {
00028 return std::pow(q,double(P)/double(R));
00029 }
00030
00031 #endif
00032
00034 template <int L, int E, int Q, int DL = 1, int DE = 1, int DQ = 1>
00035 struct QTY {
00036 #ifdef ThePEG_HAS_UNITS_CHECKING
00038 typedef Qty<L,E,Q,DL,DE,DQ> Type;
00039 #else
00041 typedef double Type;
00042 #endif
00043 };
00044
00045 }
00046
00047 #endif