Public Slots | Signals | Public Member Functions | Protected Attributes
TargetListWidget Class Reference

#include <TargetListWidget.h>

List of all members.

Public Slots

void on_autocorrSelect_toggled (bool)
void on_autocorrSet_clicked ()
void on_dispSelect_toggled (bool)
void on_dispSet_clicked ()
void on_ellCurveSelect_toggled (bool)
void on_ellCurveSet_clicked ()
void on_ellPeakSelect_toggled (bool)
void on_ellPeakSet_clicked ()
void on_magnetoTelluricSelect_toggled (bool)
void on_magnetoTelluricSet_clicked ()
void on_refraVpSelect_toggled (bool)
void on_refraVpSet_clicked ()
void on_refraVsSelect_toggled (bool)
void on_refraVsSet_clicked ()
void setEditable (bool e)
void setFrom (TargetList *tl)
void setParamProfiles (ParamGroundModelWidget *p)
void updateInfo ()

Signals

void targetChanged ()

Public Member Functions

void clear ()
void setTitles (const QString &name)
TargetListtargetList ()
 TargetListWidget (QWidget *parent=0, Qt::WFlags fl=0)

Protected Attributes

AutocorrTargetWidget_autocorrWidget
DispersionTargetWidget_dispWidget
EllipticityCurveTargetWidget_ellCurveWidget
EllipticityPeakTargetWidget_ellPeakWidget
MagnetoTelluricTargetWidget_magnetoTelluricWidget
RefractionTargetWidget_refraVpWidget
RefractionTargetWidget_refraVsWidget

Constructor & Destructor Documentation

TargetListWidget::TargetListWidget ( QWidget *  parent = 0,
Qt::WFlags  fl = 0 
)

Member Function Documentation

References setFrom(), and TRACE.

Referenced by DCPlugin::clear().

{
  TRACE;
  TargetList tl;
  setFrom(&tl);
}

References TRACE, and updateInfo().

{
  TRACE;
  bool b=autocorrSelect->isChecked();
  autocorrSet->setEnabled(b);
  autocorrWeight->setEnabled(b);
  autocorrMinMisfit->setEnabled(b);
  updateInfo();
}

References _autocorrWidget, DinverCore::DinverCoreObject::addWindow(), DinverCore::dinverCore, DinverCore::DinverCoreObject::showWindow(), TRACE, updateInfo(), and w.

Referenced by setFrom().

{
  TRACE;
  AutocorrTargetWidget *& w=_autocorrWidget;
  if(w) {
    dinverCore->showWindow(w);
    w->setFocus();
  } else {
    w=new AutocorrTargetWidget;
    w->setObjectName("autocorrCurveTarget");
    dinverCore->addWindow(w);
    dinverCore->showWindow(w);
    connect(w, SIGNAL(curveModified()), this, SLOT(updateInfo()) );
    Settings::getWidget(w);
  }
}

References TRACE, and updateInfo().

{
  TRACE;
  bool b=dispSelect->isChecked();
  dispSet->setEnabled(b);
  dispWeight->setEnabled(b);
  dispMinMisfit->setEnabled(b);
  updateInfo();
}

References _dispWidget, DinverCore::DinverCoreObject::addWindow(), DinverCore::dinverCore, DinverCore::DinverCoreObject::showWindow(), TRACE, updateInfo(), and w.

Referenced by setFrom().

{
  TRACE;
  DispersionTargetWidget *& w=_dispWidget;
  if(w) {
    dinverCore->showWindow(w);
    w->setFocus();
  } else {
    w=new DispersionTargetWidget;
    w->setObjectName("dispersionTarget");
    dinverCore->addWindow(w);
    dinverCore->showWindow(w);
    connect(w , SIGNAL(curveModified()), this, SLOT(updateInfo()) );
    Settings::getWidget(w);
  }
}

References TRACE, and updateInfo().

{
  TRACE;
  bool b=ellCurveSelect->isChecked();
  ellCurveSet->setEnabled(b);
  ellCurveWeight->setEnabled(b);
  ellCurveMinMisfit->setEnabled(b);
  updateInfo();
}

References _ellCurveWidget, DinverCore::DinverCoreObject::addWindow(), DinverCore::dinverCore, DinverCore::DinverCoreObject::showWindow(), TRACE, updateInfo(), and w.

