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 _ElectricCharge_cc 00026 #define _ElectricCharge_cc 00027 00028 // Quantity includes 00029 #include "Quantities/PhysicalQuantities/ElectricCharge.h" 00030 00031 namespace quantity { 00032 namespace electricCharge { 00033 00034 /* definition of ElectricCharge units */ 00035 /* the Coulomb and prefixed Coulombs */ 00036 00037 template<> const std::string Coulombs::Basename = "coulomb"; 00038 template<> const std::string Coulombs::Basesymbol = "C"; 00039 template<> const bool Coulombs::SI = true; 00040 template<> const bool Coulombs::Exact = true; 00041 template<> const double Coulombs::StandardFactor = 1.0; 00042 00043 /* the Franklin */ 00044 00045 template<> const std::string Franklin::Namestring = "franklin"; 00046 template<> const std::string Franklin::Symbolstring = "Fr"; 00047 template<> const bool Franklin::SI = false; 00048 template<> const bool Franklin::Exact = false; 00049 template<> const double Franklin::StandardFactor = 3.33564e-10; 00050 00051 /* the emu charge unit */ 00052 00053 template<> const std::string Emu::Namestring = "emu"; 00054 template<> const std::string Emu::Symbolstring = ""; 00055 template<> const bool Emu::SI = false; 00056 template<> const bool Emu::Exact = true; 00057 template<> const double Emu::StandardFactor = 10.0; 00058 00059 /* the proton charge unit */ 00060 00061 template<> const std::string ProtonCharge::Namestring = "proton_charge"; 00062 template<> const std::string ProtonCharge::Symbolstring = "e"; 00063 template<> const bool ProtonCharge::SI = false; 00064 template<> const bool ProtonCharge::Exact = false; 00065 template<> const double ProtonCharge::StandardFactor = 1.60218e-19; 00066 00067 } 00068 00069 const std::string QuantityTraits<electricCharge::Class>::NameString (void) 00070 {return "electric charge";} 00071 const std::string QuantityTraits<electricCharge::Class>::SymbolString (void) 00072 {return "Q";} 00073 00074 } 00075 00076 #endif /* _ElectricCharge_cc */