#ifndef STAN_MCMC_STEPSIZE_COVAR_ADAPTER_HPP
#define STAN_MCMC_STEPSIZE_COVAR_ADAPTER_HPP
#include <stan/interface_callbacks/writer/base_writer.hpp>
#include <stan/mcmc/base_adapter.hpp>
#include <stan/mcmc/stepsize_adaptation.hpp>
#include <stan/mcmc/covar_adaptation.hpp>
namespace stan {
namespace mcmc {
class stepsize_covar_adapter: public base_adapter {
public:
explicit stepsize_covar_adapter(int n)
: covar_adaptation_(n) {
}
stepsize_adaptation& get_stepsize_adaptation() {
return stepsize_adaptation_;
}
covar_adaptation& get_covar_adaptation() {
return covar_adaptation_;
}
void set_window_params(unsigned int num_warmup,
unsigned int init_buffer,
unsigned int term_buffer,
unsigned int base_window,
interface_callbacks::writer::base_writer& writer) {
covar_adaptation_.set_window_params(num_warmup,
init_buffer,
term_buffer,
base_window,
writer);
}
protected:
stepsize_adaptation stepsize_adaptation_;
covar_adaptation covar_adaptation_;
};
} // mcmc
} // stan
#endif