00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef included_MPQC_Physics_Units_Impl_hh
00014 #define included_MPQC_Physics_Units_Impl_hh
00015
00016 #ifndef included_sidl_cxx_hh
00017 #include "sidl_cxx.hh"
00018 #endif
00019 #ifndef included_MPQC_Physics_Units_IOR_h
00020 #include "MPQC_Physics_Units_IOR.h"
00021 #endif
00022
00023
00024
00025 #ifndef included_MPQC_Physics_Units_hh
00026 #include "MPQC_Physics_Units.hh"
00027 #endif
00028 #ifndef included_sidl_BaseInterface_hh
00029 #include "sidl_BaseInterface.hh"
00030 #endif
00031 #ifndef included_sidl_ClassInfo_hh
00032 #include "sidl_ClassInfo.hh"
00033 #endif
00034
00035
00036
00037 #include <util/misc/units.h>
00038
00039
00040 namespace MPQC {
00041
00045 class Physics_Units_impl
00046
00047
00057
00058
00059 {
00060
00061 private:
00062
00063
00064 Physics_Units self;
00065
00066
00067 sc::Ref<sc::Units> units;
00068 public:
00069 void set_units(const sc::Ref<sc::Units> &);
00070
00071
00072 private:
00073
00074 Physics_Units_impl()
00075 {}
00076
00077 public:
00078
00079
00080
00081 Physics_Units_impl( struct MPQC_Physics_Units__object * s ) : self(s,
00082 true) { _ctor(); }
00083
00084
00085 void _ctor();
00086
00087
00088 virtual ~Physics_Units_impl() { _dtor(); }
00089
00090
00091 void _dtor();
00092
00093
00094 static void _load();
00095
00096 public:
00097
00098
00103 void
00104 initialize (
00105 const ::std::string& unitname
00106 )
00107 throw ()
00108 ;
00109
00110
00114 ::std::string
00115 get_unit_name() throw ()
00116 ;
00117
00121 double
00122 convert_to (
00123 const ::std::string& unitname
00124 )
00125 throw ()
00126 ;
00127
00128
00132 double
00133 convert_from (
00134 const ::std::string& unitname
00135 )
00136 throw ()
00137 ;
00138
00139 };
00140
00141 }
00142
00143
00144
00145
00146
00147 #endif