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

TDSPStochasticScalar Class Reference

#include <TDSPStatistics.h>

Inheritance diagram for TDSPStochasticScalar:

TDSPStochasticProcess TDSPRating

Public Member Functions

 TDSPStochasticScalar ()
virtual ~TDSPStochasticScalar ()
void SetMode (eStochasticType mode)
TComplexValue ()
virtual void ChangeRepresentation ()
 (means)/offsets of Stochastic Signals(additiv) / or the filter input

void SetFifoFilter (TDSPFifoFilter *f)
TDSPFifoFilterGetFifoFilter () const
virtual void PrepareRate (Double_t rate)
virtual void Reset ()

Protected Attributes

TComplex fValue
TDSPFifoFilterfFifoFilter

Constructor & Destructor Documentation

TDSPStochasticScalar::TDSPStochasticScalar  ) 
 

virtual TDSPStochasticScalar::~TDSPStochasticScalar  )  [virtual]
 


Member Function Documentation

void TDSPStochasticScalar::ChangeRepresentation  )  [inline, virtual]
 

(means)/offsets of Stochastic Signals(additiv) / or the filter input

Reimplemented from TDSPStochasticProcess.

Definition at line 170 of file TDSPStatistics.h.

References Abs(), fFifoFilter, TDSPFifoFilter::filter(), TComplex::fIm, TDSPStochasticProcess::fMeans, TDSPStochasticProcess::fMode, TComplex::fRe, TDSPStochasticProcess::fSigmas, fValue, kFilterGauss, kFilterRayleigh, kGauss, kNoChange, and kRayleigh.

00170                                                         {
00171   
00172   switch(fMode) {
00173     
00174   case kNoChange:
00175     fValue = 1;
00176     break;
00177     
00178   case kGauss:
00179     fValue = TComplex(gRandom->Gaus(fMeans->fRe,fSigmas->fRe), gRandom->Gaus(fMeans->fIm,fSigmas->fIm));
00180     break;
00181 
00182   case kRayleigh:  // No Phase Change (=Coherent Detection is possible)
00183     fValue = Abs(TComplex(gRandom->Gaus(fMeans->fRe,fSigmas->fRe), gRandom->Gaus(fMeans->fIm,fSigmas->fIm)));
00184     break;
00185 
00186   case kFilterGauss:
00187     if (fFifoFilter) {
00188       fValue = TComplex(gRandom->Gaus(fMeans->fRe,fSigmas->fRe), 
00189             gRandom->Gaus(fMeans->fIm,fSigmas->fIm));
00190       fValue = fFifoFilter->filter(fValue);
00191     } else {
00192       Error("ChangeRepresentation","No FifoFilter set !!");
00193       fValue=0;
00194     }
00195     break;
00196 
00197   case kFilterRayleigh:
00198     if (fFifoFilter) {
00199       fValue = TComplex(gRandom->Gaus(fMeans->fRe,fSigmas->fRe), 
00200             gRandom->Gaus(fMeans->fIm,fSigmas->fIm));
00201       fValue = Abs(fFifoFilter->filter(fValue));
00202     } else {
00203       Error("ChangeRepresentation","No FifoFilter set !!");
00204       fValue=0;
00205     }
00206     break;
00207     
00208   default:
00209     Error("ChangeRepresentation","Unknown Stochastic Model!");
00210     fValue = TComplex(0,0);
00211     break;
00212 
00213   }
00214 
00215 }

TDSPFifoFilter* TDSPStochasticScalar::GetFifoFilter  )  const [inline]
 

Definition at line 119 of file TDSPStatistics.h.

References fFifoFilter.

00119 { return fFifoFilter; };

void TDSPStochasticScalar::PrepareRate Double_t  rate  )  [inline, virtual]
 

Reimplemented from TDSPRating.

Definition at line 152 of file TDSPStatistics.h.

References fFifoFilter, TDSPStochasticProcess::fMode, TDSPFifoFilter::GetRate(), kFilterGauss, kFilterRayleigh, and TDSPRating::PrepareRate().

00152                                                            {
00153   
00154     switch(fMode) {
00155   case kFilterGauss:
00156   case kFilterRayleigh:
00157     // Syncronize the required rate with the rate of the Filter
00158     //
00159     TDSPStochasticProcess::PrepareRate(rate*fFifoFilter->GetRate());
00160     
00161     break;
00162   default:
00163     TDSPStochasticProcess::PrepareRate(rate);
00164     break;
00165   }
00166 }

virtual void TDSPStochasticScalar::Reset  )  [virtual]
 

Implements TDSPStochasticProcess.

void TDSPStochasticScalar::SetFifoFilter TDSPFifoFilter f  )  [inline]
 

Definition at line 118 of file TDSPStatistics.h.

References fFifoFilter.

00118 { fFifoFilter = f;};

void TDSPStochasticScalar::SetMode eStochasticType  mode  ) 
 

Reimplemented from TDSPStochasticProcess.

TComplex& TDSPStochasticScalar::Value  )  [inline]
 

Definition at line 115 of file TDSPStatistics.h.

References fValue.

00115 { return fValue; };


Field Documentation

TDSPFifoFilter* TDSPStochasticScalar::fFifoFilter [protected]
 

Definition at line 106 of file TDSPStatistics.h.

Referenced by ChangeRepresentation(), GetFifoFilter(), PrepareRate(), and SetFifoFilter().

TComplex TDSPStochasticScalar::fValue [protected]
 

Definition at line 105 of file TDSPStatistics.h.

Referenced by ChangeRepresentation(), and Value().


The documentation for this class was generated from the following file:
Generated on Fri Apr 23 16:24:11 2004 by doxygen 1.3.2