00001 // AcceptanceRatioFreeEnergyEstimator.h: interface for the CAcceptanceRatioFreeEnergyEstimator class. 00002 // 00004 00005 #if !defined(AFX_ACCEPTANCERATIOFREEENERGYESTIMATOR_H__871FA004_AD66_4CDE_89BB_7D894AF3BBB2__INCLUDED_) 00006 #define AFX_ACCEPTANCERATIOFREEENERGYESTIMATOR_H__871FA004_AD66_4CDE_89BB_7D894AF3BBB2__INCLUDED_ 00007 00008 #if _MSC_VER > 1000 00009 #pragma once 00010 #endif // _MSC_VER > 1000 00011 00012 #include <fstream> 00013 #include <vector> 00014 #include <iomanip> 00015 #include "Minimizable.h" 00016 #include "ParameterTranslator.h" 00017 #include "ParameterReader.h" 00018 using namespace std; 00019 00020 class CAcceptanceRatioFreeEnergyEstimator 00021 { 00022 public: 00023 CAcceptanceRatioFreeEnergyEstimator(); 00024 CAcceptanceRatioFreeEnergyEstimator(Minimizable *pS0, int n0, Minimizable *pS1, int n1, CParameterTranslator *pTrans); 00025 virtual ~CAcceptanceRatioFreeEnergyEstimator(); 00026 void ComputeHistograms(); 00027 void LoadEnsemble(std::string f0name, std::string f1name); 00028 private: 00029 int m_iN0; 00030 int m_iN1; 00031 std::vector<double *> m_vpdEnsemble0; 00032 std::vector<double *> m_vpdEnsemble1; 00033 Minimizable *m_pSystem0; 00034 Minimizable *m_pSystem1; 00035 CParameterTranslator *m_pTranslator; 00036 std::vector<double> m_vdHistogram0; 00037 std::vector<double> m_vdHistogram1; 00038 }; 00039 00040 #endif // !defined(AFX_ACCEPTANCERATIOFREEENERGYESTIMATOR_H__871FA004_AD66_4CDE_89BB_7D894AF3BBB2__INCLUDED_)