00001 #ifdef __GNUG__
00002 #pragma interface
00003 #endif
00004
00005 #ifndef _chemistry_qc_psi_file11_h
00006 #define _chemistry_qc_psi_file11_h
00007
00008 using namespace std;
00009
00010 #include <fstream>
00011 #include <string>
00012 #include<util/ref/ref.h>
00013 #include<chemistry/molecule/molecule.h>
00014 #include<chemistry/qc/basis/basis.h>
00015
00016 namespace sc {
00017
00018 class PsiExEnv;
00019
00022
00023 class PsiFile11: public RefCount {
00024
00025 string filename_;
00026 std::fstream file_;
00027
00028
00029 PsiFile11() {};
00030
00031 void skip_lines(int n);
00032 void skip_entry();
00033 void rewind();
00034
00035 public:
00036 PsiFile11(const string& name);
00037 ~PsiFile11();
00038
00039 void open();
00040 void close();
00041 void remove();
00042 int get_natom(int entry);
00043 double get_energy(int entry);
00044 double get_coord(int entry, int atom, int xyz);
00045 double get_grad(int entry, int atom, int xyz);
00046 };
00047
00048 }
00049
00050 #endif