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 fixed bin size in sin(angle) space used for numerical comparison with IsGisaxs. The main feature of the axis is that it produces zero bin sizes.
Definition at line 24 of file CustomBinAxis.h.
Public Member Functions | |
CustomBinAxis (const std::string &name, size_t nbins, double start, double end) | |
CustomBinAxis constructor. More... | |
~CustomBinAxis () 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... | |
CustomBinAxis * | 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 | |
bool | equals (const IAxis &other) const override |
void | print (std::ostream &ostr) const override |
void | setBinBoundaries (const std::vector< double > &bin_boundaries) |
Protected Attributes | |
std::vector< double > | m_bin_centers |
double | m_end |
size_t | m_nbins |
double | m_start |
Private Attributes | |
std::vector< double > | m_bin_boundaries |
vector containing the bin limits More... | |
std::string | m_name |
axis name More... | |
CustomBinAxis::CustomBinAxis | ( | const std::string & | name, |
size_t | nbins, | ||
double | start, | ||
double | end | ||
) |
CustomBinAxis constructor.
name | Axis name |
nbins | number of bins |
start | center of first bin (IsGisaxs convention) |
end | center of last bin (IsGisaxs convention) |
Definition at line 22 of file CustomBinAxis.cpp.
References m_bin_centers, m_end, VariableBinAxis::m_nbins, m_start, and VariableBinAxis::setBinBoundaries().
Referenced by clone().
|
overridedefault |
|
inlineinherited |
Returns the label of the axis.
Definition at line 61 of file IAxis.h.
References IAxis::m_name.
Referenced by ConstKBinAxis::clone(), clone(), FixedBinAxis::clone(), PointwiseAxis::clone(), VariableBinAxis::clone(), IAxis::equals(), ConstKBinAxis::print(), print(), FixedBinAxis::print(), PointwiseAxis::print(), and VariableBinAxis::print().
|
overridevirtual |
retrieve a 1d bin for the given index
Implements IAxis.
Definition at line 51 of file CustomBinAxis.cpp.
References m_bin_centers, and VariableBinAxis::m_nbins.
|
inlineoverridevirtualinherited |
Reimplemented from IAxis.
Definition at line 48 of file VariableBinAxis.h.
References VariableBinAxis::m_bin_boundaries.
Referenced by ConstKBinAxis::clip().
|
overridevirtualinherited |
Implements IAxis.
Definition at line 64 of file VariableBinAxis.cpp.
References VariableBinAxis::bin(), and Bin1D::center().
|
overridevirtual |
Reimplemented from IAxis.
Definition at line 60 of file CustomBinAxis.cpp.
References m_bin_centers.
|
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 65 of file CustomBinAxis.cpp.
|
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 46 of file CustomBinAxis.cpp.
References CustomBinAxis(), IAxis::axisName(), m_end, VariableBinAxis::m_nbins, and m_start.
|
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 78 of file CustomBinAxis.cpp.
References BaseUtils::algo::almostEqual(), IAxis::equals(), m_end, m_start, and VariableBinAxis::size().
|
overridevirtualinherited |
find bin index which is best match for given value
Implements IAxis.
Definition at line 69 of file VariableBinAxis.cpp.
References VariableBinAxis::m_bin_boundaries, VariableBinAxis::m_nbins, VariableBinAxis::max(), and VariableBinAxis::min().
Referenced by ConstKBinAxis::clip(), and VariableBinAxis::clip().
|
overridevirtualinherited |
Returns value of last point of axis.
Implements IAxis.
Definition at line 59 of file VariableBinAxis.cpp.
References VariableBinAxis::m_bin_boundaries.
Referenced by ConstKBinAxis::clip(), VariableBinAxis::clip(), and VariableBinAxis::findClosestIndex().
|
overridevirtualinherited |
Returns value of first point of axis.
Implements IAxis.
Definition at line 54 of file VariableBinAxis.cpp.
References VariableBinAxis::m_bin_boundaries.
Referenced by ConstKBinAxis::clip(), VariableBinAxis::clip(), and VariableBinAxis::findClosestIndex().
|
inlineinherited |
|
inlineinherited |
test for equality
Definition at line 89 of file IAxis.h.
References IAxis::equals().
|
overridevirtualinherited |
indexed accessor retrieves a sample
Implements IAxis.
Definition at line 40 of file VariableBinAxis.cpp.
References VariableBinAxis::bin(), and Bin1D::center().
|
overrideprotectedvirtual |
Implements IAxis.
Definition at line 71 of file CustomBinAxis.cpp.
References IAxis::axisName(), m_end, m_start, and VariableBinAxis::size().
|
inlineinherited |
|
protectedinherited |
Definition at line 146 of file VariableBinAxis.cpp.
References VariableBinAxis::m_bin_boundaries.
Referenced by ConstKBinAxis::ConstKBinAxis(), CustomBinAxis(), VariableBinAxis::VariableBinAxis(), ConstKBinAxis::clip(), and VariableBinAxis::clip().
|
inlineoverridevirtualinherited |
Returns the number of bins.
Implements IAxis.
Definition at line 34 of file VariableBinAxis.h.
References VariableBinAxis::m_nbins.
Referenced by VariableBinAxis::binCenters(), ConstKBinAxis::clip(), VariableBinAxis::clip(), ConstKBinAxis::equals(), equals(), VariableBinAxis::equals(), ConstKBinAxis::print(), print(), and VariableBinAxis::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().
|
privateinherited |
vector containing the bin limits
Definition at line 61 of file VariableBinAxis.h.
Referenced by VariableBinAxis::bin(), VariableBinAxis::binBoundaries(), VariableBinAxis::clip(), VariableBinAxis::clone(), VariableBinAxis::equals(), VariableBinAxis::findClosestIndex(), VariableBinAxis::max(), VariableBinAxis::min(), VariableBinAxis::print(), and VariableBinAxis::setBinBoundaries().
|
protected |
Definition at line 48 of file CustomBinAxis.h.
Referenced by CustomBinAxis(), bin(), and binCenters().
|
protected |
Definition at line 47 of file CustomBinAxis.h.
Referenced by CustomBinAxis(), clone(), equals(), and print().
|
privateinherited |
axis name
Definition at line 103 of file IAxis.h.
Referenced by IAxis::axisName(), and IAxis::setAxisName().
|
protectedinherited |
Definition at line 58 of file VariableBinAxis.h.
Referenced by ConstKBinAxis::ConstKBinAxis(), CustomBinAxis(), bin(), VariableBinAxis::bin(), ConstKBinAxis::clip(), VariableBinAxis::clip(), ConstKBinAxis::clone(), clone(), VariableBinAxis::findClosestIndex(), and VariableBinAxis::size().
|
protected |
Definition at line 46 of file CustomBinAxis.h.
Referenced by CustomBinAxis(), clone(), equals(), and print().