Referenced by setFrom().

{
  TRACE;
  EllipticityCurveTargetWidget *& w=_ellCurveWidget;
  if(w) {
    dinverCore->showWindow(w);
    w->setFocus();
  } else {
    w=new EllipticityCurveTargetWidget;
    w->setObjectName("ellipticityCurveTarget");
    dinverCore->addWindow(w);
    dinverCore->showWindow(w);
    connect(w, SIGNAL(curveModified()), this, SLOT(updateInfo()) );
    Settings::getWidget(w);
  }
}

References TRACE, and updateInfo().

{
  TRACE;
  bool b=ellPeakSelect->isChecked();
  ellPeakSet->setEnabled(b);
  ellPeakWeight->setEnabled(b);
  ellPeakMinMisfit->setEnabled(b);
  updateInfo();
}

References _ellPeakWidget, DinverCore::DinverCoreObject::addWindow(), DinverCore::dinverCore, DinverCore::DinverCoreObject::showWindow(), TRACE, updateInfo(), and w.

Referenced by setFrom().

{
  TRACE;
  EllipticityPeakTargetWidget *& w=_ellPeakWidget;
  if(w) {
    dinverCore->showWindow(w);
    w->setFocus();
  } else {
    w=new EllipticityPeakTargetWidget;
    w->setObjectName("ellipticityPeakTarget");
    dinverCore->addWindow(w);
    dinverCore->showWindow(w);
    connect(w, SIGNAL(peakModified()), this, SLOT(updateInfo()) );
    Settings::getWidget(w);
  }
}

References TRACE, and updateInfo().

{
  TRACE;
  bool b=magnetoTelluricSelect->isChecked();
  magnetoTelluricWeight->setEnabled(b);
  magnetoTelluricSet->setEnabled(b);
  magnetoTelluricMinMisfit->setEnabled(b);
  updateInfo();
}

References _magnetoTelluricWidget, DinverCore::DinverCoreObject::addWindow(), DinverCore::dinverCore, DinverCore::DinverCoreObject::showWindow(), QGpCoreTools::tr(), TRACE, updateInfo(), and w.

Referenced by setFrom().

{
  TRACE;
  MagnetoTelluricTargetWidget *& w=_magnetoTelluricWidget;
  if(w) {
    dinverCore->showWindow(w);
    w->setFocus();
  } else {
    w=new MagnetoTelluricTargetWidget;
    w->setObjectName("magnetoTelluricTarget");
    w->setWindowTitle(tr("Magneto-telluric target"));
    dinverCore->addWindow(w);
    dinverCore->showWindow(w);
    connect(w, SIGNAL(curveModified()), this, SLOT(updateInfo()) );
    Settings::getWidget(w);
  }
}

References TRACE, and updateInfo().

{
  TRACE;
  bool b=refraVpSelect->isChecked();
  refraVpWeight->setEnabled(b);
  refraVpSet->setEnabled(b);
  refraVpMinMisfit->setEnabled(b);
  updateInfo();
}

References _refraVpWidget, DinverCore::DinverCoreObject::addWindow(), DinverCore::dinverCore, DinverCore::DinverCoreObject::showWindow(), QGpCoreTools::tr(), TRACE, updateInfo(), and w.

Referenced by setFrom().

{
  TRACE;
  RefractionTargetWidget *& w=_refraVpWidget;
  if(w) {
    dinverCore->showWindow(w);
    w->setFocus();
  } else {
    w=new RefractionTargetWidget;
    w->setObjectName("refractionVpTarget");
    w->setWindowTitle(tr("Refraction Vp target"));
    dinverCore->addWindow(w);
    dinverCore->showWindow(w);
    connect(w, SIGNAL(curveModified()), this, SLOT(updateInfo()) );
    Settings::getWidget(w);
  }
}

References TRACE, and updateInfo().

{
  TRACE;
  bool b=refraVsSelect->isChecked();
  refraVsWeight->setEnabled(b);
  refraVsSet->setEnabled(b);
  refraVsMinMisfit->setEnabled(b);
  updateInfo();
}

