mcpele  1.0.0
The Monte Carlo Python Energy Landscape Explorer
mcpele/record_lowest_evalue_timeseries.h
00001 #ifndef _MCPELE_RECORD_LOWEST_EVALUE_TIMESERIES_H__
00002 #define _MCPELE_RECORD_LOWEST_EVALUE_TIMESERIES_H__
00003 
00004 #include "record_scalar_timeseries.h"
00005 #include "lowest_eigenvalue.h"
00006 
00007 namespace mcpele {
00008 
00013 class RecordLowestEValueTimeseries : public RecordScalarTimeseries{
00014 private:
00015     FindLowestEigenvalue m_lowest_ev;
00016 public:
00017     RecordLowestEValueTimeseries(const size_t niter,
00018             const size_t record_every,
00019             std::shared_ptr<pele::BasePotential> landscape_potential,
00020             const size_t boxdimension, pele::Array<double> ranvec,
00021             const size_t lbfgsniter = 30)
00022         : RecordScalarTimeseries(niter, record_every),
00023           m_lowest_ev(landscape_potential, boxdimension, ranvec, lbfgsniter)
00024     {}
00025     virtual ~RecordLowestEValueTimeseries(){}
00026     virtual double get_recorded_scalar(pele::Array<double> &coords,
00027             const double energy, const bool accepted, MC* mc)
00028             { return m_lowest_ev.compute_lowest_eigenvalue(coords); }
00029 };
00030 
00031 } // namespace mcpele
00032 
00033 #endif // #ifndef _MCPELE_RECORD_LOWEST_EVALUE_TIMESERIES_H__
 All Classes Namespaces Functions Variables Typedefs