X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=include%2Ffilter.h;h=2dd5ed5f074d7dee0fb9572cd84125747c9cf325;hb=95ce0c0260ab6fe237103bcbe2a8bdfae3c83d25;hp=ca6e67b0314e405d91bbfbf8711bd2353a37f78e;hpb=dc034c9d0b7d9c3874a324a4c2c189a02945adc8;p=ctsim.git diff --git a/include/filter.h b/include/filter.h index ca6e67b..2dd5ed5 100644 --- a/include/filter.h +++ b/include/filter.h @@ -7,9 +7,9 @@ ** Date Started: June 2000 ** ** This is part of the CTSim program -** Copyright (C) 1983-2000 Kevin Rosenberg +** Copyright (c) 1983-2001 Kevin Rosenberg ** -** $Id: filter.h,v 1.22 2000/12/16 06:12:47 kevin Exp $ +** $Id: filter.h,v 1.25 2001/02/11 04:56:37 kevin Exp $ ** ** This program is free software; you can redistribute it and/or modify ** it under the terms of the GNU General Public License (version 2) as @@ -103,6 +103,8 @@ class SignalFilter { static void setNumIntegral(int nIntegral) {N_INTEGRAL = nIntegral;} static const int getFilterCount() {return s_iFilterCount;} + static const int getReconstructFilterCount() { return s_iReconstructFilterCount; } + static const char** getFilterNameArray() {return s_aszFilterName;} static const char** getFilterTitleArray() {return s_aszFilterTitle;} static int convertFilterNameToID (const char* const filterName); @@ -116,6 +118,12 @@ class SignalFilter { static const char* convertDomainIDToName (const int idDomain); static const char* convertDomainIDToTitle (const int idDomain); + static double sinc (double x) + { return (fabs(x) > F_EPSILON ? (sin (x) / x) : 1.0); } + + static double sinc (double x, double mult) + { return (fabs(x) > F_EPSILON ? (sin (x * mult) / x) : 1.0); } + private: int m_nFilterPoints; double m_dBandwidth; @@ -136,6 +144,7 @@ class SignalFilter { static const char* s_aszFilterName[]; static const char* s_aszFilterTitle[]; static const int s_iFilterCount; + static const int s_iReconstructFilterCount; static const char* s_aszDomainName[]; static const char* s_aszDomainTitle[]; static const int s_iDomainCount; @@ -152,8 +161,6 @@ class SignalFilter { double spatialResponseAnalytic (double x) const; double frequencyResponse (double u) const; - static double sinc (double x, double mult) - { return (fabs(x) > F_EPSILON ? (sin (x * mult) / x) : 1.0); } static double integral_abscos (double u, double w) { return (fabs (u) > F_EPSILON ? (cos (u * w) - 1) / (u * u) + w / u * sin (u * w) : (w * w / 2)); } };