59 std::vector<std::shared_ptr<Distribution>> m_distributionVec;
62 std::vector<double> m_xMinVec;
65 std::vector<double> m_xMaxVec;
68 std::shared_ptr<void> m_inputs;
107 CombinedDistribution (
const glob::DistributionType priorType,
const double xmin,
const double xmax,
const int seed=1)
125 CombinedDistribution (
const glob::DistributionType priorType,
const std::vector<double> prior_params,
const double xmin,
const double xmax,
const int seed=1)
126 :
Distribution(priorType, prior_params, xmin, xmax, seed) {}
146 CombinedDistribution (
const glob::DistributionType priorType,
const distribution_func prior_func,
const std::shared_ptr<void> prior_fixed_pars,
const std::vector<double> prior_pars,
const double xmin,
const double xmax,
const int seed=1)
147 :
Distribution(priorType, prior_func, prior_fixed_pars, prior_pars, xmin, xmax, seed) {}
161 CombinedDistribution (
const glob::DistributionType priorType,
const std::vector<double> discrete_values,
const std::vector<double> weights,
const int seed=1)
162 :
Distribution(priorType, discrete_values, weights, seed) {}
180 CombinedDistribution (
const glob::DistributionType priorType,
const std::vector<double> var,
const std::vector<double> dist,
const int nbin,
const std::string interpolationType,
const int seed=1)
181 :
Distribution(priorType, var, dist, nbin, interpolationType, seed) {}
200 CombinedDistribution (
const DistributionType distributionType,
const std::vector<double> meanVec,
const std::vector<std::vector<double>> covMat,
const std::vector<double> xMinVec,
const std::vector<double> xMaxVec,
const int seed=3213);
234 CombinedDistribution (
const std::string filename,
const std::string path,
const std::vector<int> columns_to_read,
const int skip_nlines=0,
const int type_data=0,
const bool normalize=
true,
const int distNum=200,
const double rMAX=2,
const double cell_size=2);
239 ~CombinedDistribution () =
default;
250 double operator [] (std::vector<double> xx);
260 std::shared_ptr<Distribution> get_distribution (
int i) {
return m_distributionVec[i];}
267 size_t get_size_distribution () {
return m_distributionVec.size();}
Implementation of the chain-mesh data structure.
functions that wrap Eigen routines
The class CombinedDistribution.
DistributionType
the distribution type
The global namespace of the CosmoBolognaLib
std::function< double(std::vector< double >, std::shared_ptr< void >)> nDim_distribution_func
distribution function used for a n-dimensional distribution
std::function< double(double, std::shared_ptr< void >, std::vector< double >)> distribution_func
generic distribution function