Brief description of class still missing. More...
#include <RealTimeArrayProcess.h>
Public Member Functions | |
bool | isWaiting () const |
bool | isWaiting () const |
RealTimeArrayProcess (RealTimeArrayManager *manager, ArrayStations *array) | |
RealTimeArrayProcess (RealTimeArrayManager *manager, ArrayStations *array) | |
void | setFrequencyBands (const QVector< GaussianFrequencyBand > *bands) |
void | setFrequencyBands (const QVector< GaussianFrequencyBand > *bands) |
void | setKmax (double k) |
void | setKmin (double k) |
void | setMaximumSlowness (double s) |
void | setWavenumberRange (double kmin, double kmax) |
void | terminate () |
void | terminate () |
bool | terminated () const |
bool | terminated () const |
~RealTimeArrayProcess () | |
~RealTimeArrayProcess () | |
Protected Member Functions | |
virtual void | run () |
virtual void | run () |
Brief description of class still missing.
Full description of class still missing
RealTimeArrayProcess::RealTimeArrayProcess | ( | RealTimeArrayManager * | manager, |
ArrayStations * | array | ||
) |
RealTimeArrayProcess::RealTimeArrayProcess | ( | RealTimeArrayManager * | manager, |
ArrayStations * | array | ||
) |
bool RealTimeArrayProcess::isWaiting | ( | ) | const [inline] |
{return _waiting.testAndSetOrdered(true, true);}
bool RealTimeArrayProcess::isWaiting | ( | ) | const [inline] |
{return _waiting.testAndSetOrdered(true, true);}
void RealTimeArrayProcess::run | ( | ) | [protected, virtual] |
{ _manager->_mutex.lock(); while(true) { while(true) { if(_terminate.testAndSetOrdered(true, true)) { _manager->_mutex.unlock(); return; } // Check for new tasks, if nothing to do, the thread goes in sleep mode if(_manager->_tasks.isEmpty()) break; ArrayTask * t=_manager->takeTask(); //checkblocks(true, false); run(t); //checkblocks(true, false); delete t; _manager->_mutex.lock(); } printf("%s: sleeping, manager %p\n",objectName().toAscii().data(),_manager); _waiting.fetchAndStoreOrdered(true); _manager->_event.wait(&_manager->_mutex); _waiting.fetchAndStoreOrdered(false); printf("%s: waking up, manager %p\n",objectName().toAscii().data(),_manager); } }
virtual void RealTimeArrayProcess::run | ( | ) | [protected, virtual] |
void RealTimeArrayProcess::setFrequencyBands | ( | const QVector< GaussianFrequencyBand > * | bands | ) | [inline] |
{_bands=bands;}
void RealTimeArrayProcess::setFrequencyBands | ( | const QVector< GaussianFrequencyBand > * | bands | ) | [inline] |
Referenced by RealTimeArrayManager::RealTimeArrayManager().
{_bands=bands;}
void RealTimeArrayProcess::setKmax | ( | double | k | ) |
{ _gridSize=k; }
void RealTimeArrayProcess::setKmin | ( | double | k | ) |
{ _fkGridStep=0.25*k; _hrfkGridStep=0.1*k; }
void RealTimeArrayProcess::setMaximumSlowness | ( | double | s | ) |
References PhaseShifter::setMaximumSlowness().
{ _phaseShifter.setMaximumSlowness(s); }
void RealTimeArrayProcess::setWavenumberRange | ( | double | kmin, |
double | kmax | ||
) |
References QGpCoreTools::GridSearch::setGrid().
void RealTimeArrayProcess::terminate | ( | ) | [inline] |
{_terminate.fetchAndStoreOrdered(true);}
void RealTimeArrayProcess::terminate | ( | ) | [inline] |
{_terminate.fetchAndStoreOrdered(true);}
bool RealTimeArrayProcess::terminated | ( | ) | const [inline] |
{return _terminate.testAndSetOrdered(true, true);}
bool RealTimeArrayProcess::terminated | ( | ) | const [inline] |
{return _terminate.testAndSetOrdered(true, true);}