MPQC 2.3.1
|
00001 // 00002 // File: MPQC_Chemistry_QC_ModelFactory_Impl.hh 00003 // Symbol: MPQC.Chemistry_QC_ModelFactory-v0.2 00004 // Symbol Type: class 00005 // Babel Version: 0.10.2 00006 // Description: Server-side implementation for MPQC.Chemistry_QC_ModelFactory 00007 // 00008 // WARNING: Automatically generated; only changes within splicers preserved 00009 // 00010 // babel-version = 0.10.2 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 // Includes for all method dependencies. 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 // DO-NOT-DELETE splicer.begin(MPQC.Chemistry_QC_ModelFactory._includes) 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 //#include <util/group/messmpi.h> 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 // DO-NOT-DELETE splicer.end(MPQC.Chemistry_QC_ModelFactory._includes) 00077 00078 namespace MPQC { 00079 00083 class Chemistry_QC_ModelFactory_impl 00084 // DO-NOT-DELETE splicer.begin(MPQC.Chemistry_QC_ModelFactory._inherits) 00085 00120 // Put additional inheritance here... 00121 // DO-NOT-DELETE splicer.end(MPQC.Chemistry_QC_ModelFactory._inherits) 00122 { 00123 00124 private: 00125 // Pointer back to IOR. 00126 // Use this to dispatch back through IOR vtable. 00127 Chemistry_QC_ModelFactory self; 00128 00129 // DO-NOT-DELETE splicer.begin(MPQC.Chemistry_QC_ModelFactory._implementation) 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 // DO-NOT-DELETE splicer.end(MPQC.Chemistry_QC_ModelFactory._implementation) 00152 00153 private: 00154 // private default constructor (required) 00155 Chemistry_QC_ModelFactory_impl() 00156 {} 00157 00158 public: 00159 // sidl constructor (required) 00160 // Note: alternate Skel constructor doesn't call addref() 00161 // (fixes bug #275) 00162 Chemistry_QC_ModelFactory_impl( struct 00163 MPQC_Chemistry_QC_ModelFactory__object * s ) : self(s,true) { _ctor(); } 00164 00165 // user defined construction 00166 void _ctor(); 00167 00168 // virtual destructor (required) 00169 virtual ~Chemistry_QC_ModelFactory_impl() { _dtor(); } 00170 00171 // user defined destruction 00172 void _dtor(); 00173 00174 // static class initializer 00175 static void _load(); 00176 00177 public: 00178 00179 00197 void 00198 setServices ( 00199 /* in */ ::gov::cca::Services services 00200 ) 00201 throw ( 00202 ::gov::cca::CCAException 00203 ); 00204 00205 00210 void 00211 set_theory ( 00212 /* in */ const ::std::string& theory 00213 ) 00214 throw () 00215 ; 00216 00217 00222 void 00223 set_basis ( 00224 /* in */ const ::std::string& basis 00225 ) 00226 throw () 00227 ; 00228 00229 00234 void 00235 set_molecule ( 00236 /* in */ ::Chemistry::Molecule molecule 00237 ) 00238 throw () 00239 ; 00240 00241 00247 void 00248 set_integral_factory ( 00249 /* in */ ::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 }; // end class Chemistry_QC_ModelFactory_impl 00273 00274 } // end namespace MPQC 00275 00276 // DO-NOT-DELETE splicer.begin(MPQC.Chemistry_QC_ModelFactory._misc) 00277 // Put miscellaneous things here... 00278 // DO-NOT-DELETE splicer.end(MPQC.Chemistry_QC_ModelFactory._misc) 00279 00280 #endif