#include <HRFKTimeWindows.h>
Public Slots | |
| virtual void | setComponent () |
| virtual void | setCurrentWindow () |
Public Member Functions | |
| HRFKTimeWindows (QWidget *parent=0) | |
| virtual void | setArray (const ArrayStations &array) |
| HRFKTimeWindows::HRFKTimeWindows | ( | QWidget * | parent = 0 | ) | [inline] |
: FKTimeWindows(parent) {}
| void HRFKTimeWindows::setArray | ( | const ArrayStations & | array | ) | [virtual] |
Reimplemented from FKTimeWindows.
References FKTimeWindows::_process, GeopsyCore::StationList::components(), ArrayCore::ArrayProcess::setTimeRangeList(), and QGpCoreTools::tr().
{
// Check whether there are multi component
StationSignals::Components c=array.components();
if(c & StationSignals::VerticalComponent) {
component->addItem(tr("Vertical"));
}
if(c & StationSignals::HorizontalComponent) {
component->addItem(tr("Horizontal"));
component->addItem(tr("North"));
component->addItem(tr("East"));
}
_process=new HRFKArrayProcess(array);
_process->setTimeRangeList(new TimeWindowList);
}
| void HRFKTimeWindows::setComponent | ( | ) | [virtual, slot] |
Reimplemented from FKTimeWindows.
References FKTimeWindows::_currentWindow, FKTimeWindows::_gridLayer, FKTimeWindows::_process, GeopsyCore::TimeRangeList::at(), ArrayCore::HRFK::crossCorrelationMatrix(), ArrayCore::ArrayProcess::frequency(), ArrayCore::FKArrayProcess::function(), ArrayCore::HRFK::initOperator(), GeopsyCore::TimeRange::lengthSeconds(), ArrayCore::FK::setFrequencyBand(), SciFigs::LiveGridLayer::setFunction(), ArrayCore::FK::setMaximumSlowness(), ArrayCore::FK::setMaximumWavenumber(), ArrayCore::ArrayProcess::timeRangeList(), QGpCoreTools::tr(), and TRACE.
Referenced by setCurrentWindow().
{
TRACE;
if(_currentWindow<0) return ;
HRFK * fk=static_cast<HRFK *>(_process->function(0));
double damping=static_cast<HRFKArrayProcess *>(_process)->parameters()->damping();
double winLength=_process->timeRangeList()->at(_currentWindow).lengthSeconds();
fk->setMaximumWavenumber(1e99); // No limit for plot
fk->setMaximumSlowness(1e99);
fk->setFrequencyBand(_process->frequency(), winLength);
Complex * covmat;
if(component->currentText()==tr("North")) {
covmat=fk->crossCorrelationMatrix(1);
} else if(component->currentText()==tr("East")) {
covmat=fk->crossCorrelationMatrix(2);
} else if(component->currentText()==tr("Horizontal")) {
covmat=fk->crossCorrelationMatrix(direction->value());
} else {
covmat=fk->crossCorrelationMatrix(0);
}
fk->initOperator(covmat, damping);
_gridLayer->setFunction(fk);
waveNumGrid->deepUpdate();
}
| void HRFKTimeWindows::setCurrentWindow | ( | ) | [virtual, slot] |
Reimplemented from FKTimeWindows.
References setComponent().
{
FKTimeWindows::setCurrentWindow();
setComponent();
}