Diana Software
QFir.hh
Go to the documentation of this file.
1 #ifndef _Q_FIR_HH_
2 #define _Q_FIR_HH_
3 
4 #include "QVector.hh"
5 #include "QObject.hh"
6 #include "QCFirData.hh"
7 #include <vector>
8 
17 class QFir : public Diana::QObject {
18  public:
19  QFir() { Clear(); }
20  QFir(const QCFirData& conf);
21  void Clear();
22 
23  const QCFirData& GetConfiguration() const { return fConfiguration;}
24  QError Filter(const Diana::QVector& input, Diana::QVector& output) const;
25  size_t GetFilterReduction() const {return fFilterReduction;}
26  size_t GetFilteredSize() const {return fFilteredSize;}
27  double GetRiseTime() const {return fRiseTime; }
28  double GetDelay() const {return fDelay; }
29 
30 
31  private:
32  void KayserBesselAlgorithm();
33  double Ino(double x);
34 
36  std::vector<double> fCoefficients;
37  size_t fFilteredSize;
39  double fRiseTime;
40  double fDelay;
41 
43 };
44 
45 #endif
Data class for QFir (Ported from Calder)
Definition: QCFirData.hh:14
error class with error type and description
Definition: QError.hh:115
QFir FIR low pass filter (Ported from Calder)
Definition: QFir.hh:17
QObjectDef(QFir, 1)
size_t fFilteredSize
Definition: QFir.hh:37
void KayserBesselAlgorithm()
Definition: QFir.cc:86
QFir()
Definition: QFir.hh:19
double Ino(double x)
QError Filter(const Diana::QVector &input, Diana::QVector &output) const
Definition: QFir.cc:63
size_t fFilterReduction
Definition: QFir.hh:38
size_t GetFilterReduction() const
Definition: QFir.hh:25
QCFirData fConfiguration
Definition: QFir.hh:35
void Clear()
Definition: QFir.cc:52
const QCFirData & GetConfiguration() const
Definition: QFir.hh:23
std::vector< double > fCoefficients
Definition: QFir.hh:36
double fRiseTime
Definition: QFir.hh:39
double GetRiseTime() const
Definition: QFir.hh:27
double GetDelay() const
Definition: QFir.hh:28
size_t GetFilteredSize() const
Definition: QFir.hh:26
double fDelay
Definition: QFir.hh:40