00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef included_MPQC_GaussianBasis_Shell_Impl_hh
00014 #define included_MPQC_GaussianBasis_Shell_Impl_hh
00015
00016 #ifndef included_sidl_cxx_hh
00017 #include "sidl_cxx.hh"
00018 #endif
00019 #ifndef included_MPQC_GaussianBasis_Shell_IOR_h
00020 #include "MPQC_GaussianBasis_Shell_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_MPQC_GaussianBasis_Shell_hh
00029 #include "MPQC_GaussianBasis_Shell.hh"
00030 #endif
00031 #ifndef included_sidl_BaseInterface_hh
00032 #include "sidl_BaseInterface.hh"
00033 #endif
00034 #ifndef included_sidl_ClassInfo_hh
00035 #include "sidl_ClassInfo.hh"
00036 #endif
00037
00038
00039
00040 #include <chemistry/qc/basis/basis.h>
00041 using namespace std;
00042 using namespace Chemistry::QC::GaussianBasis;
00043 using namespace sc;
00044
00045
00046 namespace MPQC {
00047
00051 class GaussianBasis_Shell_impl
00052
00053
00064
00065
00066 {
00067
00068 private:
00069
00070
00071 GaussianBasis_Shell self;
00072
00073
00074
00075 GaussianShell *shell_ptr_;
00076 Ref<GaussianShell> sc_shell_;
00077 AngularType angular_type_;
00078 int max_am_;
00079
00080
00081
00082 private:
00083
00084 GaussianBasis_Shell_impl()
00085 {}
00086
00087 public:
00088
00089
00090
00091 GaussianBasis_Shell_impl( struct MPQC_GaussianBasis_Shell__object * s ) :
00092 self(s,true) { _ctor(); }
00093
00094
00095 void _ctor();
00096
00097
00098 virtual ~GaussianBasis_Shell_impl() { _dtor(); }
00099
00100
00101 void _dtor();
00102
00103
00104 static void _load();
00105
00106 public:
00107
00111 void
00112 initialize (
00113 void* scshell
00114 )
00115 throw ()
00116 ;
00117
00118
00123 int64_t
00124 get_n_contraction() throw ()
00125 ;
00126
00131 int64_t
00132 get_n_primitive() throw ()
00133 ;
00134
00141 double
00142 get_contraction_coef (
00143 int64_t connum,
00144 int64_t expnum
00145 )
00146 throw ()
00147 ;
00148
00149
00155 double
00156 get_exponent (
00157 int64_t expnum
00158 )
00159 throw ()
00160 ;
00161
00162
00168 int64_t
00169 get_angular_momentum (
00170 int64_t connum
00171 )
00172 throw ()
00173 ;
00174
00175
00180 int64_t
00181 get_max_angular_momentum() throw ()
00182 ;
00183
00189 ::Chemistry::QC::GaussianBasis::AngularType
00190 get_contraction_angular_type (
00191 int64_t connum
00192 )
00193 throw ()
00194 ;
00195
00196
00201 ::Chemistry::QC::GaussianBasis::AngularType
00202 get_angular_type() throw ()
00203 ;
00204
00208 void
00209 print_shell() throw ()
00210 ;
00211 };
00212
00213 }
00214
00215
00216
00217
00218
00219 #endif