Main Page | Class Hierarchy | Alphabetical List | Data Structures | File List | Data Fields | Globals

TDSPFifoFilter.h

Go to the documentation of this file.
00001 
00009 /***************************************************************************
00010  *                                                                         *
00011  *   This program is free software; you can redistribute it and/or modify  *
00012  *   it under the terms of the GNU General Public License as published by  *
00013  *   the Free Software Foundation; either version 2 of the License, or     *
00014  *   (at your option) any later version.                                   *
00015  *                                                                         *
00016  ***************************************************************************/
00017 
00018 #ifndef TDSPFIFOFILTER_H
00019 #define TDSPFIFOFILTER_H
00020 
00021 #include <TDSPFilter.h>
00022 #include <TDSPFifo.h>
00023 
00029 class TDSPFifoFilter  {
00030 
00031 
00032  protected:
00033 
00034   TDSPFilter *fFilter;
00035 
00036   TDSPFifo *fInput;
00037   TDSPFifo *fOutput;
00038   
00039  public: 
00040 
00041 
00042   
00043   TDSPFifoFilter();
00044   virtual ~TDSPFifoFilter();
00045 
00046   TDSPFifo *GetInputFifo() { return fInput; };
00047   TDSPFifo *GetOutputFifo() { return fOutput; };
00048 
00049   void         SetFilter(TDSPFilter*);
00050   TDSPFilter*  GetFilter() const { return fFilter;};
00051   virtual void Reset();
00052   TComplex     filter(TComplex  input);
00053 
00054   Double_t     GetRate() { return fFilter->GetRate(); };
00055  
00056   ClassDef(TDSPFifoFilter,1)
00057   
00058 };
00059 
00060 inline TComplex TDSPFifoFilter::filter(const TComplex  input) {
00061   TComplex value;
00062   fInput->Shift(input);
00063   fOutput->Shift(value = fFilter->filter(fInput,fOutput));
00064   return value;
00065 }
00066 
00067 
00068 #endif

Generated on Fri Apr 23 16:23:43 2004 by doxygen 1.3.2