21 : m_fit_status(IDLE), m_fit_objective(fit_objective)
25 FitStatus::~FitStatus() =
default;
27 void FitStatus::setInterrupted()
29 m_fit_status = INTERRUPTED;
32 bool FitStatus::isInterrupted()
const
34 return m_fit_status == INTERRUPTED;
37 bool FitStatus::isCompleted()
const
39 return m_fit_status == COMPLETED;
45 m_fit_status = RUNNING;
47 m_iterationInfo.update(params, chi2);
49 m_observers.
notify(*m_fit_objective);
52 void FitStatus::initPrint(
int every_nth)
57 m_print_service->print(objective);
60 addObserver(every_nth, callback);
63 void FitStatus::addObserver(
int every_nth, fit_observer_t observer)
70 return m_iterationInfo;
75 if (!m_minimizer_result)
76 throw std::runtime_error(
"FitStatus::minimizerResult() -> Minimizer result wasn't set. "
77 "Make sure that FitObjective::finalize() was called.");
85 m_fit_status = COMPLETED;
86 m_observers.notify_all(*m_fit_objective);
Defines class FitPrintService.
Defines class MinimizerResult.
Holds vector of SimDataPairs (experimental data and simulation results) for use in fitting.
Contains collection of observers and call them at specified intervals.
void notify(const T &data)
Notifies all observers at their personally specified intervals.
void addObserver(int every_nth, observer_t observer)
Adds observer to the list.
Prints fit statistics to standard output during minimizer iterations.
void finalize(const Fit::MinimizerResult &result)
Should be explicitely called on last iteration to notify all observers.
Result of minimization round.
A collection of fit parameters.
Stores fit iteration info to track fit flow from various observers.