00001
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef _VoltageScanRate_h
00026 #define _VoltageScanRate_h
00027
00028 #include "Quantity/Variable.h"
00029 #include "Quantity/Constant.h"
00030
00031 #include "PhysicalQuantities/ElectricPotential.h"
00032 #include "PhysicalQuantities/Time.h"
00033
00034 namespace quantity {
00035 namespace voltageScanRate {
00036
00037
00038 typedef BSUtilities::Rational<2> LE;
00039 typedef BSUtilities::Rational<1> M;
00040 typedef BSUtilities::Rational<-4> TI;
00041 typedef BSUtilities::Rational<-1> E;
00042 typedef BSUtilities::Rational<0> TE;
00043 typedef BSUtilities::Rational<0> A;
00044 typedef BSUtilities::Rational<0> LU;
00045
00046 typedef dimension::Dimension<LE, M, TI, E, TE, A, LU> Dimension;
00047
00049 class Unit;
00050
00051
00052
00053 typedef LOKI_TYPELIST_4(electricPotential::Volt,
00054 electricPotential::MilliVolt, electricPotential::KiloVolt,
00055 electricPotential::MegaVolt) ElectricPotentialList;
00056
00057 typedef
00058 unit::ComposeElement<Unit, ElectricPotentialList,
00059 BSUtilities::Rational<1> > ElectricPotentialElement;
00060
00061 typedef LOKI_TYPELIST_3(time::Second, time::MilliSecond,
00062 time::MicroSecond) TimeList;
00063
00064 typedef
00065 unit::ComposeElement<Unit, TimeList,
00066 BSUtilities::Rational<-1> > TimeElement;
00067
00068 typedef unit::ComposeBase<Unit,
00069 LOKI_TYPELIST_2(ElectricPotentialElement, TimeElement)>
00070 VoltageScanRateComposedUnit;
00071
00072 typedef unit::Composed<VoltageScanRateComposedUnit,
00073 LOKI_TYPELIST_2(electricPotential::Volt, time::Second)> VoltPerSecond;
00074 typedef unit::Composed<VoltageScanRateComposedUnit,
00075 LOKI_TYPELIST_2(electricPotential::Volt, time::MilliSecond)>
00076 VoltPerMilliSecond;
00077 typedef unit::Composed<VoltageScanRateComposedUnit,
00078 LOKI_TYPELIST_2(electricPotential::Volt, time::MicroSecond)>
00079 VoltPerMicroSecond;
00080 typedef unit::Composed<VoltageScanRateComposedUnit,
00081 LOKI_TYPELIST_2(electricPotential::MilliVolt, time::Second)>
00082 MilliVoltPerSecond;
00083 typedef unit::Composed<VoltageScanRateComposedUnit,
00084 LOKI_TYPELIST_2(electricPotential::KiloVolt, time::Second)>
00085 KiloVoltPerSecond;
00086 typedef unit::Composed<VoltageScanRateComposedUnit,
00087 LOKI_TYPELIST_2(electricPotential::MegaVolt, time::Second)>
00088 MegaVoltPerSecond;
00089
00091 typedef LOKI_TYPELIST_4(VoltPerSecond, MilliVoltPerSecond,
00092 KiloVoltPerSecond, MegaVoltPerSecond) Units;
00093
00094
00095
00096 typedef Quantity<Dimension, Unit, Units, VoltPerSecond> Quantity;
00097
00098 }
00099
00100 typedef Variable<voltageScanRate::Quantity> VoltageScanRate;
00101 typedef Constant<voltageScanRate::Quantity> VoltageScanRateConstant;
00102
00103 typedef QuantityVector<Variable, voltageScanRate::Quantity>
00104 VoltageScanRateVector;
00105
00106 }
00107
00108 #endif