// // File: MPQC_Chemistry_QC_Model_Impl.hh // Symbol: MPQC.Chemistry_QC_Model-v0.2 // Symbol Type: class // Babel Version: 0.10.2 // Description: Server-side implementation for MPQC.Chemistry_QC_Model // // WARNING: Automatically generated; only changes within splicers preserved // // babel-version = 0.10.2 // #ifndef included_MPQC_Chemistry_QC_Model_Impl_hh #define included_MPQC_Chemistry_QC_Model_Impl_hh #ifndef included_sidl_cxx_hh #include "sidl_cxx.hh" #endif #ifndef included_MPQC_Chemistry_QC_Model_IOR_h #include "MPQC_Chemistry_QC_Model_IOR.h" #endif // // Includes for all method dependencies. // #ifndef included_Chemistry_Molecule_hh #include "Chemistry_Molecule.hh" #endif #ifndef included_MPQC_Chemistry_QC_Model_hh #include "MPQC_Chemistry_QC_Model.hh" #endif #ifndef included_sidl_BaseException_hh #include "sidl_BaseException.hh" #endif #ifndef included_sidl_BaseInterface_hh #include "sidl_BaseInterface.hh" #endif #ifndef included_sidl_ClassInfo_hh #include "sidl_ClassInfo.hh" #endif // DO-NOT-DELETE splicer.begin(MPQC.Chemistry_QC_Model._includes) #include #include "Chemistry_Chemistry_Molecule.hh" // DO-NOT-DELETE splicer.end(MPQC.Chemistry_QC_Model._includes) namespace MPQC { /** * Symbol "MPQC.Chemistry_QC_Model" (version 0.2) */ class Chemistry_QC_Model_impl // DO-NOT-DELETE splicer.begin(MPQC.Chemistry_QC_Model._inherits) /** Chemistry_QC_Model_impl implements a component interface for quanutm chemistry models. This is an implementation of a SIDL interface. The stub code is generated by the Babel tool. Do not make modifications outside of splicer blocks, as these will be lost. This is a server implementation for a Babel class, the Babel client code is provided by the cca-chem-generic package. */ // Put additional inheritance here... // DO-NOT-DELETE splicer.end(MPQC.Chemistry_QC_Model._inherits) { private: // Pointer back to IOR. // Use this to dispatch back through IOR vtable. Chemistry_QC_Model self; // DO-NOT-DELETE splicer.begin(MPQC.Chemistry_QC_Model._implementation) sc::Ref wfn_; Chemistry::Chemistry_Molecule molecule_; // DO-NOT-DELETE splicer.end(MPQC.Chemistry_QC_Model._implementation) private: // private default constructor (required) Chemistry_QC_Model_impl() {} public: // sidl constructor (required) // Note: alternate Skel constructor doesn't call addref() // (fixes bug #275) Chemistry_QC_Model_impl( struct MPQC_Chemistry_QC_Model__object * s ) : self(s,true) { _ctor(); } // user defined construction void _ctor(); // virtual destructor (required) virtual ~Chemistry_QC_Model_impl() { _dtor(); } // user defined destruction void _dtor(); // static class initializer static void _load(); public: /** * user defined non-static method. */ void initialize_parsedkeyval ( /* in */ const ::std::string& keyword, /* in */ const ::std::string& input ) throw () ; /** * user defined non-static method. */ void initialize_parsedkeyval_file ( /* in */ const ::std::string& keyword, /* in */ const ::std::string& filename ) throw () ; /** * user defined non-static method. */ void initialize_aggregatekeyval ( /* in */ const ::std::string& keyword, /* in */ const ::std::string& input, /* in */ void* describedclass ) throw () ; /** * user defined non-static method. */ void initialize_pointer ( /* in */ void* ptr ) throw () ; /** * Set the molecule. @param molecule The new molecule. */ void set_molecule ( /* in */ ::Chemistry::Molecule molecule ) throw () ; /** * Returns the molecule. @return The Molecule object. */ ::Chemistry::Molecule get_molecule() throw () ; /** * user defined non-static method. */ double get_energy() throw ( ::sidl::BaseException ); /** * Sets the accuracy for subsequent energy calculations. * @param acc The new accuracy. */ void set_energy_accuracy ( /* in */ double acc ) throw () ; /** * Returns the accuracy to which the energy is already computed. * The result is undefined if the energy has not already been computed. * @return The energy accuracy. */ double get_energy_accuracy() throw () ; /** * This allows a programmer to request that if any result is computed, * then the energy is computed too. This allows, say, for a request * for a gradient to cause the energy to be computed. This computed * energy is cached and returned when the get_energy() member is called. * @param doit Whether or not to compute the energy. */ void set_do_energy ( /* in */ bool doit ) throw () ; /** * Returns the Cartesian gradient. */ ::sidl::array get_gradient() throw ( ::sidl::BaseException ); /** * Sets the accuracy for subsequent gradient calculations * @param acc The new accuracy for gradients. */ void set_gradient_accuracy ( /* in */ double acc ) throw () ; /** * Returns the accuracy to which the gradient is already computed. * The result is undefined if the gradient has not already been computed. * @return The current gradient accuracy. */ double get_gradient_accuracy() throw () ; /** * Returns the Cartesian Hessian. @return The Hessian. */ ::sidl::array get_hessian() throw ( ::sidl::BaseException ); /** * Sets the accuracy for subsequent Hessian calculations. * @param acc The new accuracy for Hessians. */ void set_hessian_accuracy ( /* in */ double acc ) throw () ; /** * Returns the accuracy to which the Hessian is already computed. * The result is undefined if the Hessian has not already been computed. */ double get_hessian_accuracy() throw () ; /** * Returns a Cartesian guess Hessian. */ ::sidl::array get_guess_hessian() throw ( ::sidl::BaseException ); /** * Sets the accuracy for subsequent guess Hessian calculations. * @param acc The new accuracy for guess Hessians. */ void set_guess_hessian_accuracy ( /* in */ double acc ) throw () ; /** * Returns the accuracy to which the guess Hessian is already computed. * The result is undefined if the guess Hessian has not already been computed. * @return The guess hessian accuracy. */ double get_guess_hessian_accuracy() throw () ; /** * This can be called when this Model object is no longer needed. No other * members may be called after finalize. */ int32_t finalize() throw () ; }; // end class Chemistry_QC_Model_impl } // end namespace MPQC // DO-NOT-DELETE splicer.begin(MPQC.Chemistry_QC_Model._misc) // Put miscellaneous things here... // DO-NOT-DELETE splicer.end(MPQC.Chemistry_QC_Model._misc) #endif