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 TDSPSIGNALSTUDY_H 00019 #define TDSPSIGNALSTUDY_H 00020 00021 #include <TDSPOutput1.h> 00022 #include <TDSPBlockOperation.h> 00023 00029 class TDSPSignalStudy : public TDSPOutput1, public TDSPBlockOperation { 00030 00031 private: 00032 00033 UInt_t fWhat; // What to do ? 00034 00035 Int_t fBlockLen; 00036 00037 // Settings for Crestfactor 00038 00039 TDSPVector *fMean; 00040 TDSPVector *fMaxAbs; 00041 TDSPVector *fCrest; 00042 00043 00044 00045 public: 00046 00047 TDSPSignalStudy(char *name = NULL); 00048 ~TDSPSignalStudy(); 00049 00050 // The Analyse 00051 virtual void Analyse(TDSPSignal* input); 00052 00053 // Settings 00054 00055 Int_t GetBlockLen() {return fBlockLen; }; 00056 void SetBlockLen(Int_t bl) { fBlockLen=bl;}; 00057 00058 void EnableCrestFactor() { fWhat|=0x1;}; 00059 void DisableCrestFactor() { fWhat &= !0x1; }; 00060 Bool_t IsCrestFactor() {return fWhat&0x1;}; 00061 TDSPVector* GetMean() const { return fMean;}; 00062 TDSPVector* GetMaxAbs() const { return fMaxAbs;}; 00063 TDSPVector* GetCrestFactor() const { return fCrest;}; 00064 00065 // The Slot - analyse and pipe the input signal through 00066 00067 TDSPSignal* Update(TDSPSignal *input) { 00068 Analyse(input); 00069 Emit(Slot_Update,input); 00070 return input; 00071 } 00072 00073 ClassDef(TDSPSignalStudy,1) 00074 00075 }; 00076 00077 #endif
1.3.2