tk::Statistics class

Statistics estimator.

Constructors, destructors, conversion operators

Statistics(const tk::Particles& particles, const std::vector<ctr::Product>& stat, const std::vector<ctr::Probability>& pdf, const std::vector<std::vector<tk::real>>& binsize) explicit
Constructor.

Public functions

void accumulateOrd()
Accumulate (i.e., only do the sum for) ordinary moments.
void accumulateCen(const std::vector<tk::real>& om)
Accumulate (i.e., only do the sum for) central moments.
void accumulateOrdPDF()
Accumulate (i.e., only do the sum for) ordinary PDFs.
void accumulateCenPDF(const std::vector<tk::real>& om)
Accumulate (i.e., only do the sum for) central PDFs.
auto ord() const -> const std::vector<tk::real>& noexcept
Ordinary moments accessor.
auto ctr() const -> const std::vector<tk::real>& noexcept
Central moments accessor.
auto oupdf() const -> const std::vector<tk::UniPDF>& noexcept
Ordinary univariate PDFs accessor.
auto obpdf() const -> const std::vector<tk::BiPDF>& noexcept
Ordinary bivariate PDFs accessor.
auto otpdf() const -> const std::vector<tk::TriPDF>& noexcept
Ordinary trivariate PDFs accessor.
auto cupdf() const -> const std::vector<tk::UniPDF>& noexcept
Central univariate PDFs accessor.
auto cbpdf() const -> const std::vector<tk::BiPDF>& noexcept
Central bivariate PDFs accessor.
auto ctpdf() const -> const std::vector<tk::TriPDF>& noexcept
Central trivariate PDFs accessor.

Data for statistical moment estimation

std::vector<std::vector<const tk::real*>> m_instOrd
std::vector<tk::real> m_ordinary
Ordinary moments.
std::vector<tk::ctr::Term> m_ordTerm
Ordinary moment Terms, used to find means for fluctuations.
std::size_t m_nord
Number of ordinary moments.
std::vector<std::vector<const tk::real*>> m_instCen
Instantaneous variable pointers for computing central moments.
std::vector<tk::real> m_central
Central moments.
std::vector<std::vector<const tk::real*>> m_ctr
Ordinary moments about which to compute central moments.
std::size_t m_ncen
Number of central moments.

Data for univariate probability density function estimation

std::vector<std::vector<const tk::real*>> m_instOrdUniPDF
std::vector<tk::UniPDF> m_ordupdf
Ordinary univariate PDFs.
std::vector<std::vector<const tk::real*>> m_instCenUniPDF
Instantaneous variable pointers for computing central univariate PDFs.
std::vector<tk::UniPDF> m_cenupdf
Central univariate PDFs.
std::vector<std::vector<const tk::real*>> m_ctrUniPDF
Ordinary moments about which to compute central univariate PDFs.

Data for bivariate probability density function estimation

std::vector<std::vector<const tk::real*>> m_instOrdBiPDF
std::vector<tk::BiPDF> m_ordbpdf
Ordinary bivariate PDFs.
std::vector<std::vector<const tk::real*>> m_instCenBiPDF
Instantaneous variable pointers for computing central bivariate PDFs.
std::vector<tk::BiPDF> m_cenbpdf
Central bivariate PDFs.
std::vector<std::vector<const tk::real*>> m_ctrBiPDF
Ordinary moments about which to compute central bivariate PDFs.

Data for trivariate probability density function estimation

std::vector<std::vector<const tk::real*>> m_instOrdTriPDF
std::vector<tk::TriPDF> m_ordtpdf
Ordinary trivariate PDFs.
std::vector<std::vector<const tk::real*>> m_instCenTriPDF
Instantaneous variable pointers for computing central trivariate PDFs.
std::vector<tk::TriPDF> m_centpdf
Central trivariate PDFs.
std::vector<std::vector<const tk::real*>> m_ctrTriPDF
Ordinary moments about which to compute central trivariate PDFs.

Function documentation

tk::Statistics::Statistics(const tk::Particles& particles, const std::vector<ctr::Product>& stat, const std::vector<ctr::Probability>& pdf, const std::vector<std::vector<tk::real>>& binsize) explicit

Constructor.

Parameters
particles in Particles data to estimate from
stat in List of requested statistical moments
pdf in List of requested probability density functions (PDF)
binsize in List of binsize vectors configuring the PDF estimators

void tk::Statistics::accumulateCen(const std::vector<tk::real>& om)

Accumulate (i.e., only do the sum for) central moments.

Parameters
om in Ordinary moments

The ordinary moments container, m_ordinary, is overwritten here with the argument om, because each of multiple Statistics class objects (residing on different PEs) only collect their partial sums when accumulateOrd() is run. By the time the accumulation of the central moments is started, the ordinary moments have been collected from all PEs and thus are the same to be passed here on all PEs. For example client-code, see walker::Distributor.

void tk::Statistics::accumulateCenPDF(const std::vector<tk::real>& om)

Accumulate (i.e., only do the sum for) central PDFs.

Parameters
om in Ordinary moments

The ordinary moments container, m_ordinary, is overwritten here with the argument om, because each of multiple Statistics class objects (residing on different PEs) only collect their partial sums when accumulateOrd() is run. By the time the accumulation of the central PDFs is started, the ordinary moments have been collected from all PEs and thus are the same to be passed here on all PEs. For example client-code, see walker::Distributor.

Variable documentation

std::vector<std::vector<const tk::real*>> tk::Statistics::m_instOrd

Instantaneous variable pointers for computing ordinary moments

std::vector<std::vector<const tk::real*>> tk::Statistics::m_instOrdUniPDF

Instantaneous variable pointers for computing ordinary univariate PDFs

std::vector<std::vector<const tk::real*>> tk::Statistics::m_instOrdBiPDF

Instantaneous variable pointers for computing ordinary bivariate PDFs

std::vector<std::vector<const tk::real*>> tk::Statistics::m_instOrdTriPDF

Instantaneous variable pointers for computing ordinary trivariate PDFs