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 TDSPWIENERPROCESS_H 00019 #define TDSPWIENERPROCESS_H 00020 00021 #include "TDSPOutput1.h" 00022 00027 class TDSPWienerProcess : public TDSPOutput1 { 00028 protected: 00029 Double_t fVariance; // the Variance 00030 Double_t fBurstlen; // 00031 Double_t fBurstOff; // 00032 Double_t fPhase; // Start Phase 00033 00034 public: 00035 TDSPWienerProcess(char *name=NULL); 00036 ~TDSPWienerProcess(); 00037 00038 00039 static TDSPVector* MultRandPhase(TDSPVector* input, 00040 Double_t B=1, 00041 Double_t burstlen=0, 00042 Double_t burstoff=0, 00043 Double_t Phase=0, 00044 TDSPVector* output = NULL 00045 ); // init with rand. wiener phase noise mult. on an input v 00046 00047 virtual TDSPVector* Apply(TDSPVector* input, TDSPVector *output=NULL); 00048 virtual TDSPSignal* Update(TDSPSignal* input); 00049 00050 void SetVariance(Double_t v) { fVariance=v;}; 00051 Double_t GetVariance() const {return fVariance;}; 00052 void SetBurstLen(Double_t r) { fBurstlen=r;}; 00053 Double_t GetBurstLen() const { return fBurstlen;}; 00054 00055 void SetPhase(Double_t p) { fPhase=p;}; 00056 Double_t GetPhase() const { return fPhase;}; 00057 00058 void SetBurstOffset(Double_t o) {fBurstOff=o;}; 00059 Double_t GetBurstOffset() const { return fBurstOff;}; 00060 00061 ClassDef(TDSPWienerProcess,1) 00062 00063 }; 00064 00065 #endif
1.3.2