References _refraVsWidget, DinverCore::DinverCoreObject::addWindow(), DinverCore::dinverCore, DinverCore::DinverCoreObject::showWindow(), QGpCoreTools::tr(), TRACE, updateInfo(), and w.

Referenced by setFrom().

{
  TRACE;
  RefractionTargetWidget *& w=_refraVsWidget;
  if(w) {
    dinverCore->showWindow(w);
    w->setFocus();
  } else {
    w=new RefractionTargetWidget;
    w->setObjectName("refractionVsTarget");
    w->setWindowTitle(tr("Refraction Vs target"));
    dinverCore->addWindow(w);
    dinverCore->showWindow(w);
    connect(w, SIGNAL(curveModified()), this, SLOT(updateInfo()) );
    Settings::getWidget(w);
  }
}
void TargetListWidget::setEditable ( bool  e) [slot]

References _autocorrWidget, _dispWidget, _ellCurveWidget, _ellPeakWidget, _magnetoTelluricWidget, _refraVpWidget, _refraVsWidget, AutocorrTargetWidget::setEditable(), EllipticityPeakTargetWidget::setEditable(), SciFigs::CurveBrowser::setEditable(), QGpGuiWave::ModalCurveBrowser::setEditable(), QGpCoreTools::tr(), and TRACE.

Referenced by DCPlugin::setCurrentForward().

{
  TRACE;
  dispWeight->setEnabled(e);
  dispMinMisfit->setEnabled(e);
  dispSelect->setEnabled(e);
  dispSet->setText(e ? tr("Set") : tr("View"));
  if(_dispWidget) _dispWidget->setEditable(e);

  autocorrWeight->setEnabled(e);
  autocorrMinMisfit->setEnabled(e);
  autocorrSelect->setEnabled(e);
  autocorrSet->setText(e ? tr("Set") : tr("View"));
  if(_autocorrWidget) _autocorrWidget->setEditable(e);

  ellCurveWeight->setEnabled(e);
  ellCurveMinMisfit->setEnabled(e);
  ellCurveSelect->setEnabled(e);
  ellCurveSet->setText(e ? tr("Set") : tr("View"));
  if(_ellCurveWidget) _ellCurveWidget->setEditable(e);

  ellPeakWeight->setEnabled(e);
  ellPeakMinMisfit->setEnabled(e);
  ellPeakSelect->setEnabled(e);
  ellPeakSet->setText(e ? tr("Set") : tr("View"));
  if(_ellPeakWidget) _ellPeakWidget->setEditable(e);

  refraVpWeight->setEnabled(e);
  refraVpMinMisfit->setEnabled(e);
  refraVpSelect->setEnabled(e);
  refraVpSet->setText(e ? tr("Set") : tr("View"));
  if(_refraVpWidget) _refraVpWidget->setEditable(e);

  refraVsWeight->setEnabled(e);
  refraVsMinMisfit->setEnabled(e);
  refraVsSelect->setEnabled(e);
  refraVsSet->setText(e ? tr("Set") : tr("View"));
  if(_refraVsWidget) _refraVsWidget->setEditable(e);

  magnetoTelluricWeight->setEnabled(e);
  magnetoTelluricMinMisfit->setEnabled(e);
  magnetoTelluricSelect->setEnabled(e);
  magnetoTelluricSet->setText(e ? tr("Set") : tr("View"));
  if(_magnetoTelluricWidget) _magnetoTelluricWidget->setEditable(e);
}
void TargetListWidget::setFrom ( TargetList tl) [slot]

