15 #ifndef BORNAGAIN_CORE_FITTING_FITOBJECTIVE_H 
   16 #define BORNAGAIN_CORE_FITTING_FITOBJECTIVE_H 
   72     virtual std::vector<double> evaluate_residuals(
const Fit::Parameters& params);
 
   74     size_t numberOfFitElements() 
const;
 
  100     unsigned fitObjectCount() 
const;
 
  106     void setObjectiveMetric(
const std::string& metric);
 
  110     void setObjectiveMetric(
const std::string& metric, 
const std::string& norm);
 
  121     void initPlot(
int every_nth, fit_observer_t observer);
 
  123     bool isCompleted() 
const;
 
  125     void interruptFitting();
 
  127     bool isInterrupted() 
const;
 
  129     bool isFirstIteration() 
const;
 
  131     void setObjectiveMetric(std::unique_ptr<ObjectiveMetric> metric);
 
  135     typedef std::vector<double> (
SimDataPair::*DataPairAccessor)() 
const;
 
  137     std::vector<double> composeArray(DataPairAccessor getter) 
const;
 
  138     size_t check_index(
size_t index) 
const;
 
  140     std::vector<SimDataPair> m_fit_objects;
 
  141     std::unique_ptr<IMetricWrapper> m_metric_module;
 
  142     std::unique_ptr<FitStatus> m_fit_status;
 
Defines various functions to interact from numpy on Python side.
 
Defines class IterationInfo.
 
Defines class MinimizerResult.
 
Defines class SimDataPair.
 
Holds vector of SimDataPairs (experimental data and simulation results) for use in fitting.
 
SimulationResult uncertaintyData(size_t i_item=0) const
Returns experimental data uncertainties in the form of SimulationResult.
 
void addSimulationAndData(PyBuilderCallback &callback, const T &data, const T &uncertainties, double weight=1.0)
Constructs simulation/data pair for later fit.
 
void addSimulationAndData(simulation_builder_t builder, const OutputData< double > &data, std::unique_ptr< OutputData< double >> uncertainties, double weight=1.0)
Constructs simulation/data pair for later fit.
 
bool allPairsHaveUncertainties() const
Returns true if all the data pairs in FitObjective instance contain uncertainties.
 
SimulationResult relativeDifference(size_t i_item=0) const
Returns relative difference between simulation and experimental data in the form of SimulationResult.
 
void addSimulationAndData(PyBuilderCallback &callback, const T &data, double weight=1.0)
Constructs simulation/data pair for later fit.
 
void finalize(const Fit::MinimizerResult &result)
Should be explicitely called on last iteration to notify all observers.
 
void initPlot(int every_nth, PyObserverCallback &callback)
Initializes observer callback to be called on every_nth fit iteration.
 
std::vector< double > uncertainties() const
Returns one-dimensional array representing merged data uncertainties.
 
SimulationResult experimentalData(size_t i_item=0) const
Returns experimental data in the form of SimulationResult.
 
static std::string availableMetricOptions()
Returns available metrics and norms.
 
bool containsUncertainties(size_t i_item) const
Returns true if the specified DataPair element contains uncertainties.
 
SimulationResult simulationResult(size_t i_item=0) const
Returns simulation result in the form of SimulationResult.
 
void initPrint(int every_nth)
Initializes printing to standard output on every_nth fit iteration.
 
std::vector< double > weights_array() const
Returns one-dimensional array representing merged user weights.
 
std::vector< double > experimental_array() const
Returns one dimensional array representing merged experimental data.
 
SimulationResult absoluteDifference(size_t i_item=0) const
Returns absolute value of difference between simulation and experimental data in the form of Simulati...
 
const SimDataPair & dataPair(size_t i_item=0) const
Returns a reference to i-th SimDataPair.
 
std::vector< double > simulation_array() const
Returns one dimensional array representing merged simulated intensities data.
 
Contains status of the fitting (running, interupted etc) and all intermediate information which has t...
 
Result of minimization round.
 
A collection of fit parameters.
 
Interface residual calculations.
 
Stores fit iteration info to track fit flow from various observers.
 
Base class for metric implementations.
 
Builds simulation object using a Python callable.
 
Observer for FitObjective based on Python callable.
 
Holds pair of simulation/experimental data to fit.
 
Wrapper around OutputData<double> that also provides unit conversions.
 
CreateDataImpl::ReturnType< T > createData(const T &vec)
Creates OutputData array from input vector.