25 #ifndef QUESO_TK_FACTORY_H
26 #define QUESO_TK_FACTORY_H
28 #include <queso/Factory.h>
29 #include <queso/GslVector.h>
30 #include <queso/GslMatrix.h>
31 #include <queso/VectorSpace.h>
32 #include <queso/TKGroup.h>
33 #include <queso/MetropolisHastingsSGOptions.h>
127 queso_require_msg(
m_vectorSpace,
"ERROR: must call set_vectorspace() before building tk!");
128 queso_require_msg(
m_dr_scales,
"ERROR: must call set_dr_scales() before building tk!");
129 queso_require_msg(
m_pdf_synchronizer,
"ERROR: must call set_pdf_synchronizer() before building tk!");
130 queso_require_msg(
m_initial_cov_matrix,
"ERROR: must call set_initial_cov_matrix() before building tk!");
131 queso_require_msg(
m_options,
"ERROR: must call set_options() before building tk!");
132 queso_require_msg(
m_target_pdf,
"ERROR: must call set_target_pdf() before building tk!");
136 queso_assert(new_tk);
143 #endif // QUESO_TK_FACTORY_H
static GslMatrix * m_initial_cov_matrix
A templated class for synchronizing the calls of scalar functions (BaseScalarFunction and derived cla...
A class representing a vector space.
virtual SharedPtr< BaseTKGroup< GslVector, GslMatrix > >::Type build_tk()=0
TransitionKernelFactory(const std::string &name)
static const BaseJointPdf< GslVector, GslMatrix > * m_target_pdf
static void set_pdf_synchronizer(const ScalarFunctionSynchronizer< GslVector, GslMatrix > &synchronizer)
static void set_vectorspace(const VectorSpace< GslVector, GslMatrix > &v)
Class for matrix operations using GSL library.
static void set_target_pdf(const BaseJointPdf< GslVector, GslMatrix > &target_pdf)
static void set_options(const MhOptionsValues &options)
static const MhOptionsValues * m_options
This class provides options for the Metropolis-Hastings generator of samples if no input file is avai...
A templated (base) class for handling joint PDFs.
virtual ~TransitionKernelFactory()
Class for vector operations using GSL library.
static const ScalarFunctionSynchronizer< GslVector, GslMatrix > * m_pdf_synchronizer
This base class allows the representation of a transition kernel.
static const VectorSpace< GslVector, GslMatrix > * m_vectorSpace
static void set_dr_scales(const std::vector< double > &scales)
static const std::vector< double > * m_dr_scales
static void set_initial_cov_matrix(GslMatrix &cov_matrix)
virtual SharedPtr< BaseTKGroup< GslVector, GslMatrix > >::Type create()