Brief description of class still missing. More...
#include <ToolStructure.h>
Public Member Functions | |
ToolStructure (QWidget *parent) | |
Protected Member Functions | |
virtual AbstractSummary * | createSummary () |
virtual WinResults * | createWinResults () |
virtual bool | initStations (SubSignalPool *subPool) |
virtual void | setLimits () |
Brief description of class still missing.
Full description of class still missing
ToolStructure::ToolStructure | ( | QWidget * | parent | ) |
Description of constructor still missing
References MonoStation::AbstractTool::_d, MonoStation::AbstractToold::removeHorizontalComponents(), and TRACE.
: AbstractTool (parent) { TRACE; setWindowIcon(QIcon( ":/images/structure-22x22.png" )); setObjectName("ToolStructure"); _d->removeHorizontalComponents(); }
AbstractSummary * ToolStructure::createSummary | ( | ) | [protected, virtual] |
WinResults * ToolStructure::createWinResults | ( | ) | [protected, virtual] |
bool ToolStructure::initStations | ( | SubSignalPool * | subPool | ) | [protected, virtual] |
Reimplemented from GeopsyGui::ToolBase.
References MonoStation::AbstractTool::_d, MonoStation::AbstractTool::_stations, MonoStation::AbstractTool::_stationSignals, GeopsyGui::ToolBase::_subPool, StructureStation::AddChannels, StructureStationSignals::addSignals(), GeopsyGui::TimeWindowLayer::addTimeWindows(), MonoStation::AbstractStation::addWindowingLog(), MonoStation::AbstractStation::clearWindowingLog(), GeopsyCore::SubSignalPool::count(), MonoStation::AbstractTool::createResults(), GeopsyCore::geopsyCore, QGpCoreTools::log(), MSG_ID, StructureStation::name(), GeopsyCore::StationSignals::name(), GeopsyCore::SubSignalPool::name(), StructureStationSignals::organizeSubPool(), GeopsyCore::StationSignals::originals(), GeopsyCore::SubSignalPool::remove(), MonoStation::AbstractStation::results(), StructureStation::setTransform(), GeopsyGui::ToolBase::setWindowTitle(), GeopsyCore::GeopsyCoreEngine::showMessage(), str, StructureStation::SubChannels, GeopsyGui::ToolBase::timeWindowLayer(), QGpCoreTools::tr(), TRACE, GeopsyGui::ToolBase::updateSubPool(), MonoStation::AbstractTool::updateSummary(), MonoStation::AbstractStation::windows(), and MonoStation::AbstractTool::windowsChanged().
{ TRACE; if(!setOptions()) return false; geopsyCore->showMessage(tr("Initializing stations...")); _subPool=subPool; QString str="Structure spectrum toolbox - " + _subPool->name(); setWindowTitle(str); // Remove eventually components to exclude if(_options & RemoveV) _subPool->remove(Signal::Vertical); if(_options & RemoveN) _subPool->remove(Signal::North); if(_options & RemoveE) _subPool->remove(Signal::East); // Organize subpool by 2+1C signals if( !StructureStationSignals::organizeSubPool(_subPool, _options & DoAverage) ) return false; int nSignals=_subPool->count(); for(int i=0;i < nSignals; ) { StructureStationSignals * statSigs=new StructureStationSignals; _stationSignals.append(statSigs); // Store original station signals, not used except for proper deletion. QString log; if( !statSigs->addSignals( *subPool, i, &log) ) { Message::warning(MSG_ID, tr("Creating station"), tr( "For station %1, error while checking components:\n\n" ). arg(statSigs->name())+log, Message::cancel()); return false; } StructureStation * stat=new StructureStation(statSigs); stat->setTransform(_options & DoAverage ? StructureStation::AddChannels : StructureStation::SubChannels); _stations.append(stat); for(int i=0 ; i < 4; i++) { connect(stat->results(i), SIGNAL(peakChanged()), this, SLOT(updateSummary()) ); } if(timeWindowLayer()) { connect(stat, SIGNAL(windowsChanged()), timeWindowLayer(), SLOT(deepUpdate()) ); for(int i=0 ; i < 3; i++) { timeWindowLayer()->addTimeWindows(statSigs->originals(i), &stat->windows()); } } stat->clearWindowingLog(); stat->addWindowingLog(log); _d->currentDisplayStation->addItem(stat->name()); _d->winParam->addStation(stat->name()); } emit updateSubPool(); createResults(_subPool->name()); return true; }
void ToolStructure::setLimits | ( | ) | [protected, virtual] |
Reimplemented from MonoStation::AbstractTool.
References MonoStation::AbstractTool::_stations, _winResults, and TRACE.
{ TRACE; double maxRatio=-1e99; double maxSpectrum=-1e99; for(QList<AbstractStation *>::iterator it=_stations.begin();it!=_stations.end();++it) { double statMax; for(int i=0;i<3;i++) { statMax=(*it)->results(i)->maximumAmplitude(); if(statMax>maxRatio) maxRatio=statMax; } statMax=(*it)->results(3)->maximumAmplitude(); if(statMax>maxSpectrum) maxSpectrum=statMax; } if(maxRatio> -1e99) { static_cast<StructureWinResults *>(_winResults)->setRatioLimits(maxRatio); } if(maxSpectrum> -1e99) { static_cast<StructureWinResults *>(_winResults)->setSpectrumLimits(maxSpectrum); } }