00001 00005 /* Copyright (C) 2002 - 2010, 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 volume_cc 00026 #define volume_cc 00027 00028 // Quantity includes 00029 #include "Quantities/PhysicalQuantities/Volume.h" 00030 00031 namespace quantity { 00032 namespace volume { 00033 00034 /* definition of Volume units */ 00035 /* the cubic metre, m^3 */ 00036 00037 template<> const double VolumeComposedUnit::StandardFactor = 1.0; 00038 00039 /* the litre */ 00040 00041 template<> const std::string Litres::Basename = "litre"; 00042 template<> const std::string Litres::Basesymbol = "L"; 00043 template<> const bool Litres::SI = false; 00044 template<> const bool Litres::Exact = true; 00045 template<> const double Litres::StandardFactor = 1.0e-3; 00046 00047 /* the lambda */ 00048 00049 template<> const std::string Lambda::Namestring = "lambda"; 00050 template<> const std::string Lambda::Symbolstring = "lambda"; 00051 template<> const bool Lambda::SI = false; 00052 template<> const bool Lambda::Exact = true; 00053 template<> const double Lambda::StandardFactor = 1.0e-6; 00054 00055 /* the barrel */ 00056 00057 template<> const std::string Barrel::Namestring = "barrel"; 00058 template<> const std::string Barrel::Symbolstring = ""; 00059 template<> const bool Barrel::SI = false; 00060 template<> const bool Barrel::Exact = false; 00061 template<> const double Barrel::StandardFactor = 0.158987; 00062 00063 /* the US gallon */ 00064 00065 template<> const std::string USGallon::Namestring = "USgallon"; 00066 template<> const std::string USGallon::Symbolstring = "gal (US)"; 00067 template<> const bool USGallon::SI = false; 00068 template<> const bool USGallon::Exact = true; 00069 template<> const double USGallon::StandardFactor = 0.00378541; 00070 00071 /* the UK gallon */ 00072 00073 template<> const std::string UKGallon::Namestring = "UKgallon"; 00074 template<> const std::string UKGallon::Symbolstring = "gal (UK)"; 00075 template<> const bool UKGallon::SI = false; 00076 template<> const bool UKGallon::Exact = true; 00077 template<> const double UKGallon::StandardFactor = 0.004546092; 00078 00079 } 00080 00081 const std::string QuantityTraits<volume::Class>::NameString (void) 00082 {return "volume";} 00083 const std::string QuantityTraits<volume::Class>::SymbolString (void) 00084 {return "V";} 00085 00086 } 00087 00088 #endif /* volume_cc */