Public Member Functions
HVStation Class Reference

#include <HVStation.h>

Inheritance diagram for HVStation:
MonoStation::AbstractStation HVRotateStation SpectrumRotateStation

List of all members.

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 &param)
virtual void start (const TimeRangeList &twList, AbstractToolParameters &param)

Constructor & Destructor Documentation

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& )) );
}

Member Function Documentation

virtual QString HVStation::name ( ) const [inline, virtual]
virtual QString HVStation::name ( int  ) const [inline, virtual]

Implements MonoStation::AbstractStation.

References name().

Referenced by name().

{return name();}
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.

{
  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++ ) {
      computeHV(oldNofWindows+i, twList.at(i), param);
    }
    _results[0]->setAverageLayer();
    _results[0]->setPeakLayer();
  }
}

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines