Main Page | Class Hierarchy | Class List | File List

FahrenheitTemperature.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 _FahrenheitTemperature_cc
00026 #define _FahrenheitTemperature_cc
00027 
00028 #include "Quantity/Variable.h"
00029 
00030 #include "PhysicalQuantities/FahrenheitTemperature.h"
00031 #include "PhysicalQuantities/ThermodynamicTemperature.h"
00032 #include "PhysicalQuantities/CelsiusTemperature.h"
00033 
00034 namespace quantity {
00035   namespace fahrenheitTemperature {
00036 
00037 /* definition of FahrenheitTemperature units */
00038 /* the degree Fahrenheit */
00039 
00040 template<> const std::string DegreeFahrenheit::Namestring 
00041                                                    = "degreefahrenheit";
00042 template<> const std::string DegreeFahrenheit::Symbolstring = "oF";
00043 template<> const bool DegreeFahrenheit::SI = false;
00044 
00045 template<> const double Standard<DegreeFahrenheit>::ratio = 1.0;
00046 template<> const bool Standard<DegreeFahrenheit>::exact = true;
00047 
00048   }
00049 
00050 template<> const std::string 
00051          Name<fahrenheitTemperature::Quantity>::String = "temperature";
00052 template<> const std::string 
00053            Symbol<fahrenheitTemperature::Quantity>::String = "Thetaf";
00054 
00056 
00058 template<>
00059   template<>
00060     FahrenheitTemperature::Variable (const ThermodynamicTemperature &temp)
00061       : _value (Reverse<Unit>::VAL ((9./5. * temp.value ()) - 459.67))
00062                                             {namestring = temp.name ();}
00063 
00065 
00067 template<>
00068   template<>
00069     FahrenheitTemperature::Variable (const CelsiusTemperature &celsius)
00070       : _value (Reverse<Unit>::VAL ((9./5. * celsius.value ()) + 32.))
00071                                          {namestring = celsius.name ();}
00072 
00073 }
00074 
00075 #endif /* _FahrenheitTemperature_cc */

Generated on Mon Feb 12 18:48:49 2007 for PhysicalQuantities by doxygen 1.3.6