MPQC
2.3.1
|
00001 // 00002 // File: MPQC_GaussianBasis_Molecular_Impl.hh 00003 // Symbol: MPQC.GaussianBasis_Molecular-v0.2 00004 // Symbol Type: class 00005 // Babel Version: 0.10.2 00006 // Description: Server-side implementation for MPQC.GaussianBasis_Molecular 00007 // 00008 // WARNING: Automatically generated; only changes within splicers preserved 00009 // 00010 // babel-version = 0.10.2 00011 // 00012 00013 #ifndef included_MPQC_GaussianBasis_Molecular_Impl_hh 00014 #define included_MPQC_GaussianBasis_Molecular_Impl_hh 00015 00016 #ifndef included_sidl_cxx_hh 00017 #include "sidl_cxx.hh" 00018 #endif 00019 #ifndef included_MPQC_GaussianBasis_Molecular_IOR_h 00020 #include "MPQC_GaussianBasis_Molecular_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_AngularType_hh 00029 #include "Chemistry_QC_GaussianBasis_AngularType.hh" 00030 #endif 00031 #ifndef included_Chemistry_QC_GaussianBasis_Atomic_hh 00032 #include "Chemistry_QC_GaussianBasis_Atomic.hh" 00033 #endif 00034 #ifndef included_MPQC_GaussianBasis_Molecular_hh 00035 #include "MPQC_GaussianBasis_Molecular.hh" 00036 #endif 00037 #ifndef included_sidl_BaseInterface_hh 00038 #include "sidl_BaseInterface.hh" 00039 #endif 00040 #ifndef included_sidl_ClassInfo_hh 00041 #include "sidl_ClassInfo.hh" 00042 #endif 00043 00044 00045 // DO-NOT-DELETE splicer.begin(MPQC.GaussianBasis_Molecular._includes) 00046 #include <chemistry/qc/basis/basis.h> 00047 #include <Chemistry_Chemistry_Molecule.hh> 00048 #include <MPQC_GaussianBasis_Atomic_Impl.hh> 00049 using namespace std; 00050 using namespace Chemistry::QC::GaussianBasis; 00051 using namespace Chemistry; 00052 using namespace sc; 00053 // DO-NOT-DELETE splicer.end(MPQC.GaussianBasis_Molecular._includes) 00054 00055 namespace MPQC { 00056 00060 class GaussianBasis_Molecular_impl 00061 // DO-NOT-DELETE splicer.begin(MPQC.GaussianBasis_Molecular._inherits) 00062 00073 // Put additional inheritance here... 00074 // DO-NOT-DELETE splicer.end(MPQC.GaussianBasis_Molecular._inherits) 00075 { 00076 00077 private: 00078 // Pointer back to IOR. 00079 // Use this to dispatch back through IOR vtable. 00080 GaussianBasis_Molecular self; 00081 00082 // DO-NOT-DELETE splicer.begin(MPQC.GaussianBasis_Molecular._implementation) 00083 GaussianBasisSet *gbs_ptr_; 00084 Ref<GaussianBasisSet> sc_gbs_; 00085 string label_; 00086 AngularType angular_type_; 00087 Chemistry_Molecule molecule_; 00088 MPQC::GaussianBasis_Atomic *atomic_array_; 00089 int natom_; 00090 // DO-NOT-DELETE splicer.end(MPQC.GaussianBasis_Molecular._implementation) 00091 00092 private: 00093 // private default constructor (required) 00094 GaussianBasis_Molecular_impl() 00095 {} 00096 00097 public: 00098 // sidl constructor (required) 00099 // Note: alternate Skel constructor doesn't call addref() 00100 // (fixes bug #275) 00101 GaussianBasis_Molecular_impl( struct MPQC_GaussianBasis_Molecular__object * 00102 s ) : self(s,true) { _ctor(); } 00103 00104 // user defined construction 00105 void _ctor(); 00106 00107 // virtual destructor (required) 00108 virtual ~GaussianBasis_Molecular_impl() { _dtor(); } 00109 00110 // user defined destruction 00111 void _dtor(); 00112 00113 // static class initializer 00114 static void _load(); 00115 00116 public: 00117 00121 void 00122 initialize ( 00123 /* in */ void* scbasis, 00124 /* in */ const ::std::string& label 00125 ) 00126 throw () 00127 ; 00128 00132 void* 00133 sc_gbs_pointer() throw () 00134 ; 00135 00140 ::std::string 00141 get_label() throw () 00142 ; 00143 00148 int64_t 00149 get_n_basis() throw () 00150 ; 00151 00156 int64_t 00157 get_n_shell() throw () 00158 ; 00159 00164 int64_t 00165 get_max_angular_momentum() throw () 00166 ; 00167 00172 ::Chemistry::QC::GaussianBasis::AngularType 00173 get_angular_type() throw () 00174 ; 00175 00181 ::Chemistry::QC::GaussianBasis::Atomic 00182 get_atomic ( 00183 /* in */ int64_t atomnum 00184 ) 00185 throw () 00186 ; 00187 00188 00193 ::Chemistry::Molecule 00194 get_molecule() throw () 00195 ; 00196 00200 void 00201 print_molecular() throw () 00202 ; 00203 }; // end class GaussianBasis_Molecular_impl 00204 00205 } // end namespace MPQC 00206 00207 // DO-NOT-DELETE splicer.begin(MPQC.GaussianBasis_Molecular._misc) 00208 // Put miscellaneous things here... 00209 // DO-NOT-DELETE splicer.end(MPQC.GaussianBasis_Molecular._misc) 00210 00211 #endif