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 Quantities {
00035 namespace CelsiusTemperatureUnits {
00036
00037
00038
00039 template<> const double DegreeCelsius::StandardRatio = 1.;
00040 template<> const std::string DegreeCelsius::Namestring
00041 = "degreecelsius";
00042 template<> const std::string DegreeCelsius::Symbolstring = "oC";
00043 template<> const bool DegreeCelsius::SI = false;
00044 template<> const bool DegreeCelsius::Exact = true;
00045
00046 }
00047
00048 template<> const std::string Name<CelsiusTemperatureQuantities>::String
00049 = "celsius temperature";
00050 template<> const std::string
00051 Symbol<CelsiusTemperatureQuantities>::String = "Theta";
00052
00054
00056 template<>
00057 CelsiusTemperature::Variable (const ThermodynamicTemperature &temp)
00058 : variable_value (Unit::Reverse (temp.value () - 273.15))
00059 {namestring = temp.name ();}
00060
00062
00064 template<>
00065 CelsiusTemperature::Variable (const FahrenheitTemperature &fahrenheit)
00066 : variable_value
00067 (Unit::Reverse (5./9. * (fahrenheit.value () - 32.)))
00068 {namestring = fahrenheit.name ();}
00069
00070 }
00071
00072 #endif