00001
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
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 Quantities {
00034
00035
00036 typedef BSUtilities::Rational<0> ElectricCurrent_LE;
00037 typedef BSUtilities::Rational<0> ElectricCurrent_M;
00038 typedef BSUtilities::Rational<0> ElectricCurrent_TI;
00039 typedef BSUtilities::Rational<1> ElectricCurrent_E;
00040 typedef BSUtilities::Rational<0> ElectricCurrent_TE;
00041 typedef BSUtilities::Rational<0> ElectricCurrent_A;
00042 typedef BSUtilities::Rational<0> ElectricCurrent_LU;
00043 class ElectricCurrentGroup
00044 {
00045 public:
00046 typedef TYPELIST_7(ElectricCurrent_LE, ElectricCurrent_M,
00047 ElectricCurrent_TI, ElectricCurrent_E,
00048 ElectricCurrent_TE, ElectricCurrent_A,
00049 ElectricCurrent_LU) DimTL;
00050 };
00051
00052
00053 namespace ElectricCurrentUnits {
00054
00055 typedef Units::Unit<ElectricCurrentGroup> ElectricCurrentUnit;
00056
00057
00058 class AmpereUnits;
00059 class GauUnit;
00060 class BiotUnit;
00061 class AtomicUnit;
00062
00063
00064
00065
00066 typedef Units::Prefixable<ElectricCurrentGroup, AmpereUnits> Amperes;
00067
00068 typedef Units::Prefixed<Amperes> Ampere;
00069 typedef Units::Prefixed<Amperes, Units::Milli> MilliAmpere;
00070 typedef Units::Prefixed<Amperes, Units::Micro> MicroAmpere;
00071
00072
00073
00074 typedef Units::NonPrefixable<ElectricCurrentGroup, GauUnit> Gau;
00075
00076
00077
00078 typedef Units::NonPrefixable<ElectricCurrentGroup, BiotUnit> Biot;
00079
00080
00081
00082 typedef Units::NonPrefixable<ElectricCurrentGroup, AtomicUnit> Atomic;
00083
00084 typedef Loki::TL::Append<Amperes::Units,
00085 TYPELIST_3(Gau, Biot, Atomic)>::Result ElectricCurrentUnits;
00086
00087 }
00088
00089
00090
00091 typedef
00092 Dimensions::Dimension<ElectricCurrentGroup> ElectricCurrentDimension;
00093
00094
00095
00096 typedef Quantity<ElectricCurrentGroup,
00097 ElectricCurrentUnits::ElectricCurrentUnits,
00098 ElectricCurrentUnits::Ampere> ElectricCurrentQuantities;
00099
00100 typedef Variable<ElectricCurrentQuantities> ElectricCurrent;
00101 typedef Constant<ElectricCurrentQuantities> ElectricCurrentConstant;
00102
00103 typedef VariableVector<ElectricCurrentQuantities> ElectricCurrentVector;
00104
00105 }
00106
00107 #endif