27 const bool use_fit_objective =
true;
36 , m_block_progress_update(false)
64 [
this](
const QString&
name) {
87 }
catch (std::exception& e) {
106 auto progressInfo =
m_observer->progressInfo();
111 if (!use_fit_objective)
116 if (!progressInfo.logInfo().empty())
152 message.append(
"Current settings cause fitting failure.\n\n");
153 message.append(text);
177 QString message = QString(
"NCalls:%1 chi2:%2 \n").arg(info.
iterationCount()).arg(info.
chi2());
184 QString parinfo = QString(
" %1 %2\n").arg(item->displayName()).arg(values[index++]);
185 message.append(parinfo);
#define ASSERT(condition)
Defines class FitObjectiveBuilder.
Defines FitParameterItems family of classes.
Defines class FitSessionController.
Defines class FitSuiteItem.
Implements class FitWorkerLauncher.
Implements class GUIFitObserver.
Defines class GUIHelpers functions.
Defines class IntensityDataItem.
void setRawDataVector(std::vector< double > data)
Sets the raw data vector from external source Checks only the equality of data size,...
static const QString T_FIT_PARAMETERS
void setValuesInParameterContainer(const QVector< double > &values, class ParameterContainerItem *parameterContainer)
Propagate values to the corresponding parameter tree items of parameterContainer.
static const QString T_LINK
The FitProgressInfo class contains all essential information about fit progress.
std::vector< double > parValues() const
int iterationCount() const
void onStopFittingRequest()
void onStartFittingRequest()
void onFittingError(const QString &text)
std::shared_ptr< GUIFitObserver > m_observer
std::unique_ptr< FitLog > m_fitlog
void fittingError(const QString &message)
void updateIterationCount(const FitProgressInfo &info)
FitWorkerLauncher * m_runFitManager
void updateFitParameterValues(const FitProgressInfo &info)
void updateLog(const FitProgressInfo &info)
FitSessionController(QObject *parent=nullptr)
std::shared_ptr< FitObjectiveBuilder > m_objectiveBuilder
void setItem(JobItem *item)
static const QString P_UPDATE_INTERVAL
static const QString P_CHI2
static const QString P_ITERATION_COUNT
void runFitting(std::shared_ptr< FitObjectiveBuilder > suite)
void fittingError(const QString &message)
int getDuration()
Returns duration of fit in msec.
Serves as observer for FitObjective and saves fit iteration data for later display in GUI widgets.
void setProgress(int progress)
FitParameterContainerItem * fitParameterContainerItem()
FitSuiteItem * fitSuiteItem()
void setBeginTime(const QString &begin_time)
QString getStatus() const
void setDuration(int duration)
ParameterContainerItem * parameterContainerItem()
void setStatus(const QString &status)
void setEndTime(const QString &end_time)
void setOnPropertyChange(std::function< void(QString)> f, const void *caller=0)
QVector< SessionItem * > getItems(const QString &tag="") const
Returns vector of all items of given tag.
QVariant getItemValue(const QString &tag) const
Directly access value of item under given tag.
ModelMapper * mapper()
Returns the current model mapper of this item. Creates new one if necessary.
void setItemValue(const QString &tag, const QVariant &variant)
Directly set value of item under given tag.
QString currentDateTime()
QVector< double > fromStdVector(const std::vector< double > &data)
QString const & name(EShape k)