npstat is hosted by Hepforge, IPPP Durham
NPStat  5.10.0
npstat::BetaFilter1DBuilder Class Reference

#include <BetaFilter1DBuilder.hh>

Inheritance diagram for npstat::BetaFilter1DBuilder:
npstat::AbsFilter1DBuilder

Public Member Functions

 BetaFilter1DBuilder (double polyDegree, unsigned dataLen, double effectiveDegreeOffset=-0.5, double effectiveDegreeCutoff=-0.5)
 
unsigned centralWeightLength () const
 
bool keepAllFilters () const
 
double polyDegree () const
 
double effectiveDegreeOffset () const
 
double effectiveDegreeCutoff () const
 
virtual PolyFilter1DmakeFilter (const double *taper, unsigned lenTaper, unsigned binnum, unsigned datalen) const
 
- Public Member Functions inherited from npstat::AbsFilter1DBuilder
virtual double lastBandwidthFactor () const
 

Detailed Description

This class will construct beta distribution filters for the given length of data discretization grid (number of bins). These filters will be positive. Positive doubly stochastic filters can be easily constructed out of them using the "doublyStochasticFilter" method of the LocalPolyFilter1D class.

Constructor & Destructor Documentation

◆ BetaFilter1DBuilder()

npstat::BetaFilter1DBuilder::BetaFilter1DBuilder ( double  polyDegree,
unsigned  dataLen,
double  effectiveDegreeOffset = -0.5,
double  effectiveDegreeCutoff = -0.5 
)

The constructor arguments are as follows:

polyDegree – Effective degree for beta filters (using the same convention as for Bernstein polynomials). Its inverse plays the role of bandwidth. This argument can not be negative.

dataLen – Length of data arrays to be filtered by the filters built with this object. Must be at least 2.

effectiveDegreeOffset – Effective polynomial degree to map into the left edge of the density support region. This mapping will be linear, and the right edge will be mapped into polyDegree - effectiveDegreeOffset. Useful values of this parameter are between -1.0 and 0.0. If a value outside this interval is specified, the closest value from this interval will be used instead.

effectiveDegreeCutoff – The effective degree produced by linear mapping will be truncated if it gets below this value (or if it gets above polyDegree - effectiveDegreeCutoff). It can can be useful to tune this parameter in such a way the standard deviation of the beta kernel does not become significantly smaller than the width of the discretization grid bins. Useful values of this parameter are between -1.0 and 0.0. If a value outside this interval is specified, the closest value from this interval will be used instead.

Member Function Documentation

◆ centralWeightLength()

unsigned npstat::BetaFilter1DBuilder::centralWeightLength ( ) const
inlinevirtual

This method is pure virtual in the base, so it must be implemented

Implements npstat::AbsFilter1DBuilder.

◆ keepAllFilters()

bool npstat::BetaFilter1DBuilder::keepAllFilters ( ) const
inlinevirtual

Internal filters are all different

Implements npstat::AbsFilter1DBuilder.

◆ makeFilter()

virtual PolyFilter1D* npstat::BetaFilter1DBuilder::makeFilter ( const double *  taper,
unsigned  lenTaper,
unsigned  binnum,
unsigned  datalen 
) const
virtual

The "taper" and "lenTaper" arguments will be ignored

Implements npstat::AbsFilter1DBuilder.

◆ polyDegree()

double npstat::BetaFilter1DBuilder::polyDegree ( ) const
inline

Simple inspector of object properties


The documentation for this class was generated from the following file: