npstat is hosted by Hepforge, IPPP Durham
NPStat  5.10.0
npstat::AbsBoundaryFilter1DBuilder Class Referenceabstract

#include <AbsFilter1DBuilder.hh>

Inheritance diagram for npstat::AbsBoundaryFilter1DBuilder:
npstat::OrthoPolyFilter1DBuilder npstat::AbsFilter1DBuilder npstat::ConstBwFilter1DBuilder npstat::ConstSqFilter1DBuilder npstat::ConstVarFilter1DBuilder npstat::FoldingFilter1DBuilder npstat::StretchingFilter1DBuilder npstat::TruncatingFilter1DBuilder npstat::FoldBwFilter1DBuilder npstat::FoldingSqFilter1DBuilder npstat::FoldingVarFilter1DBuilder

Public Member Functions

 AbsBoundaryFilter1DBuilder (const AbsDistribution1D *distro, double centralStepSize, const unsigned char *exclusionMask=0, unsigned exclusionMaskLen=0, bool excludeCentralPoint=false)
 
virtual unsigned centralWeightLength () const
 
virtual bool keepAllFilters () const
 
virtual OrthoPoly1DmakeOrthoPoly (unsigned maxDegree, unsigned binnum, unsigned datalen, unsigned *filterCenter) const
 
virtual bool isFolding () const =0
 
virtual double lastBandwidthFactor () const
 
- Public Member Functions inherited from npstat::OrthoPolyFilter1DBuilder
virtual PolyFilter1DmakeFilter (const double *taper, unsigned maxDegree, unsigned binnum, unsigned datalen) const
 

Protected Member Functions

void scanTheDensity (const AbsDistribution1D *distro, double h, int datalen, int weightCenterPos, double stepSize, double *workbuf, unsigned *firstWeightUsed=0, unsigned *sizeNeeded=0) const
 

Friends

class Fnc
 

Detailed Description

Abstract base clase for adjusting the weight function bandwidth near the boundaries by keeping the value of a certain criterion constant. Usually, this criterion is some kind of a functional (e.g., the standard deviation of the weight function) which can be changed by increasing the bandwidth.

Constructor & Destructor Documentation

◆ AbsBoundaryFilter1DBuilder()

npstat::AbsBoundaryFilter1DBuilder::AbsBoundaryFilter1DBuilder ( const AbsDistribution1D distro,
double  centralStepSize,
const unsigned char *  exclusionMask = 0,
unsigned  exclusionMaskLen = 0,
bool  excludeCentralPoint = false 
)

This class will not own the AbsDistribution1D object. It is the responsibility of the user of this class to make sure that the AbsDistribution1D object stays alive while this object is in use.

It will be assumed that the distribution is symmetric about x = 0.0.

Member Function Documentation

◆ centralWeightLength()

virtual unsigned npstat::AbsBoundaryFilter1DBuilder::centralWeightLength ( ) const
inlinevirtual

Length of the filter constructed at a point deeply inside the density support region

Implements npstat::AbsFilter1DBuilder.

◆ isFolding()

virtual bool npstat::AbsBoundaryFilter1DBuilder::isFolding ( ) const
pure virtual

◆ keepAllFilters()

virtual bool npstat::AbsBoundaryFilter1DBuilder::keepAllFilters ( ) const
inlinevirtual

Should we keep all filters or can we assume that filters deeply inside the density support region are identical?

Implements npstat::AbsFilter1DBuilder.

◆ lastBandwidthFactor()

virtual double npstat::AbsBoundaryFilter1DBuilder::lastBandwidthFactor ( ) const
inlinevirtual

"lastBandwidthFactor" will be meaningfully defined after calling the "makeOrthoPoly" method

Reimplemented from npstat::AbsFilter1DBuilder.

◆ makeOrthoPoly()

virtual OrthoPoly1D* npstat::AbsBoundaryFilter1DBuilder::makeOrthoPoly ( unsigned  maxDegree,
unsigned  binnum,
unsigned  datalen,
unsigned *  filterCenter 
) const
virtual

Build the orthogonal polynomial system that can later be used to construct filters with different tapers. This is constructed on the heap and later must be deleted.

Implements npstat::OrthoPolyFilter1DBuilder.


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