SciDAVis  1.D4
Public Types | Public Member Functions | Private Member Functions | Private Attributes
FFTFilter Class Reference

#include <FFTFilter.h>

Inheritance diagram for FFTFilter:
Filter

List of all members.

Public Types

enum  FilterType { LowPass = 1, HighPass = 2, BandPass = 3, BandBlock = 4 }

Public Member Functions

void enableOffset (bool offset=true)
 Enables/Disables the DC offset when applying a Band Pass/Band block filter.
 FFTFilter (ApplicationWindow *parent, Graph *g, const QString &curveTitle, int m=1)
 FFTFilter (ApplicationWindow *parent, Graph *g, const QString &curveTitle, double start, double end, int m=1)
void setBand (double lowFreq, double highFreq)
 Sets the cutoff frequencies. To be used only for the Band Pass and Band block filters.
void setCutoff (double f)
 Sets the cutoff frequency. To be used only for Low Pass and High Pass filters.
void setFilterType (int type)
void setFilterType (FilterType type)
- Public Member Functions inherited from Filter
int dataSize ()
 Returns the size of the fitted data set.
bool error ()
 Filter (ApplicationWindow *parent, Table *t=0, const char *name=0)
 Filter (ApplicationWindow *parent, Graph *g=0, const char *name=0)
virtual QString legendInfo ()
 Output string added to the plot as a new legend.
virtual bool run ()
 Actually does the job. Should be reimplemented in derived classes.
void setColor (int colorId)
 Sets the color of the output fit curve.
void setColor (const QString &colorName)
 Sets the color of the output fit curve. Provided for convenience. To be used in scripts only!
virtual void setDataCurve (int curve, double start, double end)
bool setDataFromCurve (const QString &curveTitle, Graph *g=0)
bool setDataFromCurve (const QString &curveTitle, double from, double to, Graph *g=0)
void setInterval (double from, double to)
 Changes the data range if the source curve was already assigned. Provided for convenience.
void setMaximumIterations (int iter)
 Sets the maximum number of iterations to be performed during an iterative session.
void setOutputPoints (int points)
 Sets the number of points in the output curve.
void setOutputPrecision (int digits)
 Sets the precision used for the output.
void setTolerance (double eps)
 Sets the tolerance used by the GSL routines.
virtual void showLegend ()
 Adds a new legend to the plot. Calls virtual legendInfo()
 ~Filter ()

Private Member Functions

void calculateOutputData (double *x, double *y)
 Calculates the data for the output curve and store it in the X an Y vectors.
void init (int m)

Private Attributes

FilterType d_filter_type
 The filter type.
double d_high_freq
 Upper edge of the band for Band Pass and Band block filters.
double d_low_freq
 Cutoff frequency for Low Pass and High Pass filters. Lower edge of the band for Band Pass and Band block filters.
bool d_offset
 Flag telling if the DC offset must be added/substracted when applying a Band Pass/Band block filter respectively.

Additional Inherited Members

- Protected Member Functions inherited from Filter
QwtPlotCurve * addResultCurve (double *x, double *y)
 Adds the result curve to the target output plot window. Creates a hidden table and frees the input data from memory.
int curveIndex (const QString &curveTitle, Graph *g)
 Performs checks and returns the index of the source data curve if OK, -1 otherwise.
virtual bool isDataAcceptable ()
virtual QString logInfo ()
 Output string added to the log pannel of the application.
virtual void output ()
 Performs the data analysis and takes care of the output.
- Protected Attributes inherited from Filter
QwtPlotCurve * d_curve
 The curve to be analysed.
int d_curveColorIndex
 Color index of the result curve.
QString d_explanation
 String explaining the operation in the comment of the result table and in the project explorer.
double d_from
 Data interval.
Graphd_graph
 The graph where the result curve should be displayed.
bool d_init_err
 Error flag telling if something went wrong during the initialization phase.
int d_max_iterations
 Maximum number of iterations per fit.
int d_min_points
 Minimum number of data points necessary to perform the operation.
int d_n
 Size of the data arrays.
int d_points
 Number of result points to de calculated and displayed in the output curve.
int d_prec
 Precision (number of significant digits) used for the results output.
bool d_sort_data
 Specifies if the filter needs sorted data as input.
Tabled_table
 A table source of data.
double d_to
double d_tolerance
 GSL Tolerance, if ever needed...
double * d_x
 x data set to be analysed
double * d_y
 y data set to be analysed

Member Enumeration Documentation

Enumerator:
LowPass 
HighPass 
BandPass 
BandBlock 

Constructor & Destructor Documentation

FFTFilter::FFTFilter ( ApplicationWindow parent,
Graph g,
const QString &  curveTitle,
int  m = 1 
)
FFTFilter::FFTFilter ( ApplicationWindow parent,
Graph g,
const QString &  curveTitle,
double  start,
double  end,
int  m = 1 
)

Member Function Documentation

void FFTFilter::calculateOutputData ( double *  X,
double *  Y 
)
privatevirtual

Calculates the data for the output curve and store it in the X an Y vectors.

Reimplemented from Filter.

References Filter::d_explanation, d_filter_type, d_high_freq, d_low_freq, Filter::d_n, d_offset, Filter::d_points, Filter::d_x, and Filter::d_y.

void FFTFilter::enableOffset ( bool  offset = true)
inline

Enables/Disables the DC offset when applying a Band Pass/Band block filter.

References d_offset.

Referenced by FilterDialog::filter().

void FFTFilter::init ( int  m)
private
void FFTFilter::setBand ( double  lowFreq,
double  highFreq 
)

Sets the cutoff frequencies. To be used only for the Band Pass and Band block filters.

References d_filter_type, d_high_freq, Filter::d_init_err, and d_low_freq.

Referenced by FilterDialog::filter().

void FFTFilter::setCutoff ( double  f)

Sets the cutoff frequency. To be used only for Low Pass and High Pass filters.

References d_filter_type, and d_low_freq.

Referenced by FilterDialog::filter().

void FFTFilter::setFilterType ( int  type)

References d_filter_type, and Filter::d_init_err.

Referenced by init().

void FFTFilter::setFilterType ( FilterType  type)
inline

References setFilterType().

Referenced by setFilterType().


Member Data Documentation

FilterType FFTFilter::d_filter_type
private

The filter type.

Referenced by calculateOutputData(), setBand(), setCutoff(), and setFilterType().

double FFTFilter::d_high_freq
private

Upper edge of the band for Band Pass and Band block filters.

Referenced by calculateOutputData(), init(), and setBand().

double FFTFilter::d_low_freq
private

Cutoff frequency for Low Pass and High Pass filters. Lower edge of the band for Band Pass and Band block filters.

Referenced by calculateOutputData(), init(), setBand(), and setCutoff().

bool FFTFilter::d_offset
private

Flag telling if the DC offset must be added/substracted when applying a Band Pass/Band block filter respectively.

Referenced by calculateOutputData(), enableOffset(), and init().


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