Page MenuHomec4science

surface_generator_filter.hh
No OneTemporary

File Metadata

Created
Fri, Jun 21, 12:37

surface_generator_filter.hh

#ifndef SURFACE_GENERATOR_FILTER_H
#define SURFACE_GENERATOR_FILTER_H
/* -------------------------------------------------------------------------- */
#include "surface_generator.hh"
/* -------------------------------------------------------------------------- */
class SurfaceGeneratorFilter : public virtual SurfaceGenerator {
/* ------------------------------------------------------------------------ */
/* Constructors/Destructors */
/* ------------------------------------------------------------------------ */
public:
//! constructor : takes a config file as input
SurfaceGeneratorFilter(const std::string & inputfile);
//! default constructor
SurfaceGeneratorFilter();
//! destructor
~SurfaceGeneratorFilter();
/* ------------------------------------------------------------------------ */
/* Methods */
/* ------------------------------------------------------------------------ */
Surface<Real> & buildSurface();
void Init();
//! clear the random surface
void clearSource();
protected:
virtual void computeFilterCoefficients()=0;
void applyFilterOnSource();
void generateWhiteNoiseFFT();
void generateHFFT();
/* ------------------------------------------------------------------------ */
/* Class Members */
/* ------------------------------------------------------------------------ */
protected:
//! filter coefficients
Surface<Real> * h_coeff;
//! white noise
Surface<Real> * sources;
//! cutofffrequency
Real alpha;
SurfaceComplex<Real> * surface_spectral;
SurfaceComplex<Real> * white_noise_FFT;
SurfaceComplex<Real> * h_coeff_power;
};
#endif

Event Timeline