source: ThirdParty/mpqc_open/src/lib/chemistry/cca/MPQC_IntegralEvaluatorFactory_Impl.hh

Candidate_v1.6.1
Last change on this file was 860145, checked in by Frederik Heber <heber@…>, 8 years ago

Merge commit '0b990dfaa8c6007a996d030163a25f7f5fc8a7e7' as 'ThirdParty/mpqc_open'

  • Property mode set to 100644
File size: 10.3 KB
Line 
1//
2// File: MPQC_IntegralEvaluatorFactory_Impl.hh
3// Symbol: MPQC.IntegralEvaluatorFactory-v0.2
4// Symbol Type: class
5// Babel Version: 0.10.2
6// Description: Server-side implementation for MPQC.IntegralEvaluatorFactory
7//
8// WARNING: Automatically generated; only changes within splicers preserved
9//
10// babel-version = 0.10.2
11//
12
13#ifndef included_MPQC_IntegralEvaluatorFactory_Impl_hh
14#define included_MPQC_IntegralEvaluatorFactory_Impl_hh
15
16#ifndef included_sidl_cxx_hh
17#include "sidl_cxx.hh"
18#endif
19#ifndef included_MPQC_IntegralEvaluatorFactory_IOR_h
20#include "MPQC_IntegralEvaluatorFactory_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_Chemistry_QC_GaussianBasis_ContractionTransform_hh
29#include "Chemistry_QC_GaussianBasis_ContractionTransform.hh"
30#endif
31#ifndef included_Chemistry_QC_GaussianBasis_DerivCenters_hh
32#include "Chemistry_QC_GaussianBasis_DerivCenters.hh"
33#endif
34#ifndef included_Chemistry_QC_GaussianBasis_IntegralEvaluator2_hh
35#include "Chemistry_QC_GaussianBasis_IntegralEvaluator2.hh"
36#endif
37#ifndef included_Chemistry_QC_GaussianBasis_IntegralEvaluator3_hh
38#include "Chemistry_QC_GaussianBasis_IntegralEvaluator3.hh"
39#endif
40#ifndef included_Chemistry_QC_GaussianBasis_IntegralEvaluator4_hh
41#include "Chemistry_QC_GaussianBasis_IntegralEvaluator4.hh"
42#endif
43#ifndef included_Chemistry_QC_GaussianBasis_Molecular_hh
44#include "Chemistry_QC_GaussianBasis_Molecular.hh"
45#endif
46#ifndef included_MPQC_IntegralEvaluatorFactory_hh
47#include "MPQC_IntegralEvaluatorFactory.hh"
48#endif
49#ifndef included_gov_cca_CCAException_hh
50#include "gov_cca_CCAException.hh"
51#endif
52#ifndef included_gov_cca_Services_hh
53#include "gov_cca_Services.hh"
54#endif
55#ifndef included_sidl_BaseInterface_hh
56#include "sidl_BaseInterface.hh"
57#endif
58#ifndef included_sidl_ClassInfo_hh
59#include "sidl_ClassInfo.hh"
60#endif
61
62
63// DO-NOT-DELETE splicer.begin(MPQC.IntegralEvaluatorFactory._includes)
64#include <chemistry/qc/basis/gaussbas.h>
65#include "cca.h"
66#include "dc/babel/babel-cca/server/ccaffeine_TypeMap.hh"
67#include "dc/babel/babel-cca/server/ccaffeine_ports_PortTranslator.hh"
68#include "util/IO.h"
69#include "jc++/jc++.h"
70#include "jc++/util/jc++util.h"
71#include "parameters/parametersStar.h"
72#include "port/portInterfaces.h"
73#include "port/supportInterfaces.h"
74// DO-NOT-DELETE splicer.end(MPQC.IntegralEvaluatorFactory._includes)
75
76namespace MPQC {
77
78 /**
79 * Symbol "MPQC.IntegralEvaluatorFactory" (version 0.2)
80 */
81 class IntegralEvaluatorFactory_impl
82 // DO-NOT-DELETE splicer.begin(MPQC.IntegralEvaluatorFactory._inherits)
83
84 /** IntegralEvaluatorFactory_impl implements a component interface for
85 supplying molecular integral evaluators.
86
87 This is an implementation of a SIDL interface.
88 The stub code is generated by the Babel tool. Do not make
89 modifications outside of splicer blocks, as these will be lost.
90 This is a server implementation for a Babel class, the Babel
91 client code is provided by the cca-chem-generic package.
92
93 For use directly in a framework, the parameter port recognizes
94 the following parameters:
95 <dl>
96
97 <dt><tt>package</tt><dd> Integral package, either <tt>cints</tt> or
98 <tt>intv3</tt>. The default is <tt>intv3</tt>.
99
100 </dl>
101
102 These parameters must be set by the client class (<tt>IntegralCCA</tt>
103 within SC) for embedded use.
104
105 */
106
107 // Put additional inheritance here...
108 // DO-NOT-DELETE splicer.end(MPQC.IntegralEvaluatorFactory._inherits)
109 {
110
111 private:
112 // Pointer back to IOR.
113 // Use this to dispatch back through IOR vtable.
114 IntegralEvaluatorFactory self;
115
116 // DO-NOT-DELETE splicer.begin(MPQC.IntegralEvaluatorFactory._implementation)
117 gov::cca::Services services_;
118 Chemistry::Molecule molecule_;
119 StringParameter *package_param_;
120 ConfigurableParameterPort* setup_parameters(
121 ConfigurableParameterFactory *cpf);
122 std::string package_;
123 // DO-NOT-DELETE splicer.end(MPQC.IntegralEvaluatorFactory._implementation)
124
125 private:
126 // private default constructor (required)
127 IntegralEvaluatorFactory_impl()
128 {}
129
130 public:
131 // sidl constructor (required)
132 // Note: alternate Skel constructor doesn't call addref()
133 // (fixes bug #275)
134 IntegralEvaluatorFactory_impl( struct MPQC_IntegralEvaluatorFactory__object
135 * s ) : self(s,true) { _ctor(); }
136
137 // user defined construction
138 void _ctor();
139
140 // virtual destructor (required)
141 virtual ~IntegralEvaluatorFactory_impl() { _dtor(); }
142
143 // user defined destruction
144 void _dtor();
145
146 // static class initializer
147 static void _load();
148
149 public:
150
151
152 /**
153 * Starts up a component presence in the calling framework.
154 * @param Svc the component instance's handle on the framework world.
155 * Contracts concerning Svc and setServices:
156 *
157 * The component interaction with the CCA framework
158 * and Ports begins on the call to setServices by the framework.
159 *
160 * This function is called exactly once for each instance created
161 * by the framework.
162 *
163 * The argument Svc will never be nil/null.
164 *
165 * Those uses ports which are automatically connected by the framework
166 * (so-called service-ports) may be obtained via getPort during
167 * setServices.
168 */
169 void
170 setServices (
171 /* in */ ::gov::cca::Services services
172 )
173 throw (
174 ::gov::cca::CCAException
175 );
176
177
178 /**
179 * Set the molecular basis
180 * @param molbasis The molecular basis
181 */
182 void
183 set_molecular (
184 /* in */ ::Chemistry::QC::GaussianBasis::Molecular molbasis
185 )
186 throw ()
187 ;
188
189
190 /**
191 * Get the molecular basis
192 * @return The molecular basis
193 */
194 ::Chemistry::QC::GaussianBasis::Molecular
195 get_molecular() throw ()
196 ;
197
198 /**
199 * Set the molecule
200 * @param The molecule
201 */
202 void
203 set_molecule (
204 /* in */ ::Chemistry::Molecule mol
205 )
206 throw ()
207 ;
208
209
210 /**
211 * Get the molecule
212 * @return The molecule
213 */
214 ::Chemistry::Molecule
215 get_molecule() throw ()
216 ;
217
218 /**
219 * Set the integral package
220 * @param The integral package
221 */
222 void
223 set_integral_package (
224 /* in */ const ::std::string& label
225 )
226 throw ()
227 ;
228
229
230 /**
231 * Get a 2-center integral evaluator
232 * @param label String specifying integral type
233 * @param max_deriv Maximum derivative that will be computed
234 * @param bs1 Molecular basis set on center 1
235 * @param bs2 Molecular basis set on center 2
236 * @return 2-center integral evaluator
237 */
238 ::Chemistry::QC::GaussianBasis::IntegralEvaluator2
239 get_integral_evaluator2 (
240 /* in */ const ::std::string& label,
241 /* in */ int64_t max_deriv,
242 /* in */ ::Chemistry::QC::GaussianBasis::Molecular bs1,
243 /* in */ ::Chemistry::QC::GaussianBasis::Molecular bs2
244 )
245 throw ()
246 ;
247
248
249 /**
250 * Get a nuclear repulsion specialized 2-center integral
251 * evaluator. Returns derivative integrals taken with
252 * respect to DerivCenters.
253 * @param max_deriv Maximum derivative that will be computed
254 * @param bs1 Molecular basis set on center 1
255 * @param bs2 Molecular basis set on center 2
256 * @return nuclear repulsion integral evaluator
257 */
258 ::Chemistry::QC::GaussianBasis::IntegralEvaluator2
259 get_nuclear_evaluator (
260 /* in */ int64_t max_deriv,
261 /* in */ ::Chemistry::QC::GaussianBasis::Molecular bs1,
262 /* in */ ::Chemistry::QC::GaussianBasis::Molecular bs2,
263 /* in */ ::Chemistry::QC::GaussianBasis::DerivCenters dc
264 )
265 throw ()
266 ;
267
268
269 /**
270 * Get a hcore specialized 2-center integral
271 * evaluator. Returns derivative integrals taken with
272 * respect to DerivCenters.
273 * @param max_deriv Maximum derivative that will be computed
274 * @param bs1 Molecular basis set on center 1
275 * @param bs2 Molecular basis set on center 2
276 * @return hcore repulsion integral evaluator
277 */
278 ::Chemistry::QC::GaussianBasis::IntegralEvaluator2
279 get_hcore_evaluator (
280 /* in */ int64_t max_deriv,
281 /* in */ ::Chemistry::QC::GaussianBasis::Molecular bs1,
282 /* in */ ::Chemistry::QC::GaussianBasis::Molecular bs2,
283 /* in */ ::Chemistry::QC::GaussianBasis::DerivCenters dc
284 )
285 throw ()
286 ;
287
288
289 /**
290 * Get a 3-center integral evaluator
291 * @param label String specifying integral type
292 * @param max_deriv Maximum derivative that will be computed
293 * @param bs1 Molecular basis set on center 1
294 * @param bs2 Molecular basis set on center 2
295 * @param bs3 Molecular basis set on center 3
296 * @return 3-center integral evaluator
297 */
298 ::Chemistry::QC::GaussianBasis::IntegralEvaluator3
299 get_integral_evaluator3 (
300 /* in */ const ::std::string& label,
301 /* in */ int64_t max_deriv,
302 /* in */ ::Chemistry::QC::GaussianBasis::Molecular bs1,
303 /* in */ ::Chemistry::QC::GaussianBasis::Molecular bs2,
304 /* in */ ::Chemistry::QC::GaussianBasis::Molecular bs3
305 )
306 throw ()
307 ;
308
309
310 /**
311 * Get a 4-center integral evaluator
312 * @param label String defining integral type
313 * @param max_deriv Maximum derivative that will be computed
314 * @param bs1 Molecular basis set on center 1
315 * @param bs2 Molecular basis set on center 2
316 * @param bs3 Molecular basis set on center 3
317 * @param bs4 Molecular basis set on center 4
318 * @return 4-center integral evaluator
319 */
320 ::Chemistry::QC::GaussianBasis::IntegralEvaluator4
321 get_integral_evaluator4 (
322 /* in */ const ::std::string& label,
323 /* in */ int64_t max_deriv,
324 /* in */ ::Chemistry::QC::GaussianBasis::Molecular bs1,
325 /* in */ ::Chemistry::QC::GaussianBasis::Molecular bs2,
326 /* in */ ::Chemistry::QC::GaussianBasis::Molecular bs3,
327 /* in */ ::Chemistry::QC::GaussianBasis::Molecular bs4
328 )
329 throw ()
330 ;
331
332
333 /**
334 * Get the contraction transform
335 * @return The contraction transform
336 */
337 ::Chemistry::QC::GaussianBasis::ContractionTransform
338 get_contraction_transform() throw ()
339 ;
340 }; // end class IntegralEvaluatorFactory_impl
341
342} // end namespace MPQC
343
344// DO-NOT-DELETE splicer.begin(MPQC.IntegralEvaluatorFactory._misc)
345// Put miscellaneous things here...
346// DO-NOT-DELETE splicer.end(MPQC.IntegralEvaluatorFactory._misc)
347
348#endif
Note: See TracBrowser for help on using the repository browser.