00001
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef _CelsiusTemperature_h
00026 #define _CelsiusTemperature_h
00027
00028 #include "Quantity/Variable.h"
00029 #include "Quantity/Constant.h"
00030 #include "Quantity/QuantityCluster.h"
00031
00032 namespace Quantities {
00033
00034
00035 typedef BSUtilities::Rational<0> CelsiusTemperature_LE;
00036 typedef BSUtilities::Rational<0> CelsiusTemperature_M;
00037 typedef BSUtilities::Rational<0> CelsiusTemperature_TI;
00038 typedef BSUtilities::Rational<0> CelsiusTemperature_E;
00039 typedef BSUtilities::Rational<1> CelsiusTemperature_TE;
00040 typedef BSUtilities::Rational<0> CelsiusTemperature_A;
00041 typedef BSUtilities::Rational<0> CelsiusTemperature_LU;
00042 class CelsiusTemperatureGroup
00043 {
00044 public:
00045 typedef TYPELIST_7(CelsiusTemperature_LE, CelsiusTemperature_M,
00046 CelsiusTemperature_TI, CelsiusTemperature_E,
00047 CelsiusTemperature_TE, CelsiusTemperature_A,
00048 CelsiusTemperature_LU) DimTL;
00049 };
00050
00052 namespace CelsiusTemperatureUnits {
00053
00054
00055 typedef Units::Unit<CelsiusTemperatureGroup> CelsiusTemperatureUnit;
00056
00057
00058 class DegreeCelsiusUnit;
00059
00060
00061
00062 typedef Units::NonPrefixable<CelsiusTemperatureGroup, DegreeCelsiusUnit>
00063 DegreeCelsius;
00064
00066 typedef TYPELIST_1(DegreeCelsius) CelsiusTemperatureUnits;
00067
00068 }
00069
00070
00071
00072 typedef
00073 Dimensions::Dimension<CelsiusTemperatureGroup>
00074 CelsiusTemperatureDimension;
00075
00076
00077
00078 typedef Quantity<CelsiusTemperatureGroup,
00079 CelsiusTemperatureUnits::CelsiusTemperatureUnits,
00080 CelsiusTemperatureUnits::DegreeCelsius> CelsiusTemperatureQuantities;
00081
00082 typedef Variable<CelsiusTemperatureQuantities> CelsiusTemperature;
00083 typedef Constant<CelsiusTemperatureQuantities>
00084 CelsiusTemperatureConstant;
00085
00086 }
00087
00088 #endif