2
// File: MPQC_Chemistry_QC_Model_Impl.hh
3
// Symbol: MPQC.Chemistry_QC_Model-v0.2
5
// Babel Version: 0.10.2
6
// Description: Server-side implementation for MPQC.Chemistry_QC_Model
8
// WARNING: Automatically generated; only changes within splicers preserved
10
// babel-version = 0.10.2
13
#ifndef included_MPQC_Chemistry_QC_Model_Impl_hh
14
#define included_MPQC_Chemistry_QC_Model_Impl_hh
16
#ifndef included_sidl_cxx_hh
17
#include "sidl_cxx.hh"
19
#ifndef included_MPQC_Chemistry_QC_Model_IOR_h
20
#include "MPQC_Chemistry_QC_Model_IOR.h"
23
// Includes for all method dependencies.
25
#ifndef included_Chemistry_Molecule_hh
26
#include "Chemistry_Molecule.hh"
28
#ifndef included_MPQC_Chemistry_QC_Model_hh
29
#include "MPQC_Chemistry_QC_Model.hh"
31
#ifndef included_sidl_BaseException_hh
32
#include "sidl_BaseException.hh"
34
#ifndef included_sidl_BaseInterface_hh
35
#include "sidl_BaseInterface.hh"
37
#ifndef included_sidl_ClassInfo_hh
38
#include "sidl_ClassInfo.hh"
42
// DO-NOT-DELETE splicer.begin(MPQC.Chemistry_QC_Model._includes)
43
#include <chemistry/qc/wfn/wfn.h>
44
#include "Chemistry_Chemistry_Molecule.hh"
45
// DO-NOT-DELETE splicer.end(MPQC.Chemistry_QC_Model._includes)
50
* Symbol "MPQC.Chemistry_QC_Model" (version 0.2)
52
class Chemistry_QC_Model_impl
53
// DO-NOT-DELETE splicer.begin(MPQC.Chemistry_QC_Model._inherits)
55
/** Chemistry_QC_Model_impl implements a component interface for
56
quanutm chemistry models.
58
This is an implementation of a SIDL interface.
59
The stub code is generated by the Babel tool. Do not make
60
modifications outside of splicer blocks, as these will be lost.
61
This is a server implementation for a Babel class, the Babel
62
client code is provided by the cca-chem-generic package.
65
// Put additional inheritance here...
66
// DO-NOT-DELETE splicer.end(MPQC.Chemistry_QC_Model._inherits)
70
// Pointer back to IOR.
71
// Use this to dispatch back through IOR vtable.
72
Chemistry_QC_Model self;
74
// DO-NOT-DELETE splicer.begin(MPQC.Chemistry_QC_Model._implementation)
75
sc::Ref<sc::Wavefunction> wfn_;
76
Chemistry::Chemistry_Molecule molecule_;
77
// DO-NOT-DELETE splicer.end(MPQC.Chemistry_QC_Model._implementation)
80
// private default constructor (required)
81
Chemistry_QC_Model_impl()
85
// sidl constructor (required)
86
// Note: alternate Skel constructor doesn't call addref()
88
Chemistry_QC_Model_impl( struct MPQC_Chemistry_QC_Model__object * s ) :
89
self(s,true) { _ctor(); }
91
// user defined construction
94
// virtual destructor (required)
95
virtual ~Chemistry_QC_Model_impl() { _dtor(); }
97
// user defined destruction
100
// static class initializer
106
* user defined non-static method.
109
initialize_parsedkeyval (
110
/* in */ const ::std::string& keyword,
111
/* in */ const ::std::string& input
117
* user defined non-static method.
120
initialize_parsedkeyval_file (
121
/* in */ const ::std::string& keyword,
122
/* in */ const ::std::string& filename
128
* user defined non-static method.
131
initialize_aggregatekeyval (
132
/* in */ const ::std::string& keyword,
133
/* in */ const ::std::string& input,
134
/* in */ void* describedclass
140
* user defined non-static method.
151
* Set the molecule. @param molecule The new molecule.
155
/* in */ ::Chemistry::Molecule molecule
162
* Returns the molecule. @return The Molecule object.
164
::Chemistry::Molecule
165
get_molecule() throw ()
168
* user defined non-static method.
172
::sidl::BaseException
176
* Sets the accuracy for subsequent energy calculations.
177
* @param acc The new accuracy.
180
set_energy_accuracy (
188
* Returns the accuracy to which the energy is already computed.
189
* The result is undefined if the energy has not already been computed.
190
* @return The energy accuracy.
193
get_energy_accuracy() throw ()
197
* This allows a programmer to request that if any result is computed,
198
* then the energy is computed too. This allows, say, for a request
199
* for a gradient to cause the energy to be computed. This computed
200
* energy is cached and returned when the get_energy() member is called.
201
* @param doit Whether or not to compute the energy.
212
* Returns the Cartesian gradient.
214
::sidl::array<double>
215
get_gradient() throw (
216
::sidl::BaseException
220
* Sets the accuracy for subsequent gradient calculations
221
* @param acc The new accuracy for gradients.
224
set_gradient_accuracy (
232
* Returns the accuracy to which the gradient is already computed.
233
* The result is undefined if the gradient has not already been computed.
234
* @return The current gradient accuracy.
237
get_gradient_accuracy() throw ()
241
* Returns the Cartesian Hessian. @return The Hessian.
243
::sidl::array<double>
244
get_hessian() throw (
245
::sidl::BaseException
249
* Sets the accuracy for subsequent Hessian calculations.
250
* @param acc The new accuracy for Hessians.
253
set_hessian_accuracy (
261
* Returns the accuracy to which the Hessian is already computed.
262
* The result is undefined if the Hessian has not already been computed.
265
get_hessian_accuracy() throw ()
269
* Returns a Cartesian guess Hessian.
271
::sidl::array<double>
272
get_guess_hessian() throw (
273
::sidl::BaseException
277
* Sets the accuracy for subsequent guess Hessian calculations.
278
* @param acc The new accuracy for guess Hessians.
281
set_guess_hessian_accuracy (
289
* Returns the accuracy to which the guess Hessian is already computed.
290
* The result is undefined if the guess Hessian has not already been computed.
291
* @return The guess hessian accuracy.
294
get_guess_hessian_accuracy() throw ()
298
* This can be called when this Model object is no longer needed. No other
299
* members may be called after finalize.
304
}; // end class Chemistry_QC_Model_impl
306
} // end namespace MPQC
308
// DO-NOT-DELETE splicer.begin(MPQC.Chemistry_QC_Model._misc)
309
// Put miscellaneous things here...
310
// DO-NOT-DELETE splicer.end(MPQC.Chemistry_QC_Model._misc)