00001
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef _FirstOrderRateConstant_h
00026 #define _FirstOrderRateConstant_h
00027
00028 #include "Quantity/Variable.h"
00029 #include "Quantity/Constant.h"
00030 #include "Quantity/QuantityCluster.h"
00031
00032 #include "PhysicalQuantities/Time.h"
00033
00034 namespace quantity {
00035 namespace firstOrderRateConstant {
00036
00037
00038 typedef BSUtilities::Rational<0> LE;
00039 typedef BSUtilities::Rational<0> M;
00040 typedef BSUtilities::Rational<-1> TI;
00041 typedef BSUtilities::Rational<0> E;
00042 typedef BSUtilities::Rational<0> TE;
00043 typedef BSUtilities::Rational<0> A;
00044 typedef BSUtilities::Rational<0> LU;
00045
00046 typedef dimension::Dimension<LE, M, TI, E, TE, A, LU> Dimension;
00047
00049 class Unit;
00050
00051
00052 typedef LOKI_TYPELIST_3(time::Minute, time::Second,
00053 time::MilliSecond) TimeList;
00054
00055 typedef unit::ComposeElement<Unit, TimeList,
00056 BSUtilities::Rational<-1> > TimeElement;
00057
00058 typedef unit::ComposeBase<Unit,
00059 LOKI_TYPELIST_1(TimeElement)> FirstOrderRateConstantComposedUnit;
00060
00061 typedef unit::Composed<FirstOrderRateConstantComposedUnit,
00062 LOKI_TYPELIST_1(time::Minute)> OnePerMinute;
00063
00064 typedef unit::Composed<FirstOrderRateConstantComposedUnit,
00065 LOKI_TYPELIST_1(time::Second)> OnePerSecond;
00066
00067 typedef unit::Composed<FirstOrderRateConstantComposedUnit,
00068 LOKI_TYPELIST_1(time::MilliSecond)> OnePerMilliSecond;
00069
00070
00072 typedef
00073 LOKI_TYPELIST_3(OnePerMinute, OnePerSecond, OnePerMilliSecond) Units;
00074
00075
00076
00077 typedef Quantity<Dimension, Unit, Units, OnePerSecond> Quantity;
00078
00079 }
00080
00081 typedef Variable<firstOrderRateConstant::Quantity>
00082 FirstOrderRateConstant;
00083 typedef Constant<firstOrderRateConstant::Quantity>
00084 FirstOrderRateConstantConstant;
00085
00086 typedef VariableVector<firstOrderRateConstant::Quantity>
00087 FirstOrderRateConstantVector;
00088
00089 }
00090
00091 #endif