https://mooseframework.inl.gov
Loading...
Searching...
No Matches
KernelDensity1D.h
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
3//*
4//* All rights reserved, see COPYRIGHT for full restrictions
5//* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6//*
7//* Licensed under LGPL 2.1, please see LICENSE for details
8//* https://www.gnu.org/licenses/lgpl-2.1.html
9
10#pragma once
11
12#include "Distribution.h"
13
18{
19public:
21
23
24 virtual Real pdf(const Real & x) const override;
25 virtual Real cdf(const Real & x) const override;
26 virtual Real quantile(const Real & p) const override;
27
28 static Real pdf(const Real & x,
29 const Real & bandwidth,
30 const std::vector<Real> & data,
31 const MooseEnum & kernel_function);
32 static Real cdf(const Real & x,
33 const Real & bandwidth,
34 const std::vector<Real> & data,
35 const MooseEnum & kernel_function);
36 static Real quantile(const Real & p,
37 const Real & bandwidth,
38 const std::vector<Real> & data,
39 const MooseEnum & kernel_function);
40
41protected:
44
47
50
52 std::vector<Real> _data;
53};
const std::vector< double > x
const Real p
A class used to generate a KernelDensity1D distribution.
virtual Real pdf(const Real &x) const override
std::vector< Real > _data
data helps get the vector data for building the kernel density
const MooseEnum & _kernel_function
kernel_function helps the user select between the different kernel functions that are available
Real _bandwidth
The bandwith parameter which controls the smoothness of the distribution.
const MooseEnum & _bandwidth_rule
bandwidth_rule helps the user select between the different ways to define the bandwith
virtual Real quantile(const Real &p) const override
virtual Real cdf(const Real &x) const override
static InputParameters validParams()
const InputParameters & parameters() const