00001 00005 /* Copyright (C) 2002 - 2009, 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 _PlaneAngle_cc 00026 #define _PlaneAngle_cc 00027 00028 // Quantity includes 00029 #include "Quantities/PhysicalQuantities/PlaneAngle.h" 00030 00031 namespace quantity { 00032 namespace planeAngle { 00033 00034 /* definition of PlaneAngle units */ 00035 /* the radian and prefixed radians */ 00036 00037 template<> const std::string Radians::Basename = "radian"; 00038 template<> const std::string Radians::Basesymbol = "rad"; 00039 template<> const bool Radians::SI = true; 00040 template<> const bool Radians::Exact = true; 00041 template<> const double Radians::StandardFactor = 1.0; 00042 00043 /* the degree */ 00044 00045 template<> const std::string Degree::Namestring = "degree"; 00046 template<> const std::string Degree::Symbolstring = "deg"; 00047 template<> const bool Degree::SI = false; 00048 template<> const bool Degree::Exact = true; 00049 template<> const double Degree::StandardFactor = (4. * std::atan (1.0))/180.; 00050 00051 /* the minute */ 00052 00053 template<> const std::string Minute::Namestring = "minute"; 00054 template<> const std::string Minute::Symbolstring = "'"; 00055 template<> const bool Minute::SI = false; 00056 template<> const bool Minute::Exact = true; 00057 template<> const double Minute::StandardFactor = (4. * std::atan (1.0))/10800.; 00058 00059 /* the second */ 00060 00061 template<> const std::string Second::Namestring = "second"; 00062 template<> const std::string Second::Symbolstring = "''"; 00063 template<> const bool Second::SI = false; 00064 template<> const bool Second::Exact = true; 00065 template<> const double Second::StandardFactor = (4. * std::atan (1.0))/648000.; 00066 00067 /* the grade */ 00068 00069 template<> const std::string Grade::Namestring = "grade"; 00070 template<> const std::string Grade::Symbolstring = "grad"; 00071 template<> const bool Grade::SI = false; 00072 template<> const bool Grade::Exact = true; 00073 template<> const double Grade::StandardFactor = (4. * std::atan (1.0))/200.; 00074 00075 } 00076 00077 const std::string QuantityTraits<planeAngle::Class>::NameString (void) 00078 {return "plane angle";} 00079 const std::string QuantityTraits<planeAngle::Class>::SymbolString (void) 00080 {return "";} 00081 00082 } 00083 00084 #endif /* _PlaneAngle_cc */