ldas-tools-filters  2.6.6
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
Filters::RectangularWindow Class Reference

A class representing a rectangular window. More...

#include <RectangularWindow.hh>

Inheritance diagram for Filters::RectangularWindow:
Filters::Window Filters::Window Filters::Window

Public Member Functions

virtual std::string name () const
 Return window name. More...
 
virtual double param () const
 Return window parameter. More...
 
virtual RectangularWindowClone () const
 Clone a window. More...
 
virtual std::string name () const
 Return window name. More...
 
virtual double param () const
 Return window parameter. More...
 
virtual RectangularWindowClone () const
 Clone a window. More...
 
virtual std::string name () const
 Return window name. More...
 
virtual double param () const
 Return window parameter. More...
 
virtual RectangularWindowClone () const
 Clone a window. More...
 
size_t size () const
 Return window length. More...
 
size_t size () const
 Return window length. More...
 
size_t size () const
 Return window length. More...
 
double mean () const
 Return mean value of window. More...
 
double mean () const
 Return mean value of window. More...
 
double mean () const
 Return mean value of window. More...
 
double rms () const
 Return RMS value of window. More...
 
double rms () const
 Return RMS value of window. More...
 
double rms () const
 Return RMS value of window. More...
 
void resize (const size_t n)
 Change the size of the window. More...
 
void resize (const size_t n)
 Change the size of the window. More...
 
void resize (const size_t n)
 Change the size of the window. More...
 
template<class T >
void apply (std::valarray< T > &x)
 Apply a window to the data in-place. More...
 
template<class TOut , class TIn >
void apply (std::valarray< TOut > &out, const std::valarray< TIn > &in)
 Apply a window to the data out-of-place. More...
 
template<class T >
void apply (std::valarray< T > &x)
 Apply a window to the data in-place. More...
 
template<class TOut , class TIn >
void apply (std::valarray< TOut > &out, const std::valarray< TIn > &in)
 Apply a window to the data out-of-place. More...
 
template<class T >
void apply (std::valarray< T > &x)
 Apply a window to the data in-place. More...
 
template<class TOut , class TIn >
void apply (std::valarray< TOut > &out, const std::valarray< TIn > &in)
 Apply a window to the data out-of-place. More...
 
template<class TOut , class TIn >
void operator() (std::valarray< TOut > &out, const std::valarray< TIn > &in)
 Synonym for apply. More...
 
template<class TOut , class TIn >
void operator() (std::valarray< TOut > &out, const std::valarray< TIn > &in)
 Synonym for apply. More...
 
template<class TOut , class TIn >
void operator() (std::valarray< TOut > &out, const std::valarray< TIn > &in)
 Synonym for apply. More...
 

Protected Member Functions

void populate ()
 Populate the elements of the window. More...
 
void populate ()
 Populate the elements of the window. More...
 
void populate ()
 Populate the elements of the window. More...
 

Private Member Functions

virtual double element (const size_t i) const
 Get the ith element of the window. More...
 
virtual double element (const size_t i) const
 Get the ith element of the window. More...
 
virtual double element (const size_t i) const
 Get the ith element of the window. More...
 
void multiply_by_window (std::valarray< float > &out)
 Multiply a sequence of floats by the window. More...
 
void multiply_by_window (std::valarray< double > &out)
 Multiply a sequence of doubles by the window. More...
 
void multiply_by_window (std::valarray< std::complex< float > > &out)
 Multiply a sequence of complex floats by the window. More...
 
void multiply_by_window (std::valarray< std::complex< double > > &out)
 Multiply a sequence of complex doubles by the window. More...
 
void multiply_by_window (std::valarray< float > &out)
 Multiply a sequence of floats by the window. More...
 
void multiply_by_window (std::valarray< double > &out)
 Multiply a sequence of doubles by the window. More...
 
void multiply_by_window (std::valarray< std::complex< float > > &out)
 Multiply a sequence of complex floats by the window. More...
 
void multiply_by_window (std::valarray< std::complex< double > > &out)
 Multiply a sequence of complex doubles by the window. More...
 
void multiply_by_window (std::valarray< float > &out)
 Multiply a sequence of floats by the window. More...
 
void multiply_by_window (std::valarray< double > &out)
 Multiply a sequence of doubles by the window. More...
 
