00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef included_MPQC_GaussianBasis_Atomic_Impl_hh
00014 #define included_MPQC_GaussianBasis_Atomic_Impl_hh
00015
00016 #ifndef included_sidl_cxx_hh
00017 #include "sidl_cxx.hh"
00018 #endif
00019 #ifndef included_MPQC_GaussianBasis_Atomic_IOR_h
00020 #include "MPQC_GaussianBasis_Atomic_IOR.h"
00021 #endif
00022
00023
00024
00025 #ifndef included_Chemistry_QC_GaussianBasis_AngularType_hh
00026 #include "Chemistry_QC_GaussianBasis_AngularType.hh"
00027 #endif
00028 #ifndef included_Chemistry_QC_GaussianBasis_Shell_hh
00029 #include "Chemistry_QC_GaussianBasis_Shell.hh"
00030 #endif
00031 #ifndef included_MPQC_GaussianBasis_Atomic_hh
00032 #include "MPQC_GaussianBasis_Atomic.hh"
00033 #endif
00034 #ifndef included_sidl_BaseInterface_hh
00035 #include "sidl_BaseInterface.hh"
00036 #endif
00037 #ifndef included_sidl_ClassInfo_hh
00038 #include "sidl_ClassInfo.hh"
00039 #endif
00040
00041
00042
00043 #include <chemistry/qc/basis/basis.h>
00044 #include <MPQC_GaussianBasis_Shell.hh>
00045 using namespace std;
00046 using namespace Chemistry::QC::GaussianBasis;
00047 using namespace sc;
00048 using namespace MPQC;
00049
00050
00051
00052 namespace MPQC {
00053
00057 class GaussianBasis_Atomic_impl
00058
00059
00070
00071
00072 {
00073
00074 private:
00075
00076
00077 GaussianBasis_Atomic self;
00078
00079
00080
00081 GaussianBasisSet *gbs_ptr_;
00082 Ref<GaussianBasisSet> sc_gbs_;
00083 int atomnum_;
00084 int nshell_;
00085 int max_am_;
00086 GaussianBasis_Shell *shell_array_;
00087 AngularType angular_type_;
00088
00089
00090
00091 private:
00092
00093 GaussianBasis_Atomic_impl()
00094 {}
00095
00096 public:
00097
00098
00099
00100 GaussianBasis_Atomic_impl( struct MPQC_GaussianBasis_Atomic__object * s ) :
00101 self(s,true) { _ctor(); }
00102
00103
00104 void _ctor();
00105
00106
00107 virtual ~GaussianBasis_Atomic_impl() { _dtor(); }
00108
00109
00110 void _dtor();
00111
00112
00113 static void _load();
00114
00115 public:
00116
00120 void
00121 initialize (
00122 void* scbasis,
00123 int32_t atomnum
00124 )
00125 throw ()
00126 ;
00127
00128
00133 ::std::string
00134 get_name() throw ()
00135 ;
00136
00141 int64_t
00142 get_n_basis() throw ()
00143 ;
00144
00149 int64_t
00150 get_n_shell() throw ()
00151 ;
00152
00157 int64_t
00158 get_max_angular_momentum() throw ()
00159 ;
00160
00165 ::Chemistry::QC::GaussianBasis::AngularType
00166 get_angular_type() throw ()
00167 ;
00168
00174 ::Chemistry::QC::GaussianBasis::Shell
00175 get_shell (
00176 int64_t shellnum
00177 )
00178 throw ()
00179 ;
00180
00181
00185 void
00186 print_atomic() throw ()
00187 ;
00188 };
00189
00190 }
00191
00192
00193
00194
00195
00196 #endif