00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef included_MPQC_Chemistry_Molecule_Impl_hh
00014 #define included_MPQC_Chemistry_Molecule_Impl_hh
00015
00016 #ifndef included_sidl_cxx_hh
00017 #include "sidl_cxx.hh"
00018 #endif
00019 #ifndef included_MPQC_Chemistry_Molecule_IOR_h
00020 #include "MPQC_Chemistry_Molecule_IOR.h"
00021 #endif
00022
00023
00024
00025 #ifndef included_MPQC_Chemistry_Molecule_hh
00026 #include "MPQC_Chemistry_Molecule.hh"
00027 #endif
00028 #ifndef included_Physics_PointGroup_hh
00029 #include "Physics_PointGroup.hh"
00030 #endif
00031 #ifndef included_Physics_Units_hh
00032 #include "Physics_Units.hh"
00033 #endif
00034 #ifndef included_sidl_BaseInterface_hh
00035 #include "sidl_BaseInterface.hh"
00036 #endif
00037 #ifndef included_sidl_ClassInfo_hh
00038 #include "sidl_ClassInfo.hh"
00039 #endif
00040 #ifndef included_gov_cca_Services_hh
00041 #include "gov_cca_Services.hh"
00042 #endif
00043
00044
00045
00046 #include <chemistry/molecule/molecule.h>
00047
00048
00049 namespace MPQC {
00050
00054 class Chemistry_Molecule_impl
00055
00056
00067
00068
00069 {
00070
00071 private:
00072
00073
00074 Chemistry_Molecule self;
00075
00076
00077 double net_charge;
00078 sc::Ref< sc::Molecule> mol;
00079
00080
00081 private:
00082
00083 Chemistry_Molecule_impl() {}
00084
00085 public:
00086
00087
00088
00089 Chemistry_Molecule_impl( struct MPQC_Chemistry_Molecule__object * s ) :
00090 self(s,true) { _ctor(); }
00091
00092
00093 void _ctor();
00094
00095
00096 virtual ~Chemistry_Molecule_impl() { _dtor(); }
00097
00098
00099 void _dtor();
00100
00101 public:
00102
00106 void
00107 initialize_pointer (
00108 void* ptr
00109 )
00110 throw ()
00111 ;
00112
00113
00122 void
00123 setServices (
00124 ::gov::cca::Services services
00125 )
00126 throw ()
00127 ;
00128
00132 void
00133 initialize (
00134 int32_t natom
00135 )
00136 throw ()
00137 ;
00138
00142 ::Physics::Units
00143 get_units() throw ()
00144 ;
00148 int64_t
00149 get_n_atom() throw ()
00150 ;
00154 int64_t
00155 get_atomic_number (
00156 int64_t atomnum
00157 )
00158 throw ()
00159 ;
00160
00164 void
00165 set_atomic_number (
00166 int64_t atomnum,
00167 int64_t atomic_number
00168 )
00169 throw ()
00170 ;
00171
00175 double
00176 get_net_charge() throw ()
00177 ;
00181 void
00182 set_net_charge (
00183 double charge
00184 )
00185 throw ()
00186 ;
00187
00191 double
00192 get_cart_coor (
00193 int64_t atomnum,
00194 int32_t xyz
00195 )
00196 throw ()
00197 ;
00198
00202 void
00203 set_cart_coor (
00204 int64_t atomnum,
00205 int32_t xyz,
00206 double val
00207 )
00208 throw ()
00209 ;
00210
00214 ::std::string
00215 get_atomic_label (
00216 int64_t atomnum
00217 )
00218 throw ()
00219 ;
00220
00224 void
00225 set_atomic_label (
00226 int64_t atomnum,
00227 const ::std::string& label
00228 )
00229 throw ()
00230 ;
00231
00235 ::Physics::PointGroup
00236 get_symmetry() throw ()
00237 ;
00241 ::sidl::array<double>
00242 get_coor() throw ()
00243 ;
00247 void
00248 set_coor (
00249 ::sidl::array<double> x
00250 )
00251 throw ()
00252 ;
00253
00254 };
00255
00256 }
00257
00258
00259
00260
00261
00262 #endif