Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
CopulaFactory.h
Go to the documentation of this file.
1#ifndef COPULAFACTORY_H
2#define COPULAFACTORY_H
3
4#include <memory>
5#include <random>
6#include <algorithm>
7#include <variant>
8
9#include "CopulaType.h"
10#include "ICopula.h"
11#include "GaussianCopula.h"
12#include "StudentTCopula.h"
13
55using CopulaConfig = std::variant<GaussianCopulaConfig, StudentTCopulaConfig>;
56
89public:
114 static std::unique_ptr<ICopula> create(CopulaType name, CopulaConfig config, unsigned int seed = std::random_device{}());
115};
116
117#endif // COPULAFACTORY_H
Enumerates the supported copula families.
CopulaType
Identifies the copula family used to model dependence.
Definition CopulaType.h:32
Gaussian copula implementation.
Abstract interface for multivariate copulas.
Student-t copula implementation.
Factory for constructing concrete copulas from a type tag and configuration.
static std::unique_ptr< ICopula > create(CopulaType name, CopulaConfig config, unsigned int seed=std::random_device{}())
Creates a concrete copula instance.