00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef included_MPQC_Chemistry_QC_Model_Impl_hh
00014 #define included_MPQC_Chemistry_QC_Model_Impl_hh
00015
00016 #ifndef included_sidl_cxx_hh
00017 #include "sidl_cxx.hh"
00018 #endif
00019 #ifndef included_MPQC_Chemistry_QC_Model_IOR_h
00020 #include "MPQC_Chemistry_QC_Model_IOR.h"
00021 #endif
00022
00023
00024
00025 #ifndef included_Chemistry_Molecule_hh
00026 #include "Chemistry_Molecule.hh"
00027 #endif
00028 #ifndef included_MPQC_Chemistry_QC_Model_hh
00029 #include "MPQC_Chemistry_QC_Model.hh"
00030 #endif
00031 #ifndef included_sidl_BaseException_hh
00032 #include "sidl_BaseException.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
00041
00042
00043 #include <chemistry/qc/wfn/wfn.h>
00044 #include "Chemistry_Chemistry_Molecule.hh"
00045
00046
00047 namespace MPQC {
00048
00052 class Chemistry_QC_Model_impl
00053
00054
00065
00066
00067 {
00068
00069 private:
00070
00071
00072 Chemistry_QC_Model self;
00073
00074
00075 sc::Ref<sc::Wavefunction> wfn_;
00076 Chemistry::Chemistry_Molecule molecule_;
00077
00078
00079 private:
00080
00081 Chemistry_QC_Model_impl()
00082 {}
00083
00084 public:
00085
00086
00087
00088 Chemistry_QC_Model_impl( struct MPQC_Chemistry_QC_Model__object * s ) :
00089 self(s,true) { _ctor(); }
00090
00091
00092 void _ctor();
00093
00094
00095 virtual ~Chemistry_QC_Model_impl() { _dtor(); }
00096
00097
00098 void _dtor();
00099
00100
00101 static void _load();
00102
00103 public:
00104
00108 void
00109 initialize_parsedkeyval (
00110 const ::std::string& keyword,
00111 const ::std::string& input
00112 )
00113 throw ()
00114 ;
00115
00119 void
00120 initialize_parsedkeyval_file (
00121 const ::std::string& keyword,
00122 const ::std::string& filename
00123 )
00124 throw ()
00125 ;
00126
00130 void
00131 initialize_aggregatekeyval (
00132 const ::std::string& keyword,
00133 const ::std::string& input,
00134 void* describedclass
00135 )
00136 throw ()
00137 ;
00138
00142 void
00143 initialize_pointer (
00144 void* ptr
00145 )
00146 throw ()
00147 ;
00148
00149
00153 void
00154 set_molecule (
00155 ::Chemistry::Molecule molecule
00156 )
00157 throw ()
00158 ;
00159
00160
00164 ::Chemistry::Molecule
00165 get_molecule() throw ()
00166 ;
00170 double
00171 get_energy() throw (
00172 ::sidl::BaseException
00173 );
00174
00179 void
00180 set_energy_accuracy (
00181 double acc
00182 )
00183 throw ()
00184 ;
00185
00186
00192 double
00193 get_energy_accuracy() throw ()
00194 ;
00195
00203 void
00204 set_do_energy (
00205 bool doit
00206 )
00207 throw ()
00208 ;
00209
00210
00214 ::sidl::array<double>
00215 get_gradient() throw (
00216 ::sidl::BaseException
00217 );
00218
00223 void
00224 set_gradient_accuracy (
00225 double acc
00226 )
00227 throw ()
00228 ;
00229
00230
00236 double
00237 get_gradient_accuracy() throw ()
00238 ;
00239
00243 ::sidl::array<double>
00244 get_hessian() throw (
00245 ::sidl::BaseException
00246 );
00247
00252 void
00253 set_hessian_accuracy (
00254 double acc
00255 )
00256 throw ()
00257 ;
00258
00259
00264 double
00265 get_hessian_accuracy() throw ()
00266 ;
00267
00271 ::sidl::array<double>
00272 get_guess_hessian() throw (
00273 ::sidl::BaseException
00274 );
00275
00280 void
00281 set_guess_hessian_accuracy (
00282 double acc
00283 )
00284 throw ()
00285 ;
00286
00287
00293 double
00294 get_guess_hessian_accuracy() throw ()
00295 ;
00296
00301 int32_t
00302 finalize() throw ()
00303 ;
00304 };
00305
00306 }
00307
00308
00309
00310
00311
00312 #endif