00001 00002 #ifndef QMCBasisFunctionCoefficients_H 00003 #define QMCBasisFunctionCoefficients_H 00004 00005 #include <string> 00006 #include <iostream> 00007 #include <fstream> 00008 #include "Array1D.h" 00009 #include "Array2D.h" 00010 #include "Array3D.h" 00011 #include "StringManipulation.h" 00012 00013 using namespace std; 00014 00049 class QMCBasisFunctionCoefficients 00050 { 00051 public: 00056 QMCBasisFunctionCoefficients(); 00057 00058 00065 int getNumberBasisFunctions(); 00066 00067 00073 Array3D <qmcfloat> Coeffs; 00074 00075 00083 Array2D <int> xyz_powers; 00084 00085 00092 Array1D <int> N_Gauss; 00093 00094 00101 Array1D <string> Type; 00102 00106 int lmax; 00107 00114 void operator=( const QMCBasisFunctionCoefficients & rhs); 00115 00116 00121 friend istream& operator >>(istream& strm, 00122 QMCBasisFunctionCoefficients &rhs); 00123 00124 00129 friend ostream& operator <<(ostream& strm, 00130 QMCBasisFunctionCoefficients& rhs); 00131 00132 00137 void read(string runfile); 00138 00139 private: 00140 int Max_Gaussians; 00141 string Label; 00142 int N_Orbitals; 00143 }; 00144 00145 #endif 00146