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

#include <BernsteinFilter1DBuilder.hh>

Inheritance diagram for npstat::BernsteinFilter1DBuilder:
npstat::AbsFilter1DBuilder

Public Member Functions

 BernsteinFilter1DBuilder (unsigned polyDegree, unsigned dataLen, bool useClosestPoly)
 
unsigned centralWeightLength () const
 
bool keepAllFilters () const
 
unsigned polyDegree () const
 
bool usingClosestPoly () 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 Bernstein polynomial filters for the given length of data discretization grid (number of bins). These filters are positive doubly stochastic and, therefore, useful for sequential copula filtering. They are designed to be used with the "convolve" method of LocalPolyFilter1D class.

Constructor & Destructor Documentation

◆ BernsteinFilter1DBuilder()

npstat::BernsteinFilter1DBuilder::BernsteinFilter1DBuilder ( unsigned  polyDegree,
unsigned  dataLen,
bool  useClosestPoly 
)

The constructor arguments are as follows:

polyDegree – Degree of Bernstein polynomials. Its inverse plays the role of bandwidth.

dataLen – Length of data arrays to be filtered by the filters built with this object. Must be larger than polyDegree.

useClosestPoly – Determines how data bins are mapped into integer polynomial degrees. If this argument is "true", normally the "closest" polynomial is used. If "false", each bin will use a combination of two or three closest polynomials.

In order to use the smallest possible number of bins with the given poly degree, set dataLen to polyDegree + 1. Also, set "useClosestPoly" parameters to "true".

Member Function Documentation

◆ centralWeightLength()

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

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

Implements npstat::AbsFilter1DBuilder.

◆ keepAllFilters()

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

Internal filters are all different

Implements npstat::AbsFilter1DBuilder.

◆ makeFilter()

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

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

Implements npstat::AbsFilter1DBuilder.

◆ polyDegree()

unsigned npstat::BernsteinFilter1DBuilder::polyDegree ( ) const
inline

Simple inspector of object properties


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