mcpele
1.0.0
The Monte Carlo Python Energy Landscape Explorer
|
00001 #ifndef _MCPELE_METROPOLIS_TEST_H__ 00002 #define _MCPELE_METROPOLIS_TEST_H__ 00003 00004 #include <random> 00005 00006 #include "pele/array.h" 00007 #include "mc.h" 00008 00009 namespace mcpele { 00010 00021 class MetropolisTest : public AcceptTest { 00022 protected: 00023 size_t m_seed; 00024 std::mt19937_64 m_generator; 00025 std::uniform_real_distribution<double> m_distribution; 00026 public: 00030 MetropolisTest(const size_t rseed); 00031 00033 virtual ~MetropolisTest() {} 00034 00044 virtual bool test(pele::Array<double> &trial_coords, double trial_energy, 00045 pele::Array<double> & old_coords, double old_energy, double temperature, 00046 MC * mc); 00047 00049 size_t get_seed() const {return m_seed;} 00050 void set_generator_seed(const size_t inp) { m_generator.seed(inp); } 00051 }; 00052 00053 } // namespace mcpele 00054 00055 #endif // #ifndef _MCPELE_METROPOLIS_TEST_H__