MPQC_Chemistry_QC_ModelFactory_Impl.hh

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

Generated at Mon Dec 3 23:23:39 2007 for MPQC 2.3.1 using the documentation package Doxygen 1.5.2.