BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
FitWorker.cpp
Go to the documentation of this file.
1 // ************************************************************************************************
2 //
3 // BornAgain: simulate and fit reflection and scattering
4 //
5 //! @file GUI/coregui/Views/FitWidgets/FitWorker.cpp
6 //! @brief Implements class FitWorker
7 //!
8 //! @homepage http://www.bornagainproject.org
9 //! @license GNU General Public License v3 or higher (see COPYING)
10 //! @copyright Forschungszentrum Jülich GmbH 2018
11 //! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS)
12 //
13 // ************************************************************************************************
14 
17 #include <QDateTime>
18 
20 {
21  int duration(0);
22  QDateTime beginTime = QDateTime::currentDateTime();
23 
24  emit started();
25  try {
26  m_fit_objective->runFit();
27  duration = durationSince(beginTime);
28 
29  } catch (const std::exception& ex) {
30  duration = durationSince(beginTime);
31  emit error(QString::fromLatin1(ex.what()));
32  }
33  emit finished(duration);
34 }
35 
37 {
38  if (m_fit_objective)
39  m_fit_objective->interruptFitting();
40 }
41 
42 int FitWorker::durationSince(const QDateTime& since)
43 {
44  QDateTime endTime = QDateTime::currentDateTime();
45  return int(since.msecsTo(endTime));
46 }
Defines class FitObjectiveBuilder.
Implements class FitWorker.
std::shared_ptr< FitObjectiveBuilder > m_fit_objective
Definition: FitWorker.h:45
void interruptFitting()
Definition: FitWorker.cpp:36
void finished(int duration)
int durationSince(const class QDateTime &since)
Definition: FitWorker.cpp:42
void startFit()
Definition: FitWorker.cpp:19
void started()
void error(const QString &message)
QString currentDateTime()
Definition: GUIHelpers.cpp:210