00001
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef _ElectricPotential_h
00025 #define _ElectricPotential_h
00026
00027 #include "Quantity/Variable.h"
00028 #include "Quantity/Constant.h"
00029 #include "Quantity/QuantityCluster.h"
00030
00031 namespace quantity {
00032 namespace electricPotential {
00033
00034
00035 typedef BSUtilities::Rational<2> LE;
00036 typedef BSUtilities::Rational<1> M;
00037 typedef BSUtilities::Rational<-3> TI;
00038 typedef BSUtilities::Rational<-1> E;
00039 typedef BSUtilities::Rational<0> TE;
00040 typedef BSUtilities::Rational<0> A;
00041 typedef BSUtilities::Rational<0> LU;
00042
00043 typedef dimension::Dimension<LE, M, TI, E, TE, A, LU> Dimension;
00044
00046 class Unit;
00047
00048
00049 class VoltUnits;
00050 class GauUnit;
00051 class MeanInternationalVoltUnit;
00052 class USInternationalVoltUnit;
00053 class AtomicUnit;
00054
00055
00056
00057 typedef unit::Prefixable<Unit, VoltUnits> Volts;
00058
00059 typedef unit::Prefixed<Volts> Volt;
00060 typedef unit::Prefixed<Volts, unit::Milli> MilliVolt;
00061 typedef unit::Prefixed<Volts, unit::Micro> MicroVolt;
00062 typedef unit::Prefixed<Volts, unit::Kilo> KiloVolt;
00063 typedef unit::Prefixed<Volts, unit::Mega> MegaVolt;
00064
00065
00066
00067 typedef unit::NonPrefixable<Unit, GauUnit> Gau;
00068
00069
00070
00071 typedef unit::NonPrefixable<Unit,
00072 MeanInternationalVoltUnit> MeanInternationalVolt;
00073
00074
00075
00076 typedef unit::NonPrefixable<Unit,
00077 USInternationalVoltUnit> USInternationalVolt;
00078
00079
00080
00081 typedef unit::NonPrefixable<Unit, AtomicUnit> Atomic;
00082
00083 typedef Loki::TL::Append<Volts::Units,
00084 LOKI_TYPELIST_4(Gau, MeanInternationalVolt, USInternationalVolt,
00085 Atomic)>::Result Units;
00086
00087
00088
00089 typedef Volt V;
00090 typedef MilliVolt mV;
00091 typedef MicroVolt uV;
00092
00093
00094
00095 typedef Quantity<Dimension, Unit, Units, Volt> Quantity;
00096
00097 }
00098
00099 typedef Variable<electricPotential::Quantity> ElectricPotential;
00100 typedef Constant<electricPotential::Quantity>
00101 ElectricPotentialConstant;
00102
00103 typedef VariableVector<electricPotential::Quantity>
00104 ElectricPotentialVector;
00105 }
00106
00107 #endif