Brief description of class still missing. More...
#include <Results.h>
Public Types | |
| enum | CurveType { Dispersion, DispersionGrid, Ellipticity, ShAmplification, MagnetoTelluric } |
Public Slots | |
| void | exportDAT (QString fileName=QString::null) |
| void | setAutomaticLimits (bool a) |
| void | setThreshold () |
Public Member Functions | |
| void | addBackground (GeophysicalModel *m) |
| void | calculateBackground () |
| ResultsThread * | calculator () const |
| void | clearBackground () |
| GeophysicalModel * | createModel () const |
| void | resizeEvent (QResizeEvent *) |
| Results (const Acquisition *acq) | |
| Results (QWidget *parent=0) | |
| bool | setCurveType (CurveType curveType, int &argc, char **argv) |
| void | setForeground (GeophysicalModel *m) |
| ~Results () | |
| ~Results () | |
Brief description of class still missing.
Full description of class still missing
| enum Results::CurveType |
| Results::Results | ( | const Acquisition * | acq | ) |
Description of constructor still missing
References SciFigs::LineLayer::addLine(), Acquisition::apparentResistivityHistogram(), Acquisition::currentHistogram(), Acquisition::fileName(), SciFigs::HistogramLayer::set(), SciFigs::PlotLine2D::setCurve(), TRACE, Acquisition::variabilityHistogram(), Acquisition::varVoltageCurve(), and Acquisition::voltageHistogram().
: GraphicSheetMenu(0) { TRACE; setWindowTitle("evabem ["+acq->fileName()+"]"); Settings::getSize(this, "Results"); createObjects(); addActions(); _acquisition=acq; _currentLayer->set(_acquisition->currentHistogram()); setLimits(_currentLayer); _voltageLayer->set(_acquisition->voltageHistogram()); setLimits(_voltageLayer); _variabilityLayer->set(_acquisition->variabilityHistogram()); setLimits(_variabilityLayer); _apparentResistivityLayer->set(_acquisition->apparentResistivityHistogram()); setLimits(_apparentResistivityLayer); PlotLine2D * l=static_cast<PlotLine2D *>(_variabilityVoltageLayer->addLine()); l->setCurve(_acquisition->varVoltageCurve()); }
| Results::Results | ( | QWidget * | parent = 0 | ) |
Description of constructor still missing
References TRACE.
: GraphicSheet(parent) { TRACE; _backgroundThread=0; _foregroundThread=0; _automaticLimits=true; setWindowTitle("Results"); }
| void Results::addBackground | ( | GeophysicalModel * | m | ) |
References ResultsThread::addModel(), and TRACE.
Referenced by MainWindow::addBackground(), and MainWindow::setBackground().
| void Results::calculateBackground | ( | ) |
References ResultsThread::modelDeepUpdate(), and ResultsThread::setModelLimits().
Referenced by MainWindow::setBackground().
{
calculate(_backgroundThread, _backgroundModels);
if(_automaticLimits) {
_backgroundThread->setModelLimits();
}
_backgroundThread->modelDeepUpdate();
}
| ResultsThread* Results::calculator | ( | ) | const [inline] |
Referenced by MainWindow::scan().
{return _foregroundThread;}
| void Results::clearBackground | ( | ) |
References ResultsThread::clear(), ResultsThread::modelDeepUpdate(), and TRACE.
Referenced by MainWindow::setBackground().
{
TRACE;
_backgroundThread->clear();
_backgroundModels.clear();
_backgroundThread->modelDeepUpdate();
}
| GeophysicalModel * Results::createModel | ( | ) | const |
References ResultsThread::createModel(), and TRACE.
Referenced by MainWindow::setBackground().
{
TRACE;
return _backgroundThread->createModel();
}
| void Results::exportDAT | ( | QString | fileName = QString::null | ) | [slot] |
References MSG_ID, QGpCoreTools::tr(), TRACE, and Acquisition::write().
Referenced by main().
{
TRACE;
if(fileName.isEmpty()) {
fileName=Message::getSaveFileName(tr("Export data"), tr("Res2dinv dat file (*.dat)"));
if(fileName.isEmpty()) {
return;
}
}
QFile f(fileName);
if(!f.open(QIODevice::WriteOnly)) {
Message::warning(MSG_ID, tr("Export data"), tr("Cannot open file %1 for writing").arg(fileName), Message::cancel());
return;
}
QTextStream s(&f);
_acquisition->write(s, 1e-3*voltageThreshold(), variabilityThreshold());
}
| void Results::resizeEvent | ( | QResizeEvent * | ) |
| void Results::setAutomaticLimits | ( | bool | a | ) | [slot] |
References ResultsThread::setAutomaticLimits(), and TRACE.
{
TRACE;
_automaticLimits=a;
_backgroundThread->setAutomaticLimits(a);
_foregroundThread->setAutomaticLimits(a);
}
| bool Results::setCurveType | ( | CurveType | curveType, |
| int & | argc, | ||
| char ** | argv | ||
| ) |
Set curve type and fetch related arguments in argv
References ResultsThread::clone(), DispersionGrid, ResultsThread::initModelGraphs(), ResultsThread::initResultsGraphs(), MagnetoTelluric, ResultsThread::setParameters(), and TRACE.
Referenced by LiveModelReader::setOptions().
{
TRACE;
switch(curveType) {
case Dispersion:
_backgroundThread=new DispersionThread(this);
break;
case DispersionGrid:
_backgroundThread=new DispersionGridThread(this);
break;
case Ellipticity:
_backgroundThread=new EllipticityThread(this);
break;
case ShAmplification:
_backgroundThread=new ShAmplificationThread(this);
break;
case MagnetoTelluric:
_backgroundThread=new MagnetoTelluricThread(this);
break;
}
if(!_backgroundThread->setParameters(argc, argv)) {
return false;
}
_foregroundThread=_backgroundThread->clone();
_backgroundThread->initModelGraphs(this);
_backgroundThread->setObjectName("background");
_foregroundThread->initModelGraphs(*_backgroundThread);
_foregroundThread->setObjectName("foreground");
_backgroundThread->initResultsGraphs(this);
_foregroundThread->initResultsGraphs(*_backgroundThread);
return true;
}
| void Results::setForeground | ( | GeophysicalModel * | m | ) |
References ResultsThread::modelDeepUpdate(), ResultsThread::setModel(), ResultsThread::setModelLimits(), and TRACE.
{
TRACE;
_foregroundThread->setModel(m);
QList<GeophysicalModel *> mList;
mList.append(m);
calculate(_foregroundThread, mList);
if(_automaticLimits) {
_backgroundThread->setModelLimits();
}
_backgroundThread->modelDeepUpdate();
}
| void Results::setThreshold | ( | ) | [slot] |
References SciFigs::ParallelBands::band(), SciFigs::AxisWindow::deepUpdate(), SciFigs::GraphContentLayer::graph(), SciFigs::GraphContentLayer::setOpacity(), SciFigs::ParallelBand::setValue(), Thresholds::setVariability(), Thresholds::setVoltage(), TRACE, Thresholds::variability(), and Thresholds::voltage().
{
TRACE;
Thresholds * d=new Thresholds(this);
Settings::getWidget(d);
d->setVariability(variabilityThreshold());
d->setVoltage(voltageThreshold());
if(d->exec()==QDialog::Accepted) {
Settings::setWidget(d);
double var=d->variability();
if(var>0.0) {
_thresholdVariabilityVoltageLayer[1]->setOpacity(1.0);
_thresholdVariabilityLayer->setOpacity(1.0);
_thresholdVariabilityVoltageLayer[1]->band(0).setValue(var);
_thresholdVariabilityLayer->band(0).setValue(var);
} else {
_thresholdVariabilityVoltageLayer[1]->setOpacity(0.0);
_thresholdVariabilityLayer->setOpacity(0.0);
}
double volt=d->voltage();
if(volt>0.0) {
_thresholdVariabilityVoltageLayer[0]->setOpacity(1.0);
_thresholdVoltageLayer->setOpacity(1.0);
_thresholdVariabilityVoltageLayer[0]->band(0).setValue(volt);
_thresholdVoltageLayer->band(0).setValue(volt);
} else {
_thresholdVariabilityVoltageLayer[0]->setOpacity(0.0);
_thresholdVoltageLayer->setOpacity(0.0);
}
_variabilityVoltageLayer->graph()->deepUpdate();
_variabilityLayer->graph()->deepUpdate();
_voltageLayer->graph()->deepUpdate();
}
delete d;
}