WavefunctionStepper.h 849 Bytes
Newer Older
Francois Gygi committed
1 2 3 4 5
////////////////////////////////////////////////////////////////////////////////
//
// WavefunctionStepper.h
//
////////////////////////////////////////////////////////////////////////////////
6
// $Id: WavefunctionStepper.h,v 1.5 2004-03-11 21:52:31 fgygi Exp $
Francois Gygi committed
7 8 9

#ifndef WAVEFUNCTIONSTEPPER_H
#define WAVEFUNCTIONSTEPPER_H
10 11 12 13 14 15 16
#include "Sample.h"
#include "Timer.h"
#include <map>
#include <string>
using namespace std;

typedef map<string,Timer> TimerMap;
17
class Wavefunction;
Francois Gygi committed
18 19 20 21

class WavefunctionStepper
{
  private:
22
  
23 24 25 26 27
  protected:
  Sample& s_;
  Wavefunction& wf_;
  TimerMap& tmap_;
  
Francois Gygi committed
28 29
  public:

30
  virtual void update(Wavefunction& dwf) = 0;
31 32
  virtual void preprocess(void) {}
  virtual void postprocess(void) {}
Francois Gygi committed
33

34 35
  WavefunctionStepper(Sample& s, TimerMap& tmap) : 
  s_(s), wf_(s.wf), tmap_(tmap)
36
  {}
37
  virtual ~WavefunctionStepper() {}
Francois Gygi committed
38 39
};
#endif