#include <HVStation.h>
Public Member Functions | |
HVStation (StationSignals *sig) | |
virtual QString | name () const |
virtual QString | name (int) const |
virtual void | save (int, QDir outputDir, bool askIndividualFileName) |
virtual void | start (AbstractToolParameters ¶m) |
virtual void | start (const TimeRangeList &twList, AbstractToolParameters ¶m) |
HVStation::HVStation | ( | StationSignals * | sig | ) |
References MonoStation::AbstractStation::_results, MonoStation::AbstractStation::changeColors(), GeopsyCore::StationSignals::coordinates(), GeopsyCore::StationSignals::name(), and TRACE.
: AbstractStation(new HVStationSignals(sig)) { TRACE; _results.resize(1); _results[0]=new StationResults; _results[0]->setStationName(sig->name()); _results[0]->setCoordinates(sig->coordinates()); connect(_results[0], SIGNAL(colorsToChange( const QVector<int>*, const QColor& )), this, SLOT(changeColors( const QVector<int>*, const QColor& )) ); }
virtual QString HVStation::name | ( | ) | const [inline, virtual] |
Implements MonoStation::AbstractStation.
References MonoStation::AbstractStation::_signals, GeopsyCore::StationSignals::name(), and GeopsyCore::StationProcessSignals::originalSignals().
Referenced by ToolHV::initStations().
{return _signals->originalSignals()->name();}
virtual QString HVStation::name | ( | int | ) | const [inline, virtual] |
void HVStation::save | ( | int | , |
QDir | outputDir, | ||
bool | askIndividualFileName | ||
) | [virtual] |
Implements MonoStation::AbstractStation.
References MonoStation::AbstractStation::_log, MonoStation::AbstractStation::_results, MonoStation::AbstractStation::_signals, GeopsyCore::StationSignals::coordinates(), fileName, MSG_ID, GeopsyCore::StationSignals::name(), GeopsyCore::StationProcessSignals::originalSignals(), QGpCoreTools::Point::toString(), QGpCoreTools::tr(), and TRACE.
{ TRACE; QString fileName=_signals->originalSignals()->name(); if(askIndividualFileName) { fileName=Message::getSaveFileName(tr("Saving H/V results"), tr("HV file (*.hv)")); } else if(fileName.isEmpty()) { if(Message::warning(MSG_ID, tr("Saving H/V results"), tr("Station at (%1): empty station name, please provide a file name to export results") .arg(_signals->originalSignals()->coordinates().toString(0, 'f')), Message::ok(), Message::cancel(), true)==Message::Answer1) { return; } fileName=Message::getSaveFileName(tr("Saving H/V results"), tr("HV file (*.hv)")); } else { fileName=outputDir.absoluteFilePath(fileName+".hv"); } _results[0]->save(fileName, _log); }
void HVStation::start | ( | AbstractToolParameters & | param | ) | [virtual] |
Implements MonoStation::AbstractStation.
Reimplemented in HVRotateStation, and SpectrumRotateStation.
References MonoStation::AbstractStation::_results, MonoStation::AbstractStation::_windowsChanged, GeopsyCore::geopsyCore, hvPrefs, GeopsyHVPrefs::hvVisibleLayers(), GeopsyCore::TimeRange::lengthSeconds(), MonoStation::AbstractToolParameters::sampling(), GeopsyCore::GeopsyCoreEngine::setProgressMaximum(), GeopsyCore::GeopsyCoreEngine::setProgressValue(), TRACE, MonoStation::AbstractStation::windowAt(), and MonoStation::AbstractStation::windowCount().
Referenced by start().
{ TRACE; // Reset results to allow re-computation _results[0]->setWindows(windowCount(), param.sampling()); // For each time window, create a signal for z, n and e, get fft and smooth it // Then add smoothed spectra to the HV sheet int n=windowCount(); geopsyCore->setProgressMaximum(n-1); double wsum=0.0; for(int i=0;i<n;i++ ) { const TimeRange& r=windowAt(i); wsum += r.lengthSeconds(); geopsyCore->setProgressValue(i); computeHV(i, r, param); _results[0]->setWindowColor(i, windowAt(i).color()); } wsum /= n; _results[0]->setT10Layer(wsum); _results[0]->setAverageLayer(); _results[0]->setPeakLayer(); _results[0]->setVisibleLayers(hvPrefs.hvVisibleLayers()); _windowsChanged=false; }
void HVStation::start | ( | const TimeRangeList & | twList, |
AbstractToolParameters & | param | ||
) | [virtual] |
Implements MonoStation::AbstractStation.
References MonoStation::AbstractStation::_results, GeopsyCore::TimeRangeList::at(), GeopsyCore::TimeRangeList::count(), start(), and TRACE.