Belle II Software development
|
Class implementing n-dimensional random number generator from Gaussian distribution where the first component of the vector is generated first (using some external source) and the remaining components are generated based on the value of the first component. More...
#include <ConditionalGaussGenerator.h>
Public Member Functions | |
ConditionalGaussGenerator () | |
dummy constructor without arguments | |
ConditionalGaussGenerator (const Eigen::VectorXd &mu, const Eigen::MatrixXd &covMat) | |
constructor which takes vector of central values and covariance matrix as input | |
Eigen::VectorXd | generate (double x0) const |
generate random vector based on the provided first component x0 | |
double | getX0spread () const |
get the spread of first component which can be used by external generator | |
Eigen::VectorXd | getMu () const |
get the vector including central values of the distribution | |
Eigen::MatrixXd | getCovMat () const |
get the covariance matrix describing n-dimensional Gaussian distribution | |
Private Attributes | |
Eigen::VectorXd | m_mu |
central values of the distribution | |
Eigen::MatrixXd | m_covMat |
covariance matrix of the distribution | |
Eigen::MatrixXd | m_vBaseMat |
transformation matrix between eigen-system of m_covMat and nominal system | |
std::vector< Eigen::VectorXd > | m_cOrt |
array of vectors describing free degrees of freedom of random generator | |
Eigen::VectorXd | m_v0norm |
vector which scales with dx0 | |
Class implementing n-dimensional random number generator from Gaussian distribution where the first component of the vector is generated first (using some external source) and the remaining components are generated based on the value of the first component.
The obtained numbers have identical statistical behaviour like when all components are generated simultaneously
Definition at line 25 of file ConditionalGaussGenerator.h.
|
inline |
VectorXd generate | ( | double | x0 | ) | const |
generate random vector based on the provided first component x0
x0 | the first component of the random vector |
Definition at line 99 of file ConditionalGaussGenerator.cc.
|
inline |
get the covariance matrix describing n-dimensional Gaussian distribution
Definition at line 49 of file ConditionalGaussGenerator.h.
|
inline |
get the vector including central values of the distribution
Definition at line 46 of file ConditionalGaussGenerator.h.
|
inline |
get the spread of first component which can be used by external generator
Definition at line 43 of file ConditionalGaussGenerator.h.
|
private |
array of vectors describing free degrees of freedom of random generator
Definition at line 55 of file ConditionalGaussGenerator.h.
|
private |
covariance matrix of the distribution
Definition at line 52 of file ConditionalGaussGenerator.h.
|
private |
central values of the distribution
Definition at line 51 of file ConditionalGaussGenerator.h.
|
private |
vector which scales with dx0
Definition at line 56 of file ConditionalGaussGenerator.h.
|
private |
transformation matrix between eigen-system of m_covMat and nominal system
Definition at line 54 of file ConditionalGaussGenerator.h.