Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members | File Members

clCorrDipole Class Reference

Correlator class for dipole array. More...

#include <CorrDipole.hh>

Collaboration diagram for clCorrDipole:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 clCorrDipole (clArrayDipole *, GDT, int, long, bool, bool)
 Constructor.

 ~clCorrDipole ()
bool AddData ()
 Add data to integration buffers.

GDT Process (GDT)
 Process data in integration buffers and return result.

void SetHistory ()
 Set history part of buffer.

GDT GetPeakLevel ()
 Get peak level (in dB) of integration buffer.

GDT GetIntegrationTime ()
 Get real integration time.


Private Attributes

bool bDebug
bool bFilter
long lSampleCount
 Sample count for specified integration time.

long lBaseIdx
 Starting index = maximum delay.

long lWinSize
 Window size (input data).

GDT fIntTime
 Integration time in seconds.

clDSPAlloc Data [2]
 Data buffers for integration.

clDSPOp DSP
clDSPOp DSPBank [2]
clArrayDipoleArray

Detailed Description

Correlator class for dipole array.

Definition at line 36 of file CorrDipole.hh.


Constructor & Destructor Documentation

clCorrDipole::clCorrDipole clArrayDipole ,
GDT  ,
int  ,
long  ,
bool  ,
bool 
 

Constructor.

Parameters:
ArrayPtr Pointer to clArrayDipole
fIntegrationTime Integration time (s)
iSampleRate Samplerate
lWindowSize Size of window
bDisableFilter Disable source data filtering
bEnableDebug Enable debugging output

Definition at line 31 of file CorrDipole.cc.

References Array, bDebug, bFilter, Data, DSPBank, fIntTime, GDT, clArrayDipole::GetMaxDelay(), lBaseIdx, lSampleCount, and lWinSize.

clCorrDipole::~clCorrDipole  ) 
 

Definition at line 63 of file CorrDipole.cc.


Member Function Documentation

bool clCorrDipole::AddData  ) 
 

Add data to integration buffers.

Call this after calling clArrayDipole::AddData() Returns >= 1 when integration buffers are full and ready to be processed by Process(), call until returns 0 before calling clArrayDipole::AddData() again.

Definition at line 68 of file CorrDipole.cc.

References Array, bFilter, Data, DSPBank, GDT, clArrayDipole::GetFiltPtr(), clArrayDipole::GetRawPtr(), lBaseIdx, lSampleCount, and lWinSize.

Referenced by clDirection::ProcessData().

GDT clCorrDipole::Process GDT   ) 
 

Process data in integration buffers and return result.

This can be called many times for different directions.

Parameters:
fDirection Direction (rad)
Returns:
Normalized cross-correlation

Definition at line 93 of file CorrDipole.cc.

References Array, Data, DSP, GDT, clArrayDipole::GetDelaySamples(), lBaseIdx, and lSampleCount.

Referenced by clDirection::CalcDipoleCorrs().

void clCorrDipole::SetHistory  ) 
 

Set history part of buffer.

Call this between last call of Process() and next call of AddData(), this will copy data from end of integration buffer to start of integration buffer.

Definition at line 111 of file CorrDipole.cc.

References Data, DSPBank, GDT, lBaseIdx, and lSampleCount.

Referenced by clDirection::CalcDipoleCorrs().

GDT clCorrDipole::GetPeakLevel  ) 
 

Get peak level (in dB) of integration buffer.

Returns:
Peak level (dB)

Definition at line 125 of file CorrDipole.cc.

References Data, DIR_DB_SCALE, DSPBank, GDT, lBaseIdx, and lSampleCount.

Referenced by clDirection::ProcessData().

GDT clCorrDipole::GetIntegrationTime  )  [inline]
 

Get real integration time.

Returns:
Integration time (s)

Definition at line 98 of file CorrDipole.hh.

References fIntTime, and GDT.


Member Data Documentation

bool clCorrDipole::bDebug [private]
 

Definition at line 38 of file CorrDipole.hh.

Referenced by clCorrDipole().

bool clCorrDipole::bFilter [private]
 

Definition at line 39 of file CorrDipole.hh.

Referenced by AddData(), and clCorrDipole().

long clCorrDipole::lSampleCount [private]
 

Sample count for specified integration time.

Definition at line 40 of file CorrDipole.hh.

Referenced by AddData(), clCorrDipole(), GetPeakLevel(), Process(), and SetHistory().

long clCorrDipole::lBaseIdx [private]
 

Starting index = maximum delay.

Definition at line 41 of file CorrDipole.hh.

Referenced by AddData(), clCorrDipole(), GetPeakLevel(), Process(), and SetHistory().

long clCorrDipole::lWinSize [private]
 

Window size (input data).

Definition at line 42 of file CorrDipole.hh.

Referenced by AddData(), and clCorrDipole().

GDT clCorrDipole::fIntTime [private]
 

Integration time in seconds.

Definition at line 43 of file CorrDipole.hh.

Referenced by clCorrDipole(), and GetIntegrationTime().

clDSPAlloc clCorrDipole::Data[2] [private]
 

Data buffers for integration.

Definition at line 44 of file CorrDipole.hh.

Referenced by AddData(), clCorrDipole(), GetPeakLevel(), Process(), and SetHistory().

clDSPOp clCorrDipole::DSP [private]
 

Definition at line 45 of file CorrDipole.hh.

Referenced by Process().

clDSPOp clCorrDipole::DSPBank[2] [private]
 

Definition at line 46 of file CorrDipole.hh.

Referenced by AddData(), clCorrDipole(), GetPeakLevel(), and SetHistory().

clArrayDipole* clCorrDipole::Array [private]
 

Definition at line 47 of file CorrDipole.hh.

Referenced by AddData(), clCorrDipole(), and Process().


The documentation for this class was generated from the following files:
Generated on Sun Oct 26 19:12:15 2003 for HASAS by doxygen 1.3.3