void multiply_by_window (std::valarray< std::complex< float > > &out)
 Multiply a sequence of complex floats by the window. More...
 
void multiply_by_window (std::valarray< std::complex< double > > &out)
 Multiply a sequence of complex doubles by the window. More...
 

Private Attributes

std::valarray< float > m_f_window
 a sequence for holding a window of floats More...
 
std::valarray< double > m_d_window
 a sequence for holding a window of doubles More...
 
double m_mean
 mean value of window elements More...
 
double m_rms
 rms value of window elements More...
 
bool m_is_float
 true if window elements are floats More...
 

Detailed Description

A class representing a rectangular window.

Member Function Documentation

◆ apply() [1/6]

template<class T >
void Filters::Window::apply ( std::valarray< T > &  x)
inherited

Apply a window to the data in-place.

Parameters
[in,out]xinput/output sequence
Exceptions
std::length_errorthrown if desired window length is greater than maximum allowed value
std::bad_allocthrown if not able to allocate memory for window

◆ apply() [2/6]

template<class T >
void Filters::Window::apply ( std::valarray< T > &  x)
inherited

Apply a window to the data in-place.

Parameters
[in,out]xinput/output sequence
Exceptions
std::length_errorthrown if desired window length is greater than maximum allowed value
std::bad_allocthrown if not able to allocate memory for window

◆ apply() [3/6]

template<class T >
void Filters::Window::apply ( std::valarray< T > &  x)
inherited

Apply a window to the data in-place.

Parameters
[in,out]xinput/output sequence
Exceptions
std::length_errorthrown if desired window length is greater than maximum allowed value
std::bad_allocthrown if not able to allocate memory for window

◆ apply() [4/6]

template<class TOut , class TIn >
void Filters::Window::apply ( std::valarray< TOut > &  out,
const std::valarray< TIn > &  in 
)
inherited

Apply a window to the data out-of-place.

Parameters
[out]outwindowed sequence
[in]ininput sequence
Exceptions
std::length_errorthrown if desired window length is greater than maximum allowed value
std::bad_allocthrown if not able to allocate memory for window

◆ apply() [5/6]

template<class TOut , class TIn >
void Filters::Window::apply ( std::valarray< TOut > &  out,
const std::valarray< TIn > &  in 
)
inherited

Apply a window to the data out-of-place.

Parameters
[out]outwindowed sequence
[in]ininput sequence
Exceptions
std::length_errorthrown if desired window length is greater than maximum allowed value
std::bad_allocthrown if not able to allocate memory for window

◆ apply() [6/6]

template<class TOut , class TIn >
void Filters::Window::apply ( std::valarray< TOut > &  out,
const std::valarray< TIn > &  in 
)
inherited

Apply a window to the data out-of-place.

Parameters
[out]outwindowed sequence
[in]ininput sequence
Exceptions
std::length_errorthrown if desired window length is greater than maximum allowed value
std::bad_allocthrown if not able to allocate memory for window

◆ Clone() [1/3]

RectangularWindow * Filters::RectangularWindow::Clone ( ) const
virtual

Clone a window.

Returns
current window

Implements Filters::Window.

◆ Clone() [2/3]

virtual RectangularWindow* Filters::RectangularWindow::Clone ( ) const
virtual

Clone a window.

Returns
current window

Implements Filters::Window.

◆ Clone() [3/3]

virtual RectangularWindow* Filters::RectangularWindow::Clone ( ) const
virtual

Clone a window.

Returns
current window

Implements Filters::Window.

◆ element() [1/3]

double Filters::RectangularWindow::element ( const size_t  i) const
privatevirtual

Get the ith element of the window.

A rectangular window is defined by

w[i] = 1.0

for i = 0,1, ... n-1.

Parameters
[in]ielement at which the window is evaluated
Returns
the window element w[i]

Implements Filters::Window.

◆ element() [2/3]

virtual double Filters::RectangularWindow::element ( const size_t  i) const
privatevirtual

Get the ith element of the window.

A rectangular window is defined by

w[i] = 1.0

for i = 0,1, ... n-1.

Parameters
[in]ielement at which the window is evaluated
Returns
the window element w[i]

Implements Filters::Window.

◆ element() [3/3]

virtual double Filters::RectangularWindow::element ( const size_t  i) const
privatevirtual

