Brief description of class still missing. More...
#include <SpectrumStation.h>
Public Member Functions | |
| virtual QString | name () const |
| virtual QString | name (int) const |
| virtual void | save (int, QDir outputDir, bool askIndividualFileName) |
| SpectrumStation (StationSignals *sig) | |
| virtual void | start (AbstractToolParameters ¶m) |
| virtual void | start (const TimeRangeList &twList, AbstractToolParameters ¶m) |
Brief description of class still missing.
Full description of class still missing
References MonoStation::AbstractStation::_results, MonoStation::AbstractStation::changeColors(), GeopsyCore::StationSignals::coordinates(), GeopsyCore::StationSignals::nameComponent(), and TRACE.
: AbstractStation(new SpectrumStationSignals(sig)) { TRACE; _results.resize(1); _results[0]=new StationResults; _results[0]->setStationName(sig->nameComponent()); _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 SpectrumStation::name | ( | ) | const [inline, virtual] |
Implements MonoStation::AbstractStation.
References MonoStation::AbstractStation::_signals, GeopsyCore::StationSignals::nameComponent(), and GeopsyCore::StationProcessSignals::originalSignals().
Referenced by ToolSpectrum::initStations().
{return _signals->originalSignals()->nameComponent();}
| virtual QString SpectrumStation::name | ( | int | ) | const [inline, virtual] |
| void SpectrumStation::save | ( | int | , |
| QDir | outputDir, | ||
| bool | askIndividualFileName | ||
| ) | [virtual] |
Implements MonoStation::AbstractStation.
References MonoStation::AbstractStation::_log, MonoStation::AbstractStation::_results, MonoStation::AbstractStation::_signals, GeopsyCore::Signal::component(), GeopsyCore::StationSignals::coordinates(), fileName, GeopsyCore::StationSignals::firstValidSignal(), MSG_ID, GeopsyCore::Signal::name(), GeopsyCore::StationProcessSignals::originalSignals(), QGpCoreTools::Point::toString(), QGpCoreTools::tr(), and TRACE.
{
TRACE;
Signal * sig=_signals->originalSignals()->firstValidSignal();
ASSERT(sig);
QString fileName;
if(askIndividualFileName) {
fileName=Message::getSaveFileName(tr("Saving spectrum results"), tr("Spectrum file (*.spec)"));
} else if(sig->name().isEmpty()) {
if(Message::warning(MSG_ID, tr("Saving spectrum results"),
tr("Spectrum of %1 at (%2): empty station name, please provide a file name to export results")
.arg(Signal::componentLetter(sig->component()))
.arg(_signals->originalSignals()->coordinates().toString(0, 'f')),
Message::ok(), Message::cancel(), true)==Message::Answer1) {
return;
}
fileName=Message::getSaveFileName(tr("Saving spectrum results"), tr("Spectrum file (*.spec)"));
} else {
fileName=outputDir.absoluteFilePath(sig->name()+"_"+Signal::componentLetter(sig->component())+".spec");
}
_results[0]->save(fileName, _log);
}
| void SpectrumStation::start | ( | AbstractToolParameters & | param | ) | [virtual] |
Implements MonoStation::AbstractStation.
References MonoStation::AbstractStation::_results, MonoStation::AbstractStation::_signals, MonoStation::AbstractStation::_windowsChanged, GeopsyCore::StationSignals::deltaT(), GeopsyCore::geopsyCore, hvPrefs, GeopsyCore::TimeRange::lengthSamples(), GeopsyCore::StationProcessSignals::originalSignals(), GeopsyCore::StationProcessSignals::processed(), MonoStation::AbstractToolParameters::sampling(), GeopsyCore::StationProcessSignals::setProcessed(), GeopsyCore::GeopsyCoreEngine::setProgressMaximum(), GeopsyCore::GeopsyCoreEngine::setProgressValue(), GeopsyHVPrefs::spectrumVisibleLayers(), 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;
double deltaT=_signals->originalSignals()->deltaT();
for(int i=0; i<n; i++) {
const TimeRange& r=windowAt(i);
wsum += r.lengthSamples(deltaT);
geopsyCore->setProgressValue(i);
_signals->setProcessed(r, ¶m);
_results[0]->setWindow(i, _signals->processed(0));
_results[0]->setWindowColor(i,windowAt(i).color());
}
wsum*=deltaT/n;
_results[0]->setT10Layer(wsum);
_results[0]->setAverageLayer();
_results[0]->setPeakLayer();
_results[0]->setVisibleLayers(hvPrefs.spectrumVisibleLayers());
_windowsChanged=false;
}
| void SpectrumStation::start | ( | const TimeRangeList & | twList, |
| AbstractToolParameters & | param | ||
| ) | [virtual] |
Implements MonoStation::AbstractStation.
References MonoStation::AbstractStation::_results, MonoStation::AbstractStation::_signals, GeopsyCore::TimeRangeList::at(), GeopsyCore::TimeRangeList::count(), GeopsyCore::StationProcessSignals::processed(), GeopsyCore::StationProcessSignals::setProcessed(), start(), and TRACE.
{
TRACE;
int oldNofWindows=_results[0]->windowCount();
if(oldNofWindows==0) {
start(param);
} else {
int n=twList.count();
_results[0]->addWindows(n);
for(int i=0; i<n; i++ ) {
_signals->setProcessed(twList.at(i), ¶m);
_results[0]->setWindow(oldNofWindows+i, _signals->processed(0));
}
}
_results[0]->setAverageLayer();
}