MPQC 2.3.1
|
00001 // 00002 // File: MPQC_Chemistry_QC_Model_Impl.hh 00003 // Symbol: MPQC.Chemistry_QC_Model-v0.2 00004 // Symbol Type: class 00005 // Babel Version: 0.10.2 00006 // Description: Server-side implementation for MPQC.Chemistry_QC_Model 00007 // 00008 // WARNING: Automatically generated; only changes within splicers preserved 00009 // 00010 // babel-version = 0.10.2 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 // Includes for all method dependencies. 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 // DO-NOT-DELETE splicer.begin(MPQC.Chemistry_QC_Model._includes) 00043 #include <chemistry/qc/wfn/wfn.h> 00044 #include "Chemistry_Chemistry_Molecule.hh" 00045 // DO-NOT-DELETE splicer.end(MPQC.Chemistry_QC_Model._includes) 00046 00047 namespace MPQC { 00048 00052 class Chemistry_QC_Model_impl 00053 // DO-NOT-DELETE splicer.begin(MPQC.Chemistry_QC_Model._inherits) 00054 00065 // Put additional inheritance here... 00066 // DO-NOT-DELETE splicer.end(MPQC.Chemistry_QC_Model._inherits) 00067 { 00068 00069 private: 00070 // Pointer back to IOR. 00071 // Use this to dispatch back through IOR vtable. 00072 Chemistry_QC_Model self; 00073 00074 // DO-NOT-DELETE splicer.begin(MPQC.Chemistry_QC_Model._implementation) 00075 sc::Ref<sc::Wavefunction> wfn_; 00076 Chemistry::Chemistry_Molecule molecule_; 00077 // DO-NOT-DELETE splicer.end(MPQC.Chemistry_QC_Model._implementation) 00078 00079 private: 00080 // private default constructor (required) 00081 Chemistry_QC_Model_impl() 00082 {} 00083 00084 public: 00085 // sidl constructor (required) 00086 // Note: alternate Skel constructor doesn't call addref() 00087 // (fixes bug #275) 00088 Chemistry_QC_Model_impl( struct MPQC_Chemistry_QC_Model__object * s ) : 00089 self(s,true) { _ctor(); } 00090 00091 // user defined construction 00092 void _ctor(); 00093 00094 // virtual destructor (required) 00095 virtual ~Chemistry_QC_Model_impl() { _dtor(); } 00096 00097 // user defined destruction 00098 void _dtor(); 00099 00100 // static class initializer 00101 static void _load(); 00102 00103 public: 00104 00108 void 00109 initialize_parsedkeyval ( 00110 /* in */ const ::std::string& keyword, 00111 /* in */ const ::std::string& input 00112 ) 00113 throw () 00114 ; 00115 00119 void 00120 initialize_parsedkeyval_file ( 00121 /* in */ const ::std::string& keyword, 00122 /* in */ const ::std::string& filename 00123 ) 00124 throw () 00125 ; 00126 00130 void 00131 initialize_aggregatekeyval ( 00132 /* in */ const ::std::string& keyword, 00133 /* in */ const ::std::string& input, 00134 /* in */ void* describedclass 00135 ) 00136 throw () 00137 ; 00138 00142 void 00143 initialize_pointer ( 00144 /* in */ void* ptr 00145 ) 00146 throw () 00147 ; 00148 00149 00153 void 00154 set_molecule ( 00155 /* in */ ::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 /* in */ double acc 00182 ) 00183 throw () 00184 ; 00185 00186 00192 double 00193 get_energy_accuracy() throw () 00194 ; 00195 00203 void 00204 set_do_energy ( 00205 /* in */ 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 /* in */ 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 /* in */ 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 /* in */ 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 }; // end class Chemistry_QC_Model_impl 00305 00306 } // end namespace MPQC 00307 00308 // DO-NOT-DELETE splicer.begin(MPQC.Chemistry_QC_Model._misc) 00309 // Put miscellaneous things here... 00310 // DO-NOT-DELETE splicer.end(MPQC.Chemistry_QC_Model._misc) 00311 00312 #endif