Get the ith element of the window.

A rectangular window is defined by

w[i] = 1.0

for i = 0,1, ... n-1.

Parameters
[in]ielement at which the window is evaluated
Returns
the window element w[i]

Implements Filters::Window.

◆ mean() [1/3]

double Filters::Window::mean ( ) const
inlineinherited

Return mean value of window.

Returns
mean value of window elements

◆ mean() [2/3]

double Filters::Window::mean ( ) const
inherited

Return mean value of window.

Returns
mean value of window elements

◆ mean() [3/3]

double Filters::Window::mean ( ) const
inherited

Return mean value of window.

Returns
mean value of window elements

◆ multiply_by_window() [1/12]

void Filters::Window::multiply_by_window ( std::valarray< double > &  out)
privateinherited

Multiply a sequence of doubles by the window.

Parameters
[in,out]outinput (and output) sequence

◆ multiply_by_window() [2/12]

void Filters::Window::multiply_by_window ( std::valarray< double > &  out)
privateinherited

Multiply a sequence of doubles by the window.

Parameters
[in,out]outinput (and output) sequence

◆ multiply_by_window() [3/12]

void Filters::Window::multiply_by_window ( std::valarray< double > &  out)
privateinherited

Multiply a sequence of doubles by the window.

Parameters
[in,out]outinput (and output) sequence

◆ multiply_by_window() [4/12]

void Filters::Window::multiply_by_window ( std::valarray< float > &  out)
privateinherited

Multiply a sequence of floats by the window.

Parameters
[in,out]outinput (and output) sequence

◆ multiply_by_window() [5/12]

void Filters::Window::multiply_by_window ( std::valarray< float > &  out)
privateinherited

Multiply a sequence of floats by the window.

Parameters
[in,out]outinput (and output) sequence

◆ multiply_by_window() [6/12]

void Filters::Window::multiply_by_window ( std::valarray< float > &  out)
privateinherited

Multiply a sequence of floats by the window.

Parameters
[in,out]outinput (and output) sequence

◆ multiply_by_window() [7/12]

void Filters::Window::multiply_by_window ( std::valarray< std::complex< double > > &  out)
privateinherited

Multiply a sequence of complex doubles by the window.

Parameters
[in,out]outinput (and output) sequence

◆ multiply_by_window() [8/12]

void Filters::Window::multiply_by_window ( std::valarray< std::complex< double > > &  out)
privateinherited

Multiply a sequence of complex doubles by the window.

Parameters
[in,out]outinput (and output) sequence

◆ multiply_by_window() [9/12]

void Filters::Window::multiply_by_window ( std::valarray< std::complex< double > > &  out)
privateinherited

Multiply a sequence of complex doubles by the window.

Parameters
[in,out]outinput (and output) sequence

◆ multiply_by_window() [10/12]

void Filters::Window::multiply_by_window ( std::valarray< std::complex< float > > &  out)
privateinherited

Multiply a sequence of complex floats by the window.

Parameters
[in,out]input(and output) sequence

◆ multiply_by_window() [11/12]

void Filters::Window::multiply_by_window ( std::valarray< std::complex< float > > &  out)
privateinherited

Multiply a sequence of complex floats by the window.

Parameters
[in,out]input(and output) sequence

◆ multiply_by_window() [12/12]

void Filters::Window::multiply_by_window ( std::valarray< std::complex< float > > &  out)
privateinherited

Multiply a sequence of complex floats by the window.

Parameters
[in,out]input(and output) sequence

◆ name() [1/3]

std::string Filters::RectangularWindow::name ( ) const
virtual

Return window name.

Returns
window name

Implements Filters::Window.

◆ name() [2/3]

virtual std::string Filters::RectangularWindow::name ( ) const
virtual

Return window name.

Returns
window name

Implements Filters::Window.

◆ name() [3/3]

virtual std::string Filters::RectangularWindow::name ( ) const
virtual

Return window name.

Returns
window name

Implements Filters::Window.

◆ operator()() [1/3]

template<class TOut , class TIn >
void Filters::Window::operator() ( std::valarray< TOut > &  out,
const std::valarray< TIn > &  in 
)
inherited

Synonym for apply.

Parameters
[out]outwindowed sequence
[in]ininput sequence
Exceptions
std::length_errorthrown if desired window length is greater than maximum allowed value
std::bad_allocthrown if not able to allocate memory for window

◆ operator()() [2/3]

template<class TOut , class TIn >
void Filters::Window::operator() ( std::valarray< TOut > &  out,
const std::valarray< TIn > &  in 
)
inherited

Synonym for apply.

Parameters
[out]outwindowed sequence
[in]ininput sequence
Exceptions
std::length_errorthrown if desired window length is greater than maximum allowed value
std::bad_allocthrown if not able to allocate memory for window

◆ operator()() [3/3]

template<class TOut , class TIn >
void Filters::Window::operator() ( std::valarray< TOut > &  out,
const std::valarray< TIn > &  in 
)
inherited

Synonym for apply.

Parameters
[out]outwindowed sequence
[in]ininput sequence
Exceptions
std::length_errorthrown if desired window length is greater than maximum allowed value
std::bad_allocthrown if not able to allocate memory for window

◆ param() [1/3]

double Filters::RectangularWindow::param ( ) const
virtual

Return window parameter.

Returns
window parameter

Implements Filters::Window.

◆ param() [2/3]

virtual double Filters::RectangularWindow::param ( ) const
virtual

Return window parameter.

Returns
window parameter

Implements Filters::Window.

◆ param() [3/3]

virtual double Filters::RectangularWindow::param ( ) const
virtual

Return window parameter.

Returns
window parameter

Implements Filters::Window.

◆ populate() [1/3]

void Filters::Window::populate ( )
protectedinherited

Populate the elements of the window.

This function will usually need to be called by a derived class whenever the the window is changed in any way which affects the element() function, such as when some window parameter is altered.

◆ populate() [2/3]

void Filters::Window::populate ( )
protectedinherited

Populate the elements of the window.

This function will usually need to be called by a derived class whenever the the window is changed in any way which affects the element() function, such as when some window parameter is altered.

◆ populate() [3/3]

void Filters::Window::populate ( )
protectedinherited

Populate the elements of the window.

This function will usually need to be called by a derived class whenever the the window is changed in any way which affects the element() function, such as when some window parameter is altered.

◆ resize() [1/3]

void Filters::Window::resize ( const size_t  n)
inherited

Change the size of the window.

Parameters
[in]ndesired length of window
Exceptions
std::length_errorthrown if desired window length is greater than maximum allowed value
std::bad_allocthrown if not able to allocate memory for the window

◆ resize() [2/3]

void Filters::Window::resize ( const size_t  n)
inherited

Change the size of the window.

Parameters
[in]ndesired length of window
Exceptions
std::length_errorthrown if desired window length is greater than maximum allowed value
std::bad_allocthrown if not able to allocate memory for the window

◆ resize() [3/3]

void Filters::Window::resize ( const size_t  n)
inherited

Change the size of the window.

Parameters
[in]ndesired length of window
Exceptions
std::length_errorthrown if desired window length is greater than maximum allowed value
std::bad_allocthrown if not able to allocate memory for the window

◆ rms() [1/3]

double Filters::Window::rms ( ) const
inlineinherited

Return RMS value of window.

Returns
root mean square value of window elements

◆ rms() [2/3]

double Filters::Window::rms ( ) const
inherited

Return RMS value of window.

Returns
root mean square value of window elements

◆ rms() [3/3]

double Filters::Window::rms ( ) const
inherited

Return RMS value of window.

Returns
root mean square value of window elements

◆ size() [1/3]

size_t Filters::Window::size ( ) const
inlineinherited

Return window length.

Returns
length of window

◆ size() [2/3]

size_t Filters::Window::size ( ) const
inherited

Return window length.

Returns
length of window

◆ size() [3/3]

size_t Filters::Window::size ( ) const
inherited

Return window length.

Returns
length of window

Member Data Documentation

◆ m_d_window

std::valarray< double > Filters::Window::m_d_window
privateinherited

a sequence for holding a window of doubles

◆ m_f_window

std::valarray< float > Filters::Window::m_f_window
privateinherited

a sequence for holding a window of floats

◆ m_is_float

bool Filters::Window::m_is_float
privateinherited

true if window elements are floats

◆ m_mean

double Filters::Window::m_mean
privateinherited

mean value of window elements

◆ m_rms

double Filters::Window::m_rms
privateinherited

rms value of window elements


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