00001
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef _CelsiusTemperature_cc
00026 #define _CelsiusTemperature_cc
00027
00028 #include "Quantity/Variable.h"
00029
00030 #include "PhysicalQuantities/CelsiusTemperature.h"
00031 #include "PhysicalQuantities/ThermodynamicTemperature.h"
00032 #include "PhysicalQuantities/FahrenheitTemperature.h"
00033
00034 namespace quantity {
00035 namespace celsiusTemperature {
00036
00037
00038
00039 template<> const std::string DegreeCelsius::Namestring
00040 = "degreecelsius";
00041 template<> const std::string DegreeCelsius::Symbolstring = "oC";
00042 template<> const bool DegreeCelsius::SI = false;
00043
00044 template<> const double Standard<DegreeCelsius>::ratio = 1.0;
00045 template<> const bool Standard<DegreeCelsius>::exact = true;
00046
00047 }
00048
00049 template<> const std::string
00050 Name<celsiusTemperature::Quantity>::String = "celsius temperature";
00051 template<> const std::string
00052 Symbol<celsiusTemperature::Quantity>::String = "Theta";
00053
00055
00057 template<>
00058 CelsiusTemperature::Variable (const ThermodynamicTemperature &temp)
00059 : variable_value (Reverse<Unit>::VAL (temp.value () - 273.15))
00060 {namestring = temp.name ();}
00061
00063
00065 template<>
00066 CelsiusTemperature::Variable (const FahrenheitTemperature &fahrenheit)
00067 : variable_value
00068 (Reverse<Unit>::VAL (5./9. * (fahrenheit.value () - 32.)))
00069 {namestring = fahrenheit.name ();}
00070
00071 }
00072
00073 #endif