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 _Force_cc 00026 #define _Force_cc 00027 00028 // Quantity includes 00029 #include "Quantities/PhysicalQuantities/Force.h" 00030 00031 namespace quantity { 00032 namespace force { 00033 00034 /* definition of Force units */ 00035 /* the Newton and prefixed Newtons */ 00036 00037 template<> const std::string Newtons::Basename = "newton"; 00038 template<> const std::string Newtons::Basesymbol = "N"; 00039 template<> const bool Newtons::SI = true; 00040 template<> const bool Newtons::Exact = true; 00041 template<> const double Newtons::StandardFactor = 1.0; 00042 00043 /* the dyne */ 00044 00045 template<> const std::string Dyne::Namestring = "dyne"; 00046 template<> const std::string Dyne::Symbolstring = "dyn"; 00047 template<> const bool Dyne::SI = false; 00048 template<> const bool Dyne::Exact = true; 00049 template<> const double Dyne::StandardFactor = 1.0e-5; 00050 00051 /* the kilogram-force */ 00052 00053 template<> const std::string KilogramForce::Namestring 00054 = "kilogram_force"; 00055 template<> const std::string KilogramForce::Symbolstring = "kgf"; 00056 template<> const bool KilogramForce::SI = false; 00057 template<> const bool KilogramForce::Exact = true; 00058 template<> const double KilogramForce::StandardFactor = 9.80665; 00059 00060 /* the atomic force unit */ 00061 00062 template<> const std::string Atomic::Namestring = "AtomicUnitOfForce"; 00063 template<> const std::string Atomic::Symbolstring = "Eh/a0"; 00064 template<> const bool Atomic::SI = false; 00065 template<> const bool Atomic::Exact = false; 00066 template<> const double Atomic::StandardFactor = 8.23873e-8; 00067 00068 } 00069 00070 const std::string QuantityTraits<force::Class>::NameString (void) 00071 {return "force";} 00072 const std::string QuantityTraits<force::Class>::SymbolString (void) 00073 {return "f";} 00074 00075 } 00076 00077 #endif /* _Force_cc */