basisset.h

Go to the documentation of this file.
00001 
00006 #ifndef _psi_src_lib_libbasis_basisset_h_
00007 #define _psi_src_lib_libbasis_basisset_h_
00008 
00009 #include <psitypes.h>
00010 #include "shell.h"
00011 
00012 namespace psi {
00013 
00014 class BasisSet {
00015 
00016   int num_prims_;
00017   int num_shells_;
00018   int num_ao_;
00019   int num_bf_;
00020   int max_am_;
00021   bool puream_;
00022 
00023   GaussianShell** shells_;
00024 
00025   int *shell_fbf_;
00026   int *shell_fao_;
00027   int *shell_center_;
00028   
00029   // Cartesian coordinates of basis function centers  
00030   PSI_FLOAT** coords_;
00031   int ncenters_;
00032 
00033   void init_shells();
00035   void check_shell_index(int si) const;
00036 
00037   // No default constructor
00038   BasisSet();
00039   // No assignment
00040   BasisSet& operator=(const BasisSet&);
00041 
00042  public:
00043   BasisSet(int chkptfile);
00044   BasisSet(const BasisSet&);
00045   ~BasisSet();
00046 
00048   void print(char* id, FILE* outfile) const;
00049 
00050   int num_prims() const;
00051   int num_shells() const;
00052   int num_ao() const;
00053   int num_bf() const;
00054   int max_am() const;
00055 
00057   GaussianShell& shell(int si) const;
00059   int first_bf(int si) const;
00061   int first_ao(int si) const;
00063   int center(int si) const;
00064 
00066   void set_center(int ci, PSI_FLOAT[3]);
00068   PSI_FLOAT get_center(int ci, int i);
00069 };
00070 
00071 } // end of namespace psi
00072 
00073 #endif

Generated on Wed Feb 13 16:35:39 2008 for PSI by  doxygen 1.5.4