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 _Time_cc 00026 #define _Time_cc 00027 00028 // Quantity includes 00029 #include "Quantities/PhysicalQuantities/Time.h" 00030 00031 namespace quantity { 00032 namespace time { 00033 00034 /* definition of Time units */ 00035 /* the second and prefixed seconds */ 00036 00037 template<> const std::string Seconds::Basename = "second"; 00038 template<> const std::string Seconds::Basesymbol = "s"; 00039 template<> const bool Seconds::SI = true; 00040 template<> const bool Seconds::Exact = true; 00041 template<> const double Seconds::StandardFactor = 1.0; 00042 00043 /* the minute */ 00044 00045 template<> const std::string Minute::Namestring = "minute"; 00046 template<> const std::string Minute::Symbolstring = "min"; 00047 template<> const bool Minute::SI = false; 00048 template<> const bool Minute::Exact = true; 00049 template<> const double Minute::StandardFactor = 60.0; 00050 00051 /* the hour */ 00052 00053 template<> const std::string Hour::Namestring = "hour"; 00054 template<> const std::string Hour::Symbolstring = "h"; 00055 template<> const bool Hour::SI = false; 00056 template<> const bool Hour::Exact = true; 00057 template<> const double Hour::StandardFactor = 3600.0; 00058 00059 /* the day */ 00060 00061 template<> const std::string Day::Namestring = "day"; 00062 template<> const std::string Day::Symbolstring = "d"; 00063 template<> const bool Day::SI = false; 00064 template<> const bool Day::Exact = true; 00065 template<> const double Day::StandardFactor = 86400.0; 00066 00067 /* the year */ 00068 00069 template<> const std::string Year::Namestring = "year"; 00070 template<> const std::string Year::Symbolstring = "a"; 00071 template<> const bool Year::SI = false; 00072 template<> const bool Year::Exact = false; 00073 template<> const double Year::StandardFactor = 31556952.0; 00074 00075 /* the Svedberg */ 00076 00077 template<> const std::string Svedberg::Namestring = "Svedberg"; 00078 template<> const std::string Svedberg::Symbolstring = "Sv"; 00079 template<> const bool Svedberg::SI = false; 00080 template<> const bool Svedberg::Exact = true; 00081 template<> const double Svedberg::StandardFactor = 1e-13; 00082 00083 /* the atomic unit of time */ 00084 00085 template<> const std::string Atomic::Namestring = "Atomic"; 00086 template<> const std::string Atomic::Symbolstring = "hquer/Eh"; 00087 template<> const bool Atomic::SI = false; 00088 template<> const bool Atomic::Exact = false; 00089 template<> const double Atomic::StandardFactor = 2.4188e-17; 00090 00091 } 00092 00093 const std::string QuantityTraits<time::Class>::NameString (void) 00094 {return "time";} 00095 const std::string QuantityTraits<time::Class>::SymbolString (void) 00096 {return "t";} 00097 00098 00099 } 00100 00101 #endif /* _Time_cc */