Tomographer
v3.0
Tomographer C++ Framework Documentation
|
Combines several histograms (with same parameters) into an averaged histogram. More...
#include <tomographer/histogram.h>
Public Types | |
typedef HistogramType_ | HistogramType |
Type of the individual histograms we are averaging. More... | |
typedef UniformBinsHistogramWithErrorBars< typename HistogramType_::Scalar, RealAvgType > | Base_ |
Shortcut for our base class' type. | |
typedef Base_::Params | Params |
The histogram parameters' type. See UniformBinsHistogramWithErrorBars::Params. | |
typedef Base_::Scalar | Scalar |
The histogram's X-axis scalar type. See UniformBinsHistogramWithErrorBars::Scalar. | |
typedef Base_::CountType | CountType |
The histogram' count type. This is exactly the same as RealAvgType. | |
Public Types inherited from Tomographer::UniformBinsHistogramWithErrorBars< HistogramType_::Scalar, RealAvgType > | |
typedef HistogramType_::Scalar | Scalar |
The Scalar (X-axis) Type. See UniformBinsHistogram::Scalar. | |
typedef RealAvgType | CountType |
The Type used to keep track of counts. See UniformBinsHistogram::CountType. | |
typedef UniformBinsHistogram< HistogramType_::Scalar, RealAvgType > | Base_ |
Shortcut for our base class type. | |
typedef Base_::Params | Params |
Shortcut for our base class' histogram parameters. See UniformBinsHistogram::Params. | |
Public Types inherited from Tomographer::UniformBinsHistogram< HistogramType_::Scalar, RealAvgType > | |
typedef HistogramType_::Scalar | Scalar |
The scalar type of the "X"-axis of the histogram (usually double ) | |
typedef RealAvgType | CountType |
The type that serves to count how many hits in each bin. | |
typedef UniformBinsHistogramParams< HistogramType_::Scalar > | Params |
The type for specifying parameters of this histogram (limits, number of bins) | |
Public Types inherited from Tomographer::Tools::EigenAlignedOperatorNewProvider | |
typedef EigenAlignedOperatorNewProvider | OperatorNewProviderType |
Public Member Functions | |
AveragedHistogram (const Params ¶ms=Params()) | |
Constructs an AveragedHistogram with the given histogram parameters. More... | |
AveragedHistogram (Scalar min, Scalar max, std::size_t num_bins) | |
Constructs an AveragedHistogram with the given histogram parameters. More... | |
void | reset (const Params ¶ms_) |
Resets the data and sets new params. More... | |
void | reset () |
Resets the data keeping the exisiting params. More... | |
template<ENABLED_IF( !HistogramType::HasErrorBars) > | |
void | addHistogram (const HistogramType &histogram) |
Add a new histogram in the data series. More... | |
template<ENABLED_IF( !HistogramType::HasErrorBars) > | |
void | finalize () |
Finalize the averaging procedure. More... | |
template<ENABLED_IF( HistogramType::HasErrorBars) > | |
void | addHistogram (const HistogramType &histogram) |
Add a new histogram in the data series. More... | |
template<ENABLED_IF( HistogramType::HasErrorBars) > | |
void | finalize () |
Finalize the averaging procedure. More... | |
Public Member Functions inherited from Tomographer::UniformBinsHistogramWithErrorBars< HistogramType_::Scalar, RealAvgType > | |
UniformBinsHistogramWithErrorBars (Params params=Params()) | |
Constructor, with given histogram parameters. More... | |
UniformBinsHistogramWithErrorBars (Scalar min, Scalar max, std::size_t num_bins) | |
Constructor, with given histogram parameters. More... | |
void | reset () |
Resets the histogram to zero counts everywhere, and zero error bars. More... | |
CountType | errorBar (std::size_t i) const |
For the Histogram Interface. Get error bar for bin number i. More... | |
void | load (const Eigen::DenseBase< EigenType > &d, const Eigen::DenseBase< EigenType2 > &derr, CountType off_chart_=0) |
Load data for the histogram. Uses current histogram parameters, just sets the bin counts and the error bars. More... | |
UniformBinsHistogramWithErrorBars< Scalar, NewCountType > | normalized () const |
Get a normalized version of this histogram. More... | |
std::string | prettyPrint (int max_width=0) const |
Print the histogram in human readable form. More... | |
Public Member Functions inherited from Tomographer::UniformBinsHistogram< HistogramType_::Scalar, RealAvgType > | |
UniformBinsHistogram (Params2 p=Params()) | |
Constructor: stores the parameters and initializes the histogram to zero counts everywhere. | |
UniformBinsHistogram (Scalar min_, Scalar max_, std::size_t num_bins) | |
Constructor: stores the parameters and initializes the histogram to zero counts everywhere. | |
UniformBinsHistogram (const HistogramType &other) | |
Constructor: copy another histogram type. | |
void | reset () |
Resets the histogram to zero counts everywhere (including the off-chart counts) | |
void | load (const Eigen::DenseBase< EigenType > &x, CountType off_chart_=0) |
Load data for the histogram. Uses current histogram parameters, just sets the bin counts. More... | |
void | add (const Eigen::ArrayBase< EigenType > &x, CountType off_chart_=0) |
Add data to the histogram. More... | |
void | add (const UniformBinsHistogram< OtherScalar, OtherCountType > &x) |
Add data to the histogram. More... | |
std::size_t | numBins () const |
Shorthand for params.num_bins | |
CountType | count (std::size_t i) const |
Shorthand for bins(i) | |
bool | isWithinBounds (Scalar value) const |
Shorthand for Params::isWithinBounds() | |
std::size_t | binIndex (Scalar value) const |
Shorthand for Params::binIndex() | |
Scalar | binLowerValue (int index) const |
Shorthand for Params::binLowerValue() | |
Scalar | binCenterValue (std::size_t index) const |
Shorthand for Params::binCenterValue() | |
Scalar | binUpperValue (std::size_t index) const |
Shorthand for Params::binUpperValue() | |
Scalar | binResolution () const |
Shorthand for Params::binResolution() | |
std::size_t | record (Scalar value) |
Record a new value in the histogram. More... | |
std::size_t | record (Scalar value, CountType weight) |
Record a new value in the histogram, with a certain weight. More... | |
NewCountType | normalization () const |
Calculate the total weight stored in this histogram. More... | |
UniformBinsHistogram< Scalar, NewCountType > | normalized () const |
Get a normalized version of this histogram. More... | |
std::string | prettyPrint (int max_width=0) const |
Pretty-print the histogram and return it as a string with horizontal bars. More... | |
Public Attributes | |
int | num_histograms |
The number of histograms averaged. More... | |
Public Attributes inherited from Tomographer::UniformBinsHistogramWithErrorBars< HistogramType_::Scalar, RealAvgType > | |
Eigen::Array< CountType, Eigen::Dynamic, 1 > | delta |
The error bars associated with each histogram bin. | |
Public Attributes inherited from Tomographer::UniformBinsHistogram< HistogramType_::Scalar, RealAvgType > | |
Params | params |
Parameters of this histogram (range and # of bins) | |
Eigen::Array< CountType, Eigen::Dynamic, 1 > | bins |
The counts for each bin. | |
CountType | off_chart |
The number of points that fell outside of the given range. | |
Static Public Attributes | |
static constexpr bool | HasErrorBars = true |
For the Histogram Interface. This histogram type does provide error bars. | |
Static Public Attributes inherited from Tomographer::UniformBinsHistogramWithErrorBars< HistogramType_::Scalar, RealAvgType > | |
static constexpr bool | HasErrorBars |
For the Histogram Interface. This type of histogram does provide error bars. | |
Static Public Attributes inherited from Tomographer::UniformBinsHistogram< HistogramType_::Scalar, RealAvgType > | |
static constexpr bool | HasErrorBars |
This histogram type does not provide error bars (see Histogram Interface) | |
Combines several histograms (with same parameters) into an averaged histogram.
What this class does exactly is explained on the page Averaged Histogram.
The HistogramType is expected to be a Histogram Interface -compliant type. It may, or may not, come with its own error bars. If this is the case, then the error bars are properly combined.
You should add histograms to average with repeated calls to addHistogram(). Then, you should call finalize(). Then this object, which inherits UniformBinsHistogramWithErrorBars, will be properly initialized with average counts and error bars.
This class itself complies with the Histogram Interface.
HistgoramType_ | the type of the individual histograms that we are averaging. This must comply with the Histogram Interface |
RealAvgType | the real scalar type used for averaging. You'll most likely want to choose double here. This can be different from the underlying HistogramType's CountType, because that may be an integer type and not suitable for holding an average. |
Definition at line 655 of file histogram.h.
typedef HistogramType_ Tomographer::AveragedHistogram< HistogramType_, RealAvgType >::HistogramType |
Type of the individual histograms we are averaging.
This is the argument given as template parameter, and is expected to compily with the Histogram Interface.
Definition at line 664 of file histogram.h.
|
inline |
Constructs an AveragedHistogram with the given histogram parameters.
The params are the histogram parameters (see UniformBinsHistogram::Params) of the individual histograms which will be averaged. Note that all those histograms must have the same params.
Definition at line 692 of file histogram.h.
|
inline |
Constructs an AveragedHistogram with the given histogram parameters.
This overload is provided for convenience and has the same effect as the other constructor.
Definition at line 702 of file histogram.h.
|
inline |
Add a new histogram in the data series.
Add a new histogram to include into the final averaged histogram. Call this function repeatedly with different histograms you want to average together. When you're finished adding histograms, you must call finalize() in order to finalize the averaging; until then the members bins and delta (as well as count(), errorBar() etc.) yield undefined values.
This implementation deals with the case where the individual histograms (such as histogram) don't have themselves error bars.
Definition at line 751 of file histogram.h.
|
inline |
Add a new histogram in the data series.
Add a new histogram to include into the final averaged histogram. Call this function repeatedly with different histograms you want to average together. When you're finished adding histograms, you must call finalize() in order to finalize the averaging; until then the members bins and delta (as well as count(), errorBar() etc.) yield undefined values.
This implementation deals with the case where the individual histograms (such as histogram) do have themselves error bars.
Definition at line 813 of file histogram.h.
|
inline |
Finalize the averaging procedure.
Call this function once you have called addHistogram() for all the histograms you wanted to average together.
Only after this function was called may you access the averaged histogram data (in bins, delta, count() etc.). Before calling finalize(), those methods return undefined results.
Calling addHistogram() after finalize() will yield undefined results.
This implementation deals with the case where the individual histograms (such as histogram) don't have themselves error bars.
Definition at line 783 of file histogram.h.
|
inline |
Finalize the averaging procedure.
Call this function once you have called addHistogram() for all the histograms you wanted to average together.
Only after this function was called may you access the averaged histogram data (in bins, delta, count() etc.). Before calling finalize(), those methods return undefined results.
Calling addHistogram() after finalize() will yield undefined results.
This implementation deals with the case where the individual histograms (such as histogram) do have themselves error bars.
Definition at line 845 of file histogram.h.
|
inline |
Resets the data and sets new params.
Definition at line 713 of file histogram.h.
|
inline |
Resets the data keeping the exisiting params.
Definition at line 726 of file histogram.h.
int Tomographer::AveragedHistogram< HistogramType_, RealAvgType >::num_histograms |
The number of histograms averaged.
This member records how many histograms have been added using addHistogram() since the object was created or was last reset().
Definition at line 683 of file histogram.h.