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

clBeamDipole Class Reference

Beamformer class for dipole array. More...

#include <BeamDipole.hh>

Collaboration diagram for clBeamDipole:

Collaboration graph
[legend]
List of all members.

Public Member Functions

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

 ~clBeamDipole ()
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
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

Beamformer class for dipole array.

Definition at line 36 of file BeamDipole.hh.


Constructor & Destructor Documentation

clBeamDipole::clBeamDipole clArrayDipole ,
GDT  ,
int  ,
long  ,
bool 
 

Constructor.

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

Definition at line 38 of file BeamDipole.cc.

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

clBeamDipole::~clBeamDipole  ) 
 

Definition at line 68 of file BeamDipole.cc.


Member Function Documentation

bool clBeamDipole::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.

Returns:
Status

Definition at line 73 of file BeamDipole.cc.

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

Referenced by clDirection::ProcessData().

GDT clBeamDipole::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 energy

Definition at line 90 of file BeamDipole.cc.

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

Referenced by clDirection::CalcDipoleBeams().

void clBeamDipole::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 125 of file BeamDipole.cc.

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

Referenced by clDirection::CalcDipoleBeams().

GDT clBeamDipole::GetPeakLevel  ) 
 

Get peak level (in dB) of integration buffer.

Returns:
Peak level (dB)

Definition at line 139 of file BeamDipole.cc.

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

Referenced by clDirection::ProcessData().

GDT clBeamDipole::GetIntegrationTime  )  [inline]
 

Get real integration time.

Returns:
Integration time (s)

Definition at line 98 of file BeamDipole.hh.

References fIntTime, and GDT.

Referenced by clDirection::InitArray().


Member Data Documentation

bool clBeamDipole::bDebug [private]
 

Definition at line 38 of file BeamDipole.hh.

Referenced by clBeamDipole().

long clBeamDipole::lSampleCount [private]
 

Sample count for specified integration time.

Definition at line 39 of file BeamDipole.hh.

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

long clBeamDipole::lBaseIdx [private]
 

Starting index = maximum delay.

Definition at line 40 of file BeamDipole.hh.

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

long clBeamDipole::lWinSize [private]
 

Window size (input data).

Definition at line 41 of file BeamDipole.hh.

Referenced by AddData(), and clBeamDipole().

GDT clBeamDipole::fIntTime [private]
 

Integration time in seconds.

Definition at line 42 of file BeamDipole.hh.

Referenced by clBeamDipole(), and GetIntegrationTime().

clDSPAlloc clBeamDipole::Data[2] [private]
 

Data buffers for integration.

Definition at line 43 of file BeamDipole.hh.

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

clDSPOp clBeamDipole::DSP [private]
 

Definition at line 44 of file BeamDipole.hh.

clDSPOp clBeamDipole::DSPBank[2] [private]
 

Definition at line 45 of file BeamDipole.hh.

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

clArrayDipole* clBeamDipole::Array [private]
 

Definition at line 46 of file BeamDipole.hh.

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


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