15 #ifndef BORNAGAIN_CORE_DETECTOR_SCANRESOLUTION_H
16 #define BORNAGAIN_CORE_DETECTOR_SCANRESOLUTION_H
31 using DistrOutput = std::vector<std::vector<ParameterSample>>;
37 const std::vector<double>& stddevs);
40 const std::vector<double>& stddevs);
46 size_t nSamples()
const;
48 virtual DistrOutput generateSamples(
double mean,
size_t n_times)
const = 0;
49 virtual DistrOutput generateSamples(
const std::vector<double>& mean)
const = 0;
50 virtual std::vector<double> stdDevs(
double mean,
size_t n_times)
const = 0;
51 virtual std::vector<double> stdDevs(
const std::vector<double>& mean)
const = 0;
52 bool empty()
const {
return !m_distr; }
55 std::string
print()
const;
60 virtual std::string name()
const = 0;
61 virtual std::string printStdDevs()
const = 0;
64 std::unique_ptr<RangedDistribution> m_distr;
69 return os << scan_resolution.
print();
Defines and implements the standard mix-in ICloneable.
Defines class ParameterSample.
std::ostream & operator<<(std::ostream &os, const BasicVector3D< T > &a)
Output to stream.
Interface for polymorphic classes that should not be copied, except by explicit cloning.
Interface for one-dimensional ranged distributions.
Limits for a real fit parameter.
Container for reflectivity resolution data.
std::string print() const
Prints object definition in python format.