SLIKMC  1.0
 All Classes Functions Variables Pages
MetropolisHastingsSampler.h
1 /*
2  * BasicMetropolisSampling.h
3  *
4  * Created on: Jul 24, 2012
5  * Author: Yajia
6  */
7 
8 #ifndef BASICMETROPOLISSAMPLING_H_
9 #define BASICMETROPOLISSAMPLING_H_
10 #include "BFactor.h"
11 #include "RamachandranPlot.h"
12 #include "PProtein.h"
13 #include "math/Gaussian.h"
14 using namespace Math;
15 
16 
20 class MHSampler {
21 public:
25  MHSampler(PProtein* chain);
29  virtual ~MHSampler();
30 
36  void sample( const double time, const double radius);
37 
42  void enableBfactors( PProtein* chain = NULL);
43 
47  void disableBfactors();
48 private:
49  BFactor* bfactor;
50  RamachandranPlot rplot;
51  PProtein* chain;
52 
61  bool MHStep( double P, double Q, double P_proposal, double Q_proposal);
62 
68  double getP_log( PProtein* chain);
69 
70  bool use_BFactor;
71 };
72 
73 #endif /* BASICMETROPOLISSAMPLING_H_ */