Tomographer  v5.2
Tomographer C++ Framework Documentation
Tomographer::MHRWAcceptRatioWalkerParamsController< MHRWAcceptanceRatioBasedParamsAdjusterType_, MHRWMovingAverageAcceptanceRatioStatsCollectorType_, BaseLoggerType_, IterCountIntType_ > Class Template Reference

Basic functionality for a MHRWController Interface to adjust MHWalkerParams based on keeping the acceptance ratio within a required range. More...

#include <tomographer/mhrwacceptratiowalkerparamscontroller.h>

+ Inheritance diagram for Tomographer::MHRWAcceptRatioWalkerParamsController< MHRWAcceptanceRatioBasedParamsAdjusterType_, MHRWMovingAverageAcceptanceRatioStatsCollectorType_, BaseLoggerType_, IterCountIntType_ >:

Public Types

enum  
 
typedef MHRWAcceptanceRatioBasedParamsAdjusterType_ MHRWAcceptanceRatioBasedParamsAdjusterType
 
typedef MHRWMovingAverageAcceptanceRatioStatsCollectorType_ MHRWMovingAverageAcceptanceRatioStatsCollectorType
 
typedef BaseLoggerType_ BaseLoggerType
 
typedef IterCountIntType_ IterCountIntType
 

Public Member Functions

 MHRWAcceptRatioWalkerParamsController (const MHRWMovingAverageAcceptanceRatioStatsCollectorType &accept_ratio_stats_collector_, BaseLoggerType &baselogger_, MHRWAcceptanceRatioBasedParamsAdjusterType &params_adjuster_, double desired_accept_ratio_min_=MHRWAcceptRatioWalkerParamsControllerDefaults::DesiredAcceptanceRatioMin, double desired_accept_ratio_max_=MHRWAcceptRatioWalkerParamsControllerDefaults::DesiredAcceptanceRatioMax, double acceptable_accept_ratio_min_=MHRWAcceptRatioWalkerParamsControllerDefaults::AcceptableAcceptanceRatioMin, double acceptable_accept_ratio_max_=MHRWAcceptRatioWalkerParamsControllerDefaults::AcceptableAcceptanceRatioMax, double ensure_n_therm_fixed_params_fraction_=MHRWAcceptRatioWalkerParamsControllerDefaults::EnsureNThermFixedParamsFraction)
 
double desiredAcceptRatioMin () const
 
double desiredAcceptRatioMax () const
 
double acceptableAcceptRatioMin () const
 
double acceptableAcceptRatioMax () const
 
double ensureNThermFixedParamsFraction () const
 
IterCountIntType originalNTherm () const
 
template<typename MHRWParamsType , typename MHWalker , typename MHRandomWalkType >
void init (MHRWParamsType &params, const MHWalker &mhwalker, const MHRandomWalkType &mhrw)
 
template<bool IsThermalizing, bool IsAfterSample, typename MHRWParamsType , typename MHWalker , typename MHRandomWalkType , ENABLED_IF( IsThermalizing) >
void adjustParams (MHRWParamsType &params, const MHWalker &mhwalker, IterCountIntType iter_k, const MHRandomWalkType &mhrw)
 
template<typename MHRWParamsType , typename MHWalker , typename MHRandomWalkType >
bool allowDoneThermalization (const MHRWParamsType &params, const MHWalker &, IterCountIntType iter_k, const MHRandomWalkType &)
 
template<typename MHRWParamsType , typename MHWalker , typename MHRandomWalkType >
bool allowDoneRuns (const MHRWParamsType &, const MHWalker &, IterCountIntType, const MHRandomWalkType &)
 
template<typename MHRWParamsType , typename MHWalker , typename MHRandomWalkType >
void thermalizingDone (MHRWParamsType &, const MHWalker &, const MHRandomWalkType &) const
 
template<typename MHRWParamsType , typename MHWalker , typename MHRandomWalkType >
void done (MHRWParamsType &, const MHWalker &, const MHRandomWalkType &) const
 

Detailed Description

template<typename MHRWAcceptanceRatioBasedParamsAdjusterType_, typename MHRWMovingAverageAcceptanceRatioStatsCollectorType_, typename BaseLoggerType_ = Logger::VacuumLogger, typename IterCountIntType_ = int>
class Tomographer::MHRWAcceptRatioWalkerParamsController< MHRWAcceptanceRatioBasedParamsAdjusterType_, MHRWMovingAverageAcceptanceRatioStatsCollectorType_, BaseLoggerType_, IterCountIntType_ >

Basic functionality for a MHRWController Interface to adjust MHWalkerParams based on keeping the acceptance ratio within a required range.

The MHRWAcceptanceRatioBasedParamsAdjusterType must be a MHRWAcceptanceRatioBasedParamsAdjuster Interface compliant type.

See MHRWStepSizeController for an example.

Definition at line 89 of file mhrwacceptratiowalkerparamscontroller.h.


The documentation for this class was generated from the following file: