Brief description of class still missing. More...
#include <StructureStation.h>
Public Types | |
| enum | Transform { AddChannels, SubChannels } |
Public Member Functions | |
| virtual QString | name () const |
| virtual QString | name (int resultIndex) const |
| virtual void | save (int resultIndex, QDir outputDir, bool askIndividualFileName) |
| void | setTransform (Transform t) |
| virtual void | start (AbstractToolParameters ¶m) |
| virtual void | start (const TimeRangeList &twList, AbstractToolParameters ¶m) |
| StructureStation (StructureStationSignals *sig) | |
Brief description of class still missing.
Full description of class still missing
Description of constructor still missing
References MonoStation::AbstractStation::_results, MonoStation::AbstractStation::changeColors(), GeopsyCore::StationSignals::coordinates(), GeopsyCore::StationSignals::nameComponent(), and TRACE.
: AbstractStation(new StructureStationProcessSignals(sig)) { TRACE; _results.resize(4); for(int i=0; i<4; i++ ) { _results[i]=new StationResults; _results[i]->setStationName(sig->nameComponent()); _results[i]->setCoordinates(sig->coordinates()); connect(_results[i], SIGNAL(colorsToChange( const QVector<int>*, const QColor& )), this, SLOT(changeColors( const QVector<int>*, const QColor& )) ); } }
| virtual QString StructureStation::name | ( | ) | const [inline, virtual] |
Implements MonoStation::AbstractStation.
References MonoStation::AbstractStation::_signals, GeopsyCore::StationSignals::name(), and GeopsyCore::StationProcessSignals::originalSignals().
Referenced by ToolStructure::initStations(), and name().
{return _signals->originalSignals()->name();}
| QString StructureStation::name | ( | int | resultIndex | ) | const [virtual] |
Implements MonoStation::AbstractStation.
References AddChannels, name(), SubChannels, and TRACE.
{
TRACE;
QString transformName;
switch(_transform) {
case AddChannels: transformName="(c2+c1)/2"; break;
case SubChannels: transformName="(c2-c1)"; break;
}
switch(resultIndex) {
case 0: return (name()+": %1/c1").arg(transformName);
case 1: return (name()+": %1/c2").arg(transformName);
case 2: return name()+": c2/c1)";
default: return (name()+": %1").arg(transformName);
}
}
| void StructureStation::save | ( | int | resultIndex, |
| QDir | outputDir, | ||
| bool | askIndividualFileName | ||
| ) | [virtual] |
Implements MonoStation::AbstractStation.
References MonoStation::AbstractStation::_log, MonoStation::AbstractStation::_results, MonoStation::AbstractStation::_signals, fileName, GeopsyCore::StationSignals::firstValidSignal(), GeopsyCore::Signal::id(), MSG_ID, GeopsyCore::StationSignals::name(), GeopsyCore::StationProcessSignals::originalSignals(), QGpCoreTools::tr(), and TRACE.
{
TRACE;
QString fileName=_signals->originalSignals()->name();
if(askIndividualFileName) {
fileName=Message::getSaveFileName(tr("Saving structure results"), tr("Structure file (*.struct)"));
} else if(fileName.isEmpty()) {
if(Message::warning(MSG_ID, tr("Saving structure results"),
tr("Signal (ID %1): empty station name, please provide a file name to export results")
.arg(_signals->originalSignals()->firstValidSignal()->id()),
Message::ok(), Message::cancel(), true)==Message::Answer1) {
return;
}
fileName=Message::getSaveFileName(tr("Saving structure results"), tr("Structure file (*.struct)"));
} else {
fileName=outputDir.absoluteFilePath(fileName+"_"+tag(resultIndex)+".struct");
}
_results[resultIndex]->save(outputDir.absoluteFilePath(fileName+"_"+tag(resultIndex)+".struct"), _log);
}
| void StructureStation::setTransform | ( | Transform | t | ) | [inline] |
Referenced by ToolStructure::initStations().
{_transform=t;}
| void StructureStation::start | ( | AbstractToolParameters & | param | ) | [virtual] |
Implements MonoStation::AbstractStation.
References MonoStation::AbstractStation::_results, MonoStation::AbstractStation::_signals, MonoStation::AbstractStation::_windowsChanged, GeopsyCore::geopsyCore, GeopsyCore::TimeRange::lengthSeconds(), MonoStation::AbstractToolParameters::sampling(), GeopsyCore::StationProcessSignals::setProcessed(), GeopsyCore::GeopsyCoreEngine::setProgressMaximum(), GeopsyCore::GeopsyCoreEngine::setProgressValue(), structureRatiosPrefs, TRACE, StructureRatiosPrefs::visibleLayers(), MonoStation::AbstractStation::windowAt(), and MonoStation::AbstractStation::windowCount().
{
TRACE;
// Reset results to allow re-computation
int n=windowCount();
for(int ir=0; ir<4; ir++) {
_results[ir]->setWindows(n, 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
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);
_signals->setProcessed(r, ¶m);
for(int ir=0; ir<4; ir++) {
ratio(ir, i, r);
_results[ir]->setWindowColor(i, windowAt(i).color());
}
}
wsum/=n;
for(int ir=0; ir<4; ir++) {
_results[ir]->setT10Layer(wsum);
_results[ir]->setAverageLayer();
_results[ir]->setPeakLayer();
_results[ir]->setVisibleLayers(structureRatiosPrefs.visibleLayers());
}
_windowsChanged=false;
}
| void StructureStation::start | ( | const TimeRangeList & | twList, |
| AbstractToolParameters & | param | ||
| ) | [virtual] |
Implements MonoStation::AbstractStation.
References QGpCoreTools::endl(), and TRACE.