15 #ifndef BORNAGAIN_CORE_AXIS_VARIABLEBINAXIS_H
16 #define BORNAGAIN_CORE_AXIS_VARIABLEBINAXIS_H
32 const std::vector<double>& bin_boundaries);
37 size_t size()
const {
return m_nbins; }
46 double getBinCenter(
size_t index)
const;
50 std::vector<double> getBinCenters()
const;
51 std::vector<double> getBinBoundaries()
const {
return m_bin_boundaries; }
55 std::string pyString(
const std::string& units,
size_t offset)
const final;
59 void setBinBoundaries(
const std::vector<double>& bin_boundaries);
61 virtual void print(std::ostream& ostr)
const;
62 virtual bool equals(
const IAxis& other)
const;
66 std::vector<double> m_bin_boundaries;
Interface for one-dimensional axes.
Axis with variable bin size.
double getMax() const
Returns value of last point of axis.
size_t size() const
retrieve the number of bins
double operator[](size_t index) const
indexed accessor retrieves a sample
Bin1D getBin(size_t index) const
retrieve a 1d bin for the given index
double getMin() const
Returns value of first point of axis.
VariableBinAxis(const std::string &name, size_t nbins, const std::vector< double > &bin_boundaries)
VariableBinAxis constructor.
virtual VariableBinAxis * createClippedAxis(double left, double right) const
Creates a new clipped axis.
size_t findClosestIndex(double value) const
find bin index which is best match for given value
VariableBinAxis * clone() const
clone function