00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef included_MPQC_Chemistry_QC_ModelFactory_Impl_hh
00014 #define included_MPQC_Chemistry_QC_ModelFactory_Impl_hh
00015
00016 #ifndef included_sidl_cxx_hh
00017 #include "sidl_cxx.hh"
00018 #endif
00019 #ifndef included_MPQC_Chemistry_QC_ModelFactory_IOR_h
00020 #include "MPQC_Chemistry_QC_ModelFactory_IOR.h"
00021 #endif
00022
00023
00024
00025 #ifndef included_Chemistry_Molecule_hh
00026 #include "Chemistry_Molecule.hh"
00027 #endif
00028 #ifndef included_Chemistry_QC_GaussianBasis_IntegralEvaluatorFactory_hh
00029 #include "Chemistry_QC_GaussianBasis_IntegralEvaluatorFactory.hh"
00030 #endif
00031 #ifndef included_Chemistry_QC_Model_hh
00032 #include "Chemistry_QC_Model.hh"
00033 #endif
00034 #ifndef included_MPQC_Chemistry_QC_ModelFactory_hh
00035 #include "MPQC_Chemistry_QC_ModelFactory.hh"
00036 #endif
00037 #ifndef included_gov_cca_CCAException_hh
00038 #include "gov_cca_CCAException.hh"
00039 #endif
00040 #ifndef included_gov_cca_Services_hh
00041 #include "gov_cca_Services.hh"
00042 #endif
00043 #ifndef included_sidl_BaseException_hh
00044 #include "sidl_BaseException.hh"
00045 #endif
00046 #ifndef included_sidl_BaseInterface_hh
00047 #include "sidl_BaseInterface.hh"
00048 #endif
00049 #ifndef included_sidl_ClassInfo_hh
00050 #include "sidl_ClassInfo.hh"
00051 #endif
00052
00053
00054
00055
00056 #include <string>
00057 #include "Chemistry_MoleculeFactory.hh"
00058 #include <util/group/message.h>
00059 #include <util/group/memory.h>
00060 #include <util/group/mstate.h>
00061 #include <util/group/thread.h>
00062 #include <util/group/pregtime.h>
00063
00064 #include <chemistry/qc/intcca/intcca.h>
00065 #include <chemistry/qc/basis/integral.h>
00066 #include "cca.h"
00067 #include "dc/babel/babel-cca/server/ccaffeine_TypeMap.hh"
00068 #include "dc/babel/babel-cca/server/ccaffeine_ports_PortTranslator.hh"
00069 #include "util/IO.h"
00070 #include "jc++/jc++.h"
00071 #include "jc++/util/jc++util.h"
00072 #include "parameters/parametersStar.h"
00073 #include "port/portInterfaces.h"
00074 #include "port/supportInterfaces.h"
00075
00076
00077
00078 namespace MPQC {
00079
00083 class Chemistry_QC_ModelFactory_impl
00084
00085
00120
00121
00122 {
00123
00124 private:
00125
00126
00127 Chemistry_QC_ModelFactory self;
00128
00129
00130 std::string theory_;
00131 std::string basis_;
00132 std::string molecule_filename_;
00133 StringParameter *theory_param_, *basis_param_, *molecule_filename_param_,
00134 *keyval_filename_param_, *integral_buffer_param_;
00135
00136 gov::cca::Services services_;
00137
00138 Chemistry::MoleculeFactory molecule_factory_;
00139 Chemistry::Molecule molecule_;
00140 Chemistry::QC::GaussianBasis::IntegralEvaluatorFactory eval_factory_;
00141
00142 sc::Ref<sc::MessageGrp> grp_;
00143 sc::Ref<sc::ThreadGrp> thread_;
00144 sc::Ref<sc::MemoryGrp> memory_;
00145
00146 sc::Ref<sc::IntegralCCA> intcca_;
00147
00148 ConfigurableParameterPort*
00149 setup_parameters(ConfigurableParameterFactory*);
00150
00151
00152
00153 private:
00154
00155 Chemistry_QC_ModelFactory_impl()
00156 {}
00157
00158 public:
00159
00160
00161
00162 Chemistry_QC_ModelFactory_impl( struct
00163 MPQC_Chemistry_QC_ModelFactory__object * s ) : self(s,true) { _ctor(); }
00164
00165
00166 void _ctor();
00167
00168
00169 virtual ~Chemistry_QC_ModelFactory_impl() { _dtor(); }
00170
00171
00172 void _dtor();
00173
00174
00175 static void _load();
00176
00177 public:
00178
00179
00197 void
00198 setServices (
00199 ::gov::cca::Services services
00200 )
00201 throw (
00202 ::gov::cca::CCAException
00203 );
00204
00205
00210 void
00211 set_theory (
00212 const ::std::string& theory
00213 )
00214 throw ()
00215 ;
00216
00217
00222 void
00223 set_basis (
00224 const ::std::string& basis
00225 )
00226 throw ()
00227 ;
00228
00229
00234 void
00235 set_molecule (
00236 ::Chemistry::Molecule molecule
00237 )
00238 throw ()
00239 ;
00240
00241
00247 void
00248 set_integral_factory (
00249 ::Chemistry::QC::GaussianBasis::IntegralEvaluatorFactory intfact
00250 )
00251 throw ()
00252 ;
00253
00254
00260 ::Chemistry::QC::Model
00261 get_model() throw (
00262 ::sidl::BaseException
00263 );
00264
00269 int32_t
00270 finalize() throw ()
00271 ;
00272 };
00273
00274 }
00275
00276
00277
00278
00279
00280 #endif