Main Page | Class Hierarchy | Class List | File List

CelsiusTemperature.cc

Go to the documentation of this file.
00001 
00005 /* Copyright (C) 2004 - 2005, Bernd Speiser */
00006 
00007 /* This file is part of PhysicalQuantities.
00008 
00009 PhysicalQuantities is free software; you can redistribute it and/or
00010 modify it under the terms of the GNU General Public License
00011 as published by the Free Software Foundation; either version 2
00012 of the License, or (at your option) any later version.
00013 
00014 PhysicalQuantities is distributed in the hope that it will be useful,
00015 but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00017 GNU General Public License for more details.
00018   
00019 You should have received a copy of the GNU General Public License
00020 along with this program; if not, write to the Free Software
00021 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
00022 02111-1307, USA.
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 /* the Degree Celsius */
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       : _value (Reverse<Unit>::VAL (temp.value () - 273.15))
00060                                             {namestring = temp.name ();}
00061 
00063 
00065 template<>
00066     CelsiusTemperature::Variable (const FahrenheitTemperature &fahrenheit)
00067       : _value (Reverse<Unit>::VAL (5./9. * (fahrenheit.value () - 32.)))
00068                                       {namestring = fahrenheit.name ();}
00069 
00070 }
00071 
00072 #endif /* _CelsiusTemperature_cc */

Generated on Mon Feb 12 18:44:06 2007 for PhysicalQuantities by doxygen 1.3.6