00001
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef _ElementaryCharge_h
00028 #define _ElementaryCharge_h
00029
00030
00031 #include "Quantities/Quantity/UniqueConstant.h"
00032 #include "Quantities/PhysicalQuantities/ElectricCharge.h"
00033
00034 namespace quantity {
00035 namespace elementaryCharge {
00036
00037 typedef electricCharge::Quantity Quantity;
00038
00039 class DerivedElementaryCharge;
00040
00041 }
00042
00043
00044 template<>
00045 struct DerivedQuantityTraits<electricCharge::Class,
00046 elementaryCharge::DerivedElementaryCharge>
00047 {
00048 static const bool OverwriteName = true;
00049 static const bool OverwriteSymbol = true;
00050
00051 static const std::string NameString ();
00052 static const std::string SymbolString ();
00053
00054 };
00055
00056 typedef Loki::SingletonHolder<UniqueConstant <electricCharge::Quantity,
00057 DerivedQuantity<electricCharge::Class, electricCharge::Coulomb,
00058 elementaryCharge::DerivedElementaryCharge> > > ElementaryCharge;
00059
00060 #define ELEMENTARYCHARGE ElementaryCharge::Instance()
00061
00062 }
00063
00064 #endif