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

TDSPBlockSolve.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 TDSPBLOCKSOLVE_H
00019 #define TDSPBLOCKSOLVE_H
00020 
00021 #include <TDSPBlockOperation.h>
00022 #include <TDSPOutput1.h>
00023 #include <TDSPSolver.h>
00024 
00030 class TDSPBlockSolve : public TDSPOutput1, public TDSPBlockOperation  {
00031   TDSPSolver* fSolver;
00032  public: 
00033   TDSPBlockSolve(char *name = NULL);
00034   ~TDSPBlockSolve();
00035 
00036   virtual Int_t GetBlockLen();
00037   virtual void  Print();
00038 
00039   TDSPSolver* GetSolver() const { return fSolver;};
00040   void        SetSolver(TDSPSolver*s) { fSolver = s;};
00041 
00042   TDSPSignal* Solve(TDSPSignal*);
00043   TDSPSignal* Update(TDSPSignal*);
00044 
00045   ClassDef(TDSPBlockSolve,1)
00046 
00047 };
00048 
00049 
00050 inline TDSPSignal* TDSPBlockSolve::Update(TDSPSignal *input) {
00051   Solve(input);
00052   Emit(Signal_NewData,fSignal);
00053   return fSignal;
00054 }
00055 
00056 inline Int_t TDSPBlockSolve::GetBlockLen() {
00057   if (fSolver) {
00058     return fSolver->GetNumOutputs();
00059   } 
00060 
00061   Error("GetBlockLen","No solver given !!");
00062   return 0;
00063 }
00064 #endif

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