References _autocorrWidget, _dispWidget, _ellCurveWidget, _ellPeakWidget, _magnetoTelluricWidget, _refraVpWidget, _refraVsWidget, RefractionTargetWidget::addCurves(), MagnetoTelluricTargetWidget::addCurves(), AutocorrTargetWidget::addCurves(), QGpGuiWave::ModalCurveBrowser::addCurves(), DinverDCCore::TargetList::autocorrTarget(), AutocorrTargetWidget::clear(), QGpGuiWave::ModalCurveBrowser::clear(), SciFigs::CurveBrowser::clear(), DinverDCCore::AutocorrTarget::curves(), DinverDCCore::MagnetoTelluricTarget::curves(), DinverDCCore::ModalCurveTarget::curves(), DinverDCCore::RefractionTarget::curves(), DinverDCCore::TargetList::dispersionTarget(), DinverDCCore::TargetList::ellipticityCurveTarget(), DinverDCCore::TargetList::ellipticityPeakTarget(), QGpCoreWave::AutocorrCurves::isEmpty(), QGpCoreTools::StatisticalValue< numberType >::isValid(), DinverDCCore::TargetList::magnetoTelluricTarget(), DinverDCCore::Target::minimumMisfit(), DinverDCCore::Target::misfitWeight(), on_autocorrSet_clicked(), on_dispSet_clicked(), on_ellCurveSet_clicked(), on_ellPeakSet_clicked(), on_magnetoTelluricSet_clicked(), on_refraVpSet_clicked(), on_refraVsSet_clicked(), DinverDCCore::TargetList::refractionVpTarget(), DinverDCCore::TargetList::refractionVsTarget(), DinverDCCore::Target::selected(), EllipticityPeakTargetWidget::setValue(), TRACE, updateInfo(), and DinverDCCore::ValueTarget::value().

Referenced by clear(), DCPlugin::setCurrentForward(), and DCPlugin::xml_polishChild().

{
  TRACE;
  dispSelect->setChecked(tl->dispersionTarget().selected());
  autocorrSelect->setChecked(tl->autocorrTarget().selected());
  ellCurveSelect->setChecked(tl->ellipticityCurveTarget().selected());
  ellPeakSelect->setChecked(tl->ellipticityPeakTarget().selected());
  refraVpSelect->setChecked(tl->refractionVpTarget().selected());
  refraVsSelect->setChecked(tl->refractionVsTarget().selected());
  magnetoTelluricSelect->setChecked(tl->magnetoTelluricTarget().selected());

  if(!tl->dispersionTarget().curves().isEmpty()) {
    on_dispSet_clicked();
    ASSERT(_dispWidget);
    _dispWidget->clear();
    _dispWidget->addCurves(tl->dispersionTarget().curves());
    dispWeight->setText(QString::number(tl->dispersionTarget().misfitWeight()));
    dispMinMisfit->setText(QString::number(tl->dispersionTarget().minimumMisfit()));
  } else {
    if(_dispWidget) _dispWidget->clear();
    dispWeight->setText( "1" );
    dispMinMisfit->setText( "0" );
    dispSelect->setChecked(false);
  }

  if(!tl->autocorrTarget().curves().isEmpty()) {
    on_autocorrSet_clicked();
    ASSERT(_autocorrWidget);
    _autocorrWidget->clear();
    _autocorrWidget->addCurves(tl->autocorrTarget().curves());
    autocorrWeight->setText(QString::number(tl->autocorrTarget().misfitWeight()));
    autocorrMinMisfit->setText(QString::number(tl->autocorrTarget().minimumMisfit()));
  } else {
    if(_autocorrWidget) _autocorrWidget->clear();
    autocorrSelect->setChecked(false);
    autocorrWeight->setText( "1" );
    autocorrMinMisfit->setText( "0" );
    autocorrSelect->setChecked(false);
  }

  if(!tl->ellipticityCurveTarget().curves().isEmpty()) {
    on_ellCurveSet_clicked();
    ASSERT(_ellCurveWidget);
    _ellCurveWidget->clear();
    _ellCurveWidget->addCurves(tl->ellipticityCurveTarget().curves());
    ellCurveWeight->setText(QString::number(tl->ellipticityCurveTarget().misfitWeight()));
    ellCurveMinMisfit->setText(QString::number(tl->ellipticityCurveTarget().minimumMisfit()));
  } else {
    if(_ellCurveWidget) _ellCurveWidget->clear();
    ellCurveSelect->setChecked(false);
    ellCurveWeight->setText( "1" );
    ellCurveMinMisfit->setText( "0" );
    ellCurveSelect->setChecked(false);
  }

  if(tl->ellipticityPeakTarget().value().isValid()) {
    on_ellPeakSet_clicked();
    ASSERT(_ellPeakWidget);
    _ellPeakWidget->setValue(tl->ellipticityPeakTarget().value());
    ellPeakWeight->setText(QString::number(tl->ellipticityPeakTarget().misfitWeight()));
    ellPeakMinMisfit->setText(QString::number(tl->ellipticityPeakTarget().minimumMisfit()));
  } else {
    ellPeakWeight->setText( "1" );
    ellPeakMinMisfit->setText( "0" );
    ellPeakSelect->setChecked(false);
  }

  if( !tl->refractionVpTarget().curves().isEmpty()) {
    on_refraVpSet_clicked();
    ASSERT(_refraVpWidget);
    _refraVpWidget->clear();
    _refraVpWidget->addCurves(tl->refractionVpTarget().curves());
    refraVpWeight->setText(QString::number(tl->refractionVpTarget().misfitWeight()));
    refraVpMinMisfit->setText(QString::number(tl->refractionVpTarget().minimumMisfit()));
  } else {
    if(_refraVpWidget) _refraVpWidget->clear();
    refraVpWeight->setText( "1" );
    refraVpMinMisfit->setText( "0" );
    refraVpSelect->setChecked(false);
  }

  if( !tl->refractionVsTarget().curves().isEmpty()) {
    on_refraVsSet_clicked();
    ASSERT(_refraVsWidget);
    _refraVsWidget->clear();
    _refraVsWidget->addCurves(tl->refractionVsTarget().curves());
    refraVsWeight->setText(QString::number(tl->refractionVpTarget().misfitWeight()));
    refraVsMinMisfit->setText(QString::number(tl->refractionVpTarget().minimumMisfit()));
  } else {
    if(_refraVsWidget) _refraVsWidget->clear();
    refraVsWeight->setText( "1" );
    refraVsMinMisfit->setText( "0" );
    refraVsSelect->setChecked(false);
  }

  if( !tl->magnetoTelluricTarget().curves().isEmpty()) {
    on_magnetoTelluricSet_clicked();
    ASSERT(_magnetoTelluricWidget);
    _magnetoTelluricWidget->clear();
    _magnetoTelluricWidget->addCurves(tl->magnetoTelluricTarget().curves());
    magnetoTelluricWeight->setText(QString::number(tl->magnetoTelluricTarget().misfitWeight()));
    magnetoTelluricMinMisfit->setText(QString::number(tl->magnetoTelluricTarget().minimumMisfit()));
  } else {
    if(_magnetoTelluricWidget) _magnetoTelluricWidget->clear();
    magnetoTelluricWeight->setText( "1" );
    magnetoTelluricMinMisfit->setText( "0" );
    magnetoTelluricSelect->setChecked(false);
  }

  updateInfo();
}

References ParamGroundModelWidget::find(), ParamGroundModelWidget::modelSheet, ParamGroundModelWidget::newProfile(), ParamProfileWidget::setParam(), ParamProfileWidget::shortName(), QGpCoreTools::tr(), and TRACE.

Referenced by DCPlugin::setParamFromTargets().

{
  TRACE;
  // Add eventually new profiles
  if(dispSelect->isChecked() || ellCurveSelect->isChecked() || ellPeakSelect->isChecked() || autocorrSelect->isChecked()) {
    if( !m->find( "Vp" ))
      m->newProfile() ->setParam( "Vp", tr("Compression-wave velocity"), tr("m/s"), 200, 5000,
                                  ParamProfile::Param, SimpleCondition::LessThan);
    if( !m->find( "Nu" ))
      m->newProfile() ->setParam( "Nu", tr("Poisson's Ratio"), tr(""), 0.2, 0.5,
                                  ParamProfile::Condition, SimpleCondition::GreaterThan);
    if( !m->find( "Vs" ))
      m->newProfile() ->setParam( "Vs", tr("Shear-wave velocity"), tr("m/s"), 150, 3500,
                                  ParamProfile::Param, SimpleCondition::LessThan);
    if( !m->find( "Rho" ))
      m->newProfile() ->setParam( "Rho", tr("Density"), tr("kg/m3"), 2000, 2000,
                                  ParamProfile::Param, SimpleCondition::LessThan);
    //if(autocorrSelect->isChecked() && !m->find( "Alpha" ))
    //  m->newProfile() ->setParam( "Alpha", tr("Rayleigh/Horizontal energy ratio"), tr(""), 0, 1);
  }
  if(refraVpSelect->isChecked()) {
    if( !m->find( "Vp" )) {
      m->newProfile()->setParam( "Vp", tr("Compression-wave velocity"), tr("m/s"), 200, 5000,
                                 ParamProfile::Param, SimpleCondition::LessThan);
    }
    if( !m->find( "Pitch" )) {
      m->newProfile()->setParam( "Pitch", tr("Layer pitch (from -1 to 1)"), tr(""), 0.0, 0.0,
                                 ParamProfile::Param, SimpleCondition::LessThan);
    }
  }
  if(refraVsSelect->isChecked()) {
    if( !m->find( "Vs" )) {
      m->newProfile() ->setParam( "Vs", tr("Shear-wave velocity"), tr("m/s"), 150, 3500,
                                  ParamProfile::Param, SimpleCondition::LessThan);
    }
    if(refraVpSelect->isChecked()) {
      if( !m->find( "Nu" )) {
        m->newProfile() ->setParam( "Nu", tr("Poisson's Ratio"), tr(""), 0.2, 0.5,
                                    ParamProfile::Condition, SimpleCondition::GreaterThan);
      }
    } else {
      if( !m->find( "Pitch" )) {
        m->newProfile()->setParam( "Pitch", tr("Layer pitch (from -1 to 1)"), tr(""), 0.0, 0.0,
                                  ParamProfile::Param, SimpleCondition::LessThan);
      }
    }
  }
  if(magnetoTelluricSelect->isChecked()) {
     if( !m->find( "Res" )) {
       m->newProfile()->setParam( "Res", tr("Resistivity"), tr("ohm m"), 1.0, 10000.0,
                                 ParamProfile::Param, SimpleCondition::NoCondition);
     }
  }
  // Remove useless profiles
  QList<ParamProfileWidget *> objList=m->modelSheet->widget() ->findChildren<ParamProfileWidget *>();
  for(QList<ParamProfileWidget *>::iterator it=objList.begin();it!=objList.end();++it) {
    ParamProfileWidget * cur=* it;
    QString shortName=cur->shortName();
    bool accept=false;
    if(dispSelect->isChecked() || ellCurveSelect->isChecked() || ellPeakSelect->isChecked() || autocorrSelect->isChecked()) {
      if(shortName=="Vp" || shortName=="Nu" || shortName=="Vs" || shortName=="Rho" ) accept=true;
      //if(autocorrSelect->isChecked() && shortName=="Alpha" ) accept=true;
    }
    if(refraVpSelect->isChecked()) {
      if(shortName=="Vp" || shortName=="Pitch" ) accept=true;
    }
    if(refraVsSelect->isChecked()) {
      if(refraVpSelect->isChecked()) {
        if(shortName=="Nu" ) accept=true;
      }
      if(shortName=="Vs" || shortName=="Pitch" ) accept=true;
    }
    if(magnetoTelluricSelect->isChecked()) {
      if(shortName=="Res" ) accept=true;
    }
    if( !accept) delete cur;
  }
}
void TargetListWidget::setTitles ( const QString &  name)

name can be null to reset

References _autocorrWidget, _dispWidget, _ellCurveWidget, _ellPeakWidget, _magnetoTelluricWidget, _refraVpWidget, _refraVsWidget, QGpCoreTools::tr(), and TRACE.

Referenced by DCPlugin::setCurrentForward().

{
  TRACE;
  if( !name.isEmpty()) {
    if(_dispWidget) _dispWidget->setWindowTitle(tr("Dispersion curve target of %1").arg(name));
    if(_autocorrWidget) _autocorrWidget->setWindowTitle(tr("Autocorrelation curve target of %1").arg(name));
    if(_ellCurveWidget) _ellCurveWidget->setWindowTitle(tr("Ellipticity curve target of %1").arg(name));
    if(_ellPeakWidget) _ellPeakWidget->setWindowTitle(tr("Ellipticity peak target of %1").arg(name));
    if(_refraVpWidget) _refraVpWidget->setWindowTitle(tr("Refraction Vp target of %1").arg(name));
    if(_refraVsWidget) _refraVsWidget->setWindowTitle(tr("Refraction Vs target of %1").arg(name));
    if(_magnetoTelluricWidget) _magnetoTelluricWidget->setWindowTitle(tr("Magneto-telluric target of %1").arg(name));
  } else {
    if(_dispWidget) _dispWidget->setWindowTitle(tr("Dispersion curve target"));
    if(_autocorrWidget) _autocorrWidget->setWindowTitle(tr("Autocorrelation curve target"));
    if(_ellCurveWidget) _ellCurveWidget->setWindowTitle(tr("Ellipticity curve target"));
    if(_ellPeakWidget) _ellPeakWidget->setWindowTitle(tr("Ellipticity peak target"));
    if(_refraVpWidget) _refraVpWidget->setWindowTitle(tr("Refraction Vp target"));
    if(_refraVsWidget) _refraVsWidget->setWindowTitle(tr("Refraction Vs target"));
    if(_magnetoTelluricWidget) _magnetoTelluricWidget->setWindowTitle(tr("Magneto-telluric target"));
  }
}

Referenced by updateInfo().

References _autocorrWidget, _dispWidget, _ellCurveWidget, _ellPeakWidget, _magnetoTelluricWidget, _refraVpWidget, _refraVsWidget, DinverDCCore::TargetList::autocorrTarget(), RefractionTargetWidget::curves(), MagnetoTelluricTargetWidget::curves(), AutocorrTargetWidget::curves(), QGpGuiWave::ModalCurveBrowser::curves(), DinverDCCore::TargetList::dispersionTarget(), DinverDCCore::TargetList::ellipticityCurveTarget(), DinverDCCore::TargetList::ellipticityPeakTarget(), DinverDCCore::TargetList::magnetoTelluricTarget(), DinverDCCore::TargetList::refractionVpTarget(), DinverDCCore::TargetList::refractionVsTarget(), DinverDCCore::RefractionTarget::setCurves(), DinverDCCore::AutocorrTarget::setCurves(), DinverDCCore::ModalCurveTarget::setCurves(), DinverDCCore::MagnetoTelluricTarget::setCurves(), DinverDCCore::Target::setMinimumMisfit(), DinverDCCore::Target::setMisfitWeight(), DinverDCCore::Target::setSelected(), DinverDCCore::ValueTarget::setValue(), TRACE, DinverDCCore::TargetList::validateTargets(), and EllipticityPeakTargetWidget::value().

Referenced by DCPlugin::autocorrViewer(), DCPlugin::dispersionViewer(), DCPlugin::ellipticityViewer(), DCPlugin::initForward(), DCPlugin::magnetoTelluricViewer(), DCPlugin::refractionVpViewer(), DCPlugin::refractionVsViewer(), DCPlugin::setCurrentForward(), and DCPlugin::xml_writeChildren().

{
  TRACE;
  TargetList * tl=new TargetList;
  tl->dispersionTarget().setSelected(dispSelect->isChecked());
  tl->autocorrTarget().setSelected(autocorrSelect->isChecked());
  tl->ellipticityCurveTarget().setSelected(ellCurveSelect->isChecked());
  tl->ellipticityPeakTarget().setSelected(ellPeakSelect->isChecked());
  tl->refractionVpTarget().setSelected(refraVpSelect->isChecked());
  tl->refractionVsTarget().setSelected(refraVsSelect->isChecked());
  tl->magnetoTelluricTarget().setSelected(magnetoTelluricSelect->isChecked());

  if(_dispWidget) {
    tl->dispersionTarget().setCurves(_dispWidget->curves());
    tl->dispersionTarget().setMisfitWeight(dispWeight->text().toDouble());
    tl->dispersionTarget().setMinimumMisfit(dispMinMisfit->text().toDouble());
  }
  if(_autocorrWidget) {
    tl->autocorrTarget().setCurves(_autocorrWidget->curves());
    tl->autocorrTarget().setMisfitWeight(autocorrWeight->text().toDouble());
    tl->autocorrTarget().setMinimumMisfit(autocorrMinMisfit->text().toDouble());
  }
  if(_ellCurveWidget) {
    tl->ellipticityCurveTarget().setCurves(_ellCurveWidget->curves());
    tl->ellipticityCurveTarget().setMisfitWeight(ellCurveWeight->text().toDouble());
    tl->ellipticityCurveTarget().setMinimumMisfit(ellCurveMinMisfit->text().toDouble());
  }
  if(_ellPeakWidget) {
    tl->ellipticityPeakTarget().setValue(_ellPeakWidget->value());
    tl->ellipticityPeakTarget().setMisfitWeight(ellPeakWeight->text().toDouble());
    tl->ellipticityPeakTarget().setMinimumMisfit(ellPeakMinMisfit->text().toDouble());
  }
  if(_refraVpWidget) {
    tl->refractionVpTarget().setCurves(_refraVpWidget->curves());
    tl->refractionVpTarget().setMisfitWeight(refraVpWeight->text().toDouble());
    tl->refractionVpTarget().setMinimumMisfit(refraVpMinMisfit->text().toDouble());
  }
  if(_refraVsWidget) {
    tl->refractionVsTarget().setCurves(_refraVsWidget->curves());
    tl->refractionVsTarget().setMisfitWeight(refraVsWeight->text().toDouble());
    tl->refractionVsTarget().setMinimumMisfit(refraVsMinMisfit->text().toDouble());
  }
  if(_magnetoTelluricWidget) {
    tl->magnetoTelluricTarget().setCurves(_magnetoTelluricWidget->curves());
    tl->magnetoTelluricTarget().setMisfitWeight(magnetoTelluricWeight->text().toDouble());
    tl->magnetoTelluricTarget().setMinimumMisfit(magnetoTelluricMinMisfit->text().toDouble());
  }
  tl->validateTargets();
  return tl;
}

References _autocorrWidget, _dispWidget, _ellCurveWidget, _ellPeakWidget, _magnetoTelluricWidget, _refraVpWidget, _refraVsWidget, AutocorrTargetWidget::count(), SciFigs::CurveBrowser::count(), QGpCoreTools::StatisticalValue< numberType >::mean(), str, targetChanged(), QGpCoreTools::tr(), TRACE, and EllipticityPeakTargetWidget::value().

Referenced by on_autocorrSelect_toggled(), on_autocorrSet_clicked(), on_dispSelect_toggled(), on_dispSet_clicked(), on_ellCurveSelect_toggled(), on_ellCurveSet_clicked(), on_ellPeakSelect_toggled(), on_ellPeakSet_clicked(), on_magnetoTelluricSelect_toggled(), on_magnetoTelluricSet_clicked(), on_refraVpSelect_toggled(), on_refraVpSet_clicked(), on_refraVsSelect_toggled(), on_refraVsSet_clicked(), setFrom(), and TargetListWidget().

{
  TRACE;
  QString str;
  if(dispSelect->isChecked() && _dispWidget) {
    str+=tr("%1 dispersion curves").arg(_dispWidget->count());
  }
  if(autocorrSelect->isChecked() && _autocorrWidget) {
    if(!str.isEmpty()) str+=", ";
    str+=tr("%1 autocorelation curves").arg(_autocorrWidget->count());
  }
  if(ellCurveSelect->isChecked() && _ellCurveWidget) {
    if(!str.isEmpty()) str+=", ";
    str+=tr("%1 ellipticity curves").arg(_ellCurveWidget->count());
  }
  if(ellPeakSelect->isChecked() && _ellPeakWidget) {
    if(!str.isEmpty()) str+=", ";
    str+=tr("ellipticity peak at %1 Hz").arg(_ellPeakWidget->value().mean());
  }
  if(refraVpSelect->isChecked() && _refraVpWidget) {
    if(!str.isEmpty()) str+=", ";
    str+=tr("%1 refraction Vp curves").arg(_refraVpWidget->count());
  }
  if(refraVsSelect->isChecked() && _refraVsWidget) {
    if(!str.isEmpty()) str+=", ";
    str+=tr("%1 refraction Vs curves").arg(_refraVsWidget->count());
  }
  if(magnetoTelluricSelect->isChecked() && _magnetoTelluricWidget) {
    if(!str.isEmpty()) str+=", ";
    str+=tr("%1 magneto-telluric curves").arg(_magnetoTelluricWidget->count());
  }
  if(str.isEmpty()) str=tr("No target curve defined");
  info->setText(str);
  emit targetChanged();
}

Member Data Documentation


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