BornAgain
1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
|
Axis with variable bin size.
Definition at line 23 of file VariableBinAxis.h.
Public Member Functions | |
VariableBinAxis (const std::string &name, const std::vector< double > &bin_boundaries) | |
VariableBinAxis constructor. More... | |
~VariableBinAxis () override=default | |
std::string | axisName () const |
Returns the label of the axis. More... | |
Bin1D | bin (size_t index) const override |
retrieve a 1d bin for the given index More... | |
std::vector< double > | binBoundaries () const override |
double | binCenter (size_t index) const override |
std::vector< double > | binCenters () const override |
std::pair< double, double > | bounds () const |
Returns lower and upper bound in a pair. first is lower, second is upper. More... | |
double | center () const |
Returns midpoint of axis. More... | |
void | clip (double lower, double upper) override |
Clips this axis to the given values. More... | |
void | clip (std::pair< double, double > bounds) |
Convenience overload to clip this axis to the given values. bounds.first is lower, bounds.second is upper value. More... | |
VariableBinAxis * | clone () const override |
virtual bool | contains (double value) const |
Returns true if axis contains given point. More... | |
size_t | findClosestIndex (double value) const override |
find bin index which is best match for given value More... | |
double | max () const override |
Returns value of last point of axis. More... | |
double | min () const override |
Returns value of first point of axis. More... | |
bool | operator!= (const IAxis &right) const |
bool | operator== (const IAxis &right) const |
test for equality More... | |
double | operator[] (size_t index) const override |
indexed accessor retrieves a sample More... | |
void | setAxisName (std::string name) |
Sets the axis label. More... | |
size_t | size () const override |
Returns the number of bins. More... | |
double | span () const |
Returns distance from first to last point. More... | |
Protected Member Functions | |
VariableBinAxis (const std::string &name, size_t nbins=0) | |
bool | equals (const IAxis &other) const override |
void | print (std::ostream &ostr) const override |
void | setBinBoundaries (const std::vector< double > &bin_boundaries) |
Protected Attributes | |
size_t | m_nbins |
Private Attributes | |
std::vector< double > | m_bin_boundaries |
vector containing the bin limits More... | |
std::string | m_name |
axis name More... | |
VariableBinAxis::VariableBinAxis | ( | const std::string & | name, |
const std::vector< double > & | bin_boundaries | ||
) |
VariableBinAxis constructor.
name | Axis name |
bin_boundaries | Array of size nbins+1 containing low-edges for each bin and upper edge of last bin. |
Definition at line 21 of file VariableBinAxis.cpp.
References setBinBoundaries().
Referenced by clone().
|
overridedefault |
|
explicitprotected |
Definition at line 28 of file VariableBinAxis.cpp.
|
inlineinherited |
Returns the label of the axis.
Definition at line 61 of file IAxis.h.
References IAxis::m_name.
Referenced by ConstKBinAxis::clone(), CustomBinAxis::clone(), FixedBinAxis::clone(), PointwiseAxis::clone(), clone(), IAxis::equals(), ConstKBinAxis::print(), CustomBinAxis::print(), FixedBinAxis::print(), PointwiseAxis::print(), and print().
|
overridevirtual |
retrieve a 1d bin for the given index
Implements IAxis.
Definition at line 45 of file VariableBinAxis.cpp.
References m_bin_boundaries, and m_nbins.
Referenced by binCenter(), binCenters(), ConstKBinAxis::clip(), clip(), and operator[]().
|
inlineoverridevirtual |
Reimplemented from IAxis.
Definition at line 48 of file VariableBinAxis.h.
References m_bin_boundaries.
Referenced by ConstKBinAxis::clip().
|
overridevirtual |
Implements IAxis.
Definition at line 64 of file VariableBinAxis.cpp.
References bin(), and Bin1D::center().
|
overridevirtual |
Reimplemented from IAxis.
Definition at line 86 of file VariableBinAxis.cpp.
References bin(), Bin1D::center(), and size().
|
inherited |
Returns lower and upper bound in a pair. first is lower, second is upper.
Definition at line 50 of file IAxis.cpp.
References IAxis::max(), and IAxis::min().
Referenced by IAxis::clip().
|
inherited |
Returns midpoint of axis.
Definition at line 60 of file IAxis.cpp.
References IAxis::max(), and IAxis::min().
|
overridevirtual |
Clips this axis to the given values.
Reimplemented from IAxis.
Definition at line 95 of file VariableBinAxis.cpp.
References bin(), Bin1D::center(), findClosestIndex(), m_bin_boundaries, m_nbins, max(), min(), setBinBoundaries(), and size().
|
inherited |
Convenience overload to clip this axis to the given values. bounds.first is lower, bounds.second is upper value.
Definition at line 40 of file IAxis.cpp.
References IAxis::bounds(), and IAxis::clip().
|
overridevirtual |
Implements IAxis.
Definition at line 34 of file VariableBinAxis.cpp.
References VariableBinAxis(), IAxis::axisName(), and m_bin_boundaries.
|
virtualinherited |
Returns true if axis contains given point.
Definition at line 45 of file IAxis.cpp.
References IAxis::max(), and IAxis::min().
Referenced by RectangularDetector::indexOfSpecular(), and SphericalDetector::indexOfSpecular().
|
overrideprotectedvirtual |
Reimplemented from IAxis.
Definition at line 129 of file VariableBinAxis.cpp.
References BaseUtils::algo::almostEqual(), IAxis::equals(), m_bin_boundaries, and size().
|
overridevirtual |
find bin index which is best match for given value
Implements IAxis.
Definition at line 69 of file VariableBinAxis.cpp.
References m_bin_boundaries, m_nbins, max(), and min().
Referenced by ConstKBinAxis::clip(), and clip().
|
overridevirtual |
Returns value of last point of axis.
Implements IAxis.
Definition at line 59 of file VariableBinAxis.cpp.
References m_bin_boundaries.
Referenced by ConstKBinAxis::clip(), clip(), and findClosestIndex().
|
overridevirtual |
Returns value of first point of axis.
Implements IAxis.
Definition at line 54 of file VariableBinAxis.cpp.
References m_bin_boundaries.
Referenced by ConstKBinAxis::clip(), clip(), and findClosestIndex().
|
inlineinherited |
|
inlineinherited |
test for equality
Definition at line 89 of file IAxis.h.
References IAxis::equals().
|
overridevirtual |
indexed accessor retrieves a sample
Implements IAxis.
Definition at line 40 of file VariableBinAxis.cpp.
References bin(), and Bin1D::center().
|
overrideprotectedvirtual |
Implements IAxis.
Definition at line 118 of file VariableBinAxis.cpp.
References IAxis::axisName(), m_bin_boundaries, and size().
|
inlineinherited |
|
protected |
Definition at line 146 of file VariableBinAxis.cpp.
References m_bin_boundaries.
Referenced by ConstKBinAxis::ConstKBinAxis(), CustomBinAxis::CustomBinAxis(), VariableBinAxis(), ConstKBinAxis::clip(), and clip().
|
inlineoverridevirtual |
Returns the number of bins.
Implements IAxis.
Definition at line 34 of file VariableBinAxis.h.
References m_nbins.
Referenced by binCenters(), ConstKBinAxis::clip(), clip(), ConstKBinAxis::equals(), CustomBinAxis::equals(), equals(), ConstKBinAxis::print(), CustomBinAxis::print(), and print().
|
inherited |
Returns distance from first to last point.
Definition at line 55 of file IAxis.cpp.
References IAxis::max(), and IAxis::min().
Referenced by RectangularDetector::height(), and RectangularDetector::width().
|
private |
vector containing the bin limits
Definition at line 61 of file VariableBinAxis.h.
Referenced by bin(), binBoundaries(), clip(), clone(), equals(), findClosestIndex(), max(), min(), print(), and setBinBoundaries().
|
privateinherited |
axis name
Definition at line 103 of file IAxis.h.
Referenced by IAxis::axisName(), and IAxis::setAxisName().
|
protected |
Definition at line 58 of file VariableBinAxis.h.
Referenced by ConstKBinAxis::ConstKBinAxis(), CustomBinAxis::CustomBinAxis(), CustomBinAxis::bin(), bin(), ConstKBinAxis::clip(), clip(), ConstKBinAxis::clone(), CustomBinAxis::clone(), findClosestIndex(), and size().