# 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