Main Page | Class Hierarchy | Class List | File List

ElectricCurrent.h

Go to the documentation of this file.
00001 
00007 /* Copyright (C) 2002 - 2006, Bernd Speiser */
00008 /* This file is part of Quantities.
00009 
00010 PhysicalQuantities is free software; you can redistribute it and/or
00011 modify it under the terms of the GNU General Public License
00012 as published by the Free Software Foundation; either version 2
00013 of the License, or (at your option) any later version.
00014 
00015 PhysicalQuantities is distributed in the hope that it will be useful,
00016 but WITHOUT ANY WARRANTY; without even the implied warranty of
00017 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00018 GNU General Public License for more details.
00019   
00020 You should have received a copy of the GNU General Public License
00021 along with this program; if not, write to the Free Software
00022 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
00023 02111-1307, USA.
00024 */
00025 
00026 #ifndef _ElectricCurrent_h
00027 #define _ElectricCurrent_h
00028 
00029 #include "Quantity/Variable.h"
00030 #include "Quantity/Constant.h"
00031 #include "Quantity/QuantityCluster.h"
00032 
00033 namespace quantity {
00034   namespace electricCurrent {
00035 
00036 /* ElectricCurrent dimension */
00037 typedef BSUtilities::Rational<0> LE;
00038 typedef BSUtilities::Rational<0> M;
00039 typedef BSUtilities::Rational<0> TI;
00040 typedef BSUtilities::Rational<1> E;
00041 typedef BSUtilities::Rational<0> TE;
00042 typedef BSUtilities::Rational<0> A;
00043 typedef BSUtilities::Rational<0> LU;
00044 
00045 typedef dimension::Dimension<LE, M, TI, E, TE, A, LU> Dimension;
00046 
00048 class Unit;
00049 
00050 /* declaration of ElectricCurrent units */
00051 class AmpereUnits;
00052 class GauUnit;
00053 class BiotUnit;
00054 class AtomicUnit;
00055 
00056 /* declaration of ElectricCurrent units */
00057 /* the Ampere and prefixed Amperes */
00058 
00059 typedef unit::Prefixable<Unit, AmpereUnits> Amperes;
00060 
00061 typedef unit::Prefixed<Amperes> Ampere;
00062 typedef unit::Prefixed<Amperes, unit::Milli> MilliAmpere;
00063 typedef unit::Prefixed<Amperes, unit::Micro> MicroAmpere;
00064 
00065 /* the Gau */
00066 
00067 typedef unit::NonPrefixable<Unit, GauUnit> Gau;
00068 
00069 /* the Biot */
00070 
00071 typedef unit::NonPrefixable<Unit, BiotUnit> Biot;
00072 
00073 /* the atomic unit of electric current */
00074 
00075 typedef unit::NonPrefixable<Unit, AtomicUnit> Atomic;
00076 
00077 typedef Loki::TL::Append<Amperes::Units, 
00078                       LOKI_TYPELIST_3(Gau, Biot, Atomic)>::Result Units;
00079 
00080 /* ElectricCurrent quantity */
00081 
00082 typedef Quantity<Dimension, Unit, Units, Ampere> Quantity;
00083 
00084   }
00085 
00086 typedef Variable<electricCurrent::Quantity> ElectricCurrent;
00087 typedef Constant<electricCurrent::Quantity> ElectricCurrentConstant;
00088 
00089 typedef VariableVector<electricCurrent::Quantity> ElectricCurrentVector;
00090 
00091 }
00092 
00093 #endif /* _ElectricCurrent_h */

Generated on Sun Jan 15 14:05:26 2006 for PhysicalQuantities by doxygen 1.3.6