00001 /* 00002 Copyright (c) Amos G. Anderson 2007 00003 Distributed under GNU general public license (GPL) 00004 No guarantee or warantee regarding usability or stability is expressed or implied. 00005 nitroamos@gmail.com 00006 */ 00007 00008 #ifndef QMCSURFER_H 00009 #define QMCSURFER_H 00010 00011 #include <string> 00012 00013 #include "Array2D.h" 00014 #include "QMCWalkerData.h" 00015 #include "QMCFunctions.h" 00016 #include <iostream> 00017 #include <iomanip> 00018 00019 using namespace std; 00020 00038 class QMCSurfer 00039 { 00040 private: 00041 QMCFunctions * QMF; 00042 Array2D<double> R; 00043 QMCWalkerData walkerData; 00044 00045 public: 00046 QMCSurfer(); 00047 ~QMCSurfer(); 00048 00049 int mainMenu(QMCFunctions * QMF, int iteration, 00050 Array2D<double> newR); 00051 00052 void interparticleDistanceMatrix(); 00053 void equipotentialSurface(); 00054 void scanEnergies(int, int, int, int, double, double, double); 00055 void surfaceExplorer(); 00056 }; 00057 00058 #endif