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

Public Member Functions

 LOrPE1DSymbetaKernel (int symbetaPower, double filterDegree, double leftBoundary, double rightBoundary, const BoundaryHandling &bh, bool memoizeBoundaryPolys=false)
 
 LOrPE1DSymbetaKernel (const LOrPE1DSymbetaKernel &r)
 
LOrPE1DSymbetaKerneloperator= (const LOrPE1DSymbetaKernel &r)
 
double filterDegree () const
 
double leftBoundary () const
 
double rightBoundary () const
 
bool isMemoizing () const
 
void memoize (const bool b)
 
void clearMemoizedInfo ()
 
bool isBoundaryCorrectionNeeded (double x, double bandwidth) const
 
std::shared_ptr< AbsClassicalOrthoPoly1DbuildBoundaryPoly (const double x, const double bandwidth) const
 
void setNormFactor (double normfactor)
 
double normFactor () const
 
template<typename Numeric >
double lorpe (double x, double bandwidth, const Numeric *coords, unsigned long nCoords, bool coordinatesSorted=false) const
 
double getLastKernelAt0 () const
 
bool usedBoundaryCorrection () const
 
bool operator== (const LOrPE1DSymbetaKernel &r) const
 
bool operator!= (const LOrPE1DSymbetaKernel &r) const
 

Member Function Documentation

◆ buildBoundaryPoly()

std::shared_ptr<AbsClassicalOrthoPoly1D> npstat::LOrPE1DSymbetaKernel::buildBoundaryPoly ( const double  x,
const double  bandwidth 
) const
inline

Build boundary corrected polynomial system for this combination of x and bandwidth. The code will throw an exception if a boundary correction is not needed.

◆ getLastKernelAt0()

double npstat::LOrPE1DSymbetaKernel::getLastKernelAt0 ( ) const

This function is not applying any weight. This function will throw an exception if no calls to "lorpe" method have been made of if a previous call to "lorpe" threw an exception.

◆ isBoundaryCorrectionNeeded()

bool npstat::LOrPE1DSymbetaKernel::isBoundaryCorrectionNeeded ( double  x,
double  bandwidth 
) const

Check if we need a boundary correction for this particular combination of x and bandwidth

◆ lorpe()

template<typename Numeric >
double npstat::LOrPE1DSymbetaKernel::lorpe ( double  x,
double  bandwidth,
const Numeric *  coords,
unsigned long  nCoords,
bool  coordinatesSorted = false 
) const

"Numeric" can be a pair. In this case the first element of the pair must be the coordinate and the second element must be the weight. The weights must be non-negative.

◆ setNormFactor()

void npstat::LOrPE1DSymbetaKernel::setNormFactor ( double  normfactor)

Normalization factor should typically be close to 1/(sum of point weights).

◆ usedBoundaryCorrection()

bool npstat::LOrPE1DSymbetaKernel::usedBoundaryCorrection ( ) const

Did we use boundary correction during the last "lorpe" call? This function will throw an exception if no calls to "lorpe" method have been made of if a previous call to "lorpe" threw an exception.


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