~ubuntu-branches/ubuntu/oneiric/mpqc/oneiric

« back to all changes in this revision

Viewing changes to src/lib/chemistry/cca/MPQC_Chemistry_QC_Model_Impl.hh

  • Committer: Bazaar Package Importer
  • Author(s): Michael Banck
  • Date: 2005-11-27 11:41:49 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20051127114149-zgz9r3gk50w8ww2q
Tags: 2.3.0-1
* New upstream release.
* debian/rules (SONAME): Activate awk snippet for automatic so-name
  detection again, resulting in a bump to `7' and making a `c2a' for
  the C++ allocator change unnecessary; closes: #339232.
* debian/patches/00list (08_gcc-4.0_fixes): Removed, no longer needed.
* debian/rules (test): Remove workarounds, do not abort build if tests
  fail.
* debian/ref: Removed.
* debian/control.in (libsc): Added Conflict against libsc6c2.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// 
 
2
// File:          MPQC_Chemistry_QC_Model_Impl.hh
 
3
// Symbol:        MPQC.Chemistry_QC_Model-v0.2
 
4
// Symbol Type:   class
 
5
// Babel Version: 0.10.2
 
6
// Description:   Server-side implementation for MPQC.Chemistry_QC_Model
 
7
// 
 
8
// WARNING: Automatically generated; only changes within splicers preserved
 
9
// 
 
10
// babel-version = 0.10.2
 
11
// 
 
12
 
 
13
#ifndef included_MPQC_Chemistry_QC_Model_Impl_hh
 
14
#define included_MPQC_Chemistry_QC_Model_Impl_hh
 
15
 
 
16
#ifndef included_sidl_cxx_hh
 
17
#include "sidl_cxx.hh"
 
18
#endif
 
19
#ifndef included_MPQC_Chemistry_QC_Model_IOR_h
 
20
#include "MPQC_Chemistry_QC_Model_IOR.h"
 
21
#endif
 
22
// 
 
23
// Includes for all method dependencies.
 
24
// 
 
25
#ifndef included_Chemistry_Molecule_hh
 
26
#include "Chemistry_Molecule.hh"
 
27
#endif
 
28
#ifndef included_MPQC_Chemistry_QC_Model_hh
 
29
#include "MPQC_Chemistry_QC_Model.hh"
 
30
#endif
 
31
#ifndef included_sidl_BaseException_hh
 
32
#include "sidl_BaseException.hh"
 
33
#endif
 
34
#ifndef included_sidl_BaseInterface_hh
 
35
#include "sidl_BaseInterface.hh"
 
36
#endif
 
37
#ifndef included_sidl_ClassInfo_hh
 
38
#include "sidl_ClassInfo.hh"
 
39
#endif
 
40
 
 
41
 
 
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)
 
46
 
 
47
namespace MPQC { 
 
48
 
 
49
  /**
 
50
   * Symbol "MPQC.Chemistry_QC_Model" (version 0.2)
 
51
   */
 
52
  class Chemistry_QC_Model_impl
 
53
  // DO-NOT-DELETE splicer.begin(MPQC.Chemistry_QC_Model._inherits)
 
54
 
 
55
  /** Chemistry_QC_Model_impl implements a component interface for
 
56
      quanutm chemistry models.
 
57
 
 
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.
 
63
   */
 
64
 
 
65
  // Put additional inheritance here...
 
66
  // DO-NOT-DELETE splicer.end(MPQC.Chemistry_QC_Model._inherits)
 
67
  {
 
68
 
 
69
  private:
 
70
    // Pointer back to IOR.
 
71
    // Use this to dispatch back through IOR vtable.
 
72
    Chemistry_QC_Model self;
 
73
 
 
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)
 
78
 
 
79
  private:
 
80
    // private default constructor (required)
 
81
    Chemistry_QC_Model_impl() 
 
82
    {} 
 
83
 
 
84
  public:
 
85
    // sidl constructor (required)
 
86
    // Note: alternate Skel constructor doesn't call addref()
 
87
    // (fixes bug #275)
 
88
    Chemistry_QC_Model_impl( struct MPQC_Chemistry_QC_Model__object * s ) : 
 
89
      self(s,true) { _ctor(); }
 
90
 
 
91
    // user defined construction
 
92
    void _ctor();
 
93
 
 
94
    // virtual destructor (required)
 
95
    virtual ~Chemistry_QC_Model_impl() { _dtor(); }
 
96
 
 
97
    // user defined destruction
 
98
    void _dtor();
 
99
 
 
100
    // static class initializer
 
101
    static void _load();
 
102
 
 
103
  public:
 
104
 
 
105
    /**
 
106
     * user defined non-static method.
 
107
     */
 
108
    void
 
109
    initialize_parsedkeyval (
 
110
      /* in */ const ::std::string& keyword,
 
111
      /* in */ const ::std::string& input
 
112
    )
 
113
    throw () 
 
114
    ;
 
115
 
 
116
    /**
 
117
     * user defined non-static method.
 
118
     */
 
119
    void
 
120
    initialize_parsedkeyval_file (
 
121
      /* in */ const ::std::string& keyword,
 
122
      /* in */ const ::std::string& filename
 
123
    )
 
124
    throw () 
 
125
    ;
 
126
 
 
127
    /**
 
128
     * user defined non-static method.
 
129
     */
 
130
    void
 
131
    initialize_aggregatekeyval (
 
132
      /* in */ const ::std::string& keyword,
 
133
      /* in */ const ::std::string& input,
 
134
      /* in */ void* describedclass
 
135
    )
 
136
    throw () 
 
137
    ;
 
138
 
 
139
    /**
 
140
     * user defined non-static method.
 
141
     */
 
142
    void
 
143
    initialize_pointer (
 
144
      /* in */ void* ptr
 
145
    )
 
146
    throw () 
 
147
    ;
 
148
 
 
149
 
 
150
    /**
 
151
     * Set the molecule. @param molecule The new molecule. 
 
152
     */
 
153
    void
 
154
    set_molecule (
 
155
      /* in */ ::Chemistry::Molecule molecule
 
156
    )
 
157
    throw () 
 
158
    ;
 
159
 
 
160
 
 
161
    /**
 
162
     * Returns the molecule.  @return The Molecule object. 
 
163
     */
 
164
    ::Chemistry::Molecule
 
165
    get_molecule() throw () 
 
166
    ;
 
167
    /**
 
168
     * user defined non-static method.
 
169
     */
 
170
    double
 
171
    get_energy() throw ( 
 
172
      ::sidl::BaseException
 
173
    );
 
174
 
 
175
    /**
 
176
     * Sets the accuracy for subsequent energy calculations.
 
177
     * @param acc The new accuracy. 
 
178
     */
 
179
    void
 
180
    set_energy_accuracy (
 
181
      /* in */ double acc
 
182
    )
 
183
    throw () 
 
184
    ;
 
185
 
 
186
 
 
187
    /**
 
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. 
 
191
     */
 
192
    double
 
193
    get_energy_accuracy() throw () 
 
194
    ;
 
195
 
 
196
    /**
 
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.
 
202
     */
 
203
    void
 
204
    set_do_energy (
 
205
      /* in */ bool doit
 
206
    )
 
207
    throw () 
 
208
    ;
 
209
 
 
210
 
 
211
    /**
 
212
     * Returns the Cartesian gradient.  
 
213
     */
 
214
    ::sidl::array<double>
 
215
    get_gradient() throw ( 
 
216
      ::sidl::BaseException
 
217
    );
 
218
 
 
219
    /**
 
220
     * Sets the accuracy for subsequent gradient calculations
 
221
     * @param acc The new accuracy for gradients. 
 
222
     */
 
223
    void
 
224
    set_gradient_accuracy (
 
225
      /* in */ double acc
 
226
    )
 
227
    throw () 
 
228
    ;
 
229
 
 
230
 
 
231
    /**
 
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. 
 
235
     */
 
236
    double
 
237
    get_gradient_accuracy() throw () 
 
238
    ;
 
239
 
 
240
    /**
 
241
     * Returns the Cartesian Hessian. @return The Hessian. 
 
242
     */
 
243
    ::sidl::array<double>
 
244
    get_hessian() throw ( 
 
245
      ::sidl::BaseException
 
246
    );
 
247
 
 
248
    /**
 
249
     * Sets the accuracy for subsequent Hessian calculations.
 
250
     * @param acc The new accuracy for Hessians. 
 
251
     */
 
252
    void
 
253
    set_hessian_accuracy (
 
254
      /* in */ double acc
 
255
    )
 
256
    throw () 
 
257
    ;
 
258
 
 
259
 
 
260
    /**
 
261
     * Returns the accuracy to which the Hessian is already computed.
 
262
     * The result is undefined if the Hessian has not already been computed. 
 
263
     */
 
264
    double
 
265
    get_hessian_accuracy() throw () 
 
266
    ;
 
267
 
 
268
    /**
 
269
     * Returns a Cartesian guess Hessian. 
 
270
     */
 
271
    ::sidl::array<double>
 
272
    get_guess_hessian() throw ( 
 
273
      ::sidl::BaseException
 
274
    );
 
275
 
 
276
    /**
 
277
     * Sets the accuracy for subsequent guess Hessian calculations.
 
278
     * @param acc The new accuracy for guess Hessians. 
 
279
     */
 
280
    void
 
281
    set_guess_hessian_accuracy (
 
282
      /* in */ double acc
 
283
    )
 
284
    throw () 
 
285
    ;
 
286
 
 
287
 
 
288
    /**
 
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.  
 
292
     */
 
293
    double
 
294
    get_guess_hessian_accuracy() throw () 
 
295
    ;
 
296
 
 
297
    /**
 
298
     * This can be called when this Model object is no longer needed.  No other
 
299
     * members may be called after finalize. 
 
300
     */
 
301
    int32_t
 
302
    finalize() throw () 
 
303
    ;
 
304
  };  // end class Chemistry_QC_Model_impl
 
305
 
 
306
} // end namespace MPQC
 
307
 
 
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)
 
311
 
 
312
#endif