Tomographer
v1.0a
Tomographer C++ Framework Documentation
|
Group template parameters for BinningAnalysis. More...
#include <tomographer/mhrw_bin_err.h>
Public Types | |
enum | |
Constants for error bar convergence analysis. More... | |
typedef ValueType_ | ValueType |
Type of the value which we are calculating error bars for. Also the type of the error bars themselves. | |
typedef CountIntType_ | CountIntType |
Type used to count the number of samples. Usually int is fine, except if you are really taking a LOT of samples. | |
typedef Eigen::Array< ValueType, NumTrackValuesCTime, SamplesSizeCTime > | SamplesArray |
Type of the internal buffer for the raw samples. More... | |
typedef Eigen::Array< ValueType, NumTrackValuesCTime, 1 > | BinSumArray |
Type used to store the sum of values. More... | |
typedef Eigen::Array< ValueType, NumTrackValuesCTime, NumLevelsPlusOneCTime > | BinSumSqArray |
Type used to store the sum of squares of values at each binning level. More... | |
Static Public Attributes | |
static constexpr int | NumTrackValuesCTime = NumTrackValues_ |
Number of values we are tracking/analyzing, if known at compile-time or Eigen::Dynamic. | |
static constexpr int | NumLevelsCTime = NumLevels_ |
Number of binning levels in our binning analysis, if known at compile-time or Eigen::Dynamic. | |
static constexpr int | NumLevelsPlusOneCTime |
Number of binning levels in our binning analysis plus one, if known at compile-time or Eigen::Dynamic. More... | |
static constexpr int | SamplesSizeCTime |
Size of the buffer which holds the raw sequence, if of fixed size and known at compile-time. More... | |
static constexpr bool | StoreBinSums = StoreBinSums_ |
Whether we should store the bin sums, or whether they can be provided independently by the user. More... | |
Group template parameters for BinningAnalysis.
This class serves to group together the template parameters which determine the behavior of BinningAnalysis, as well as provide some common derived types and utility definitions. This more or less acts like a traits class.
See Binning Analysis for how binning analysis works, and BinningAnalysis for the actual implementation.
NumTrackValues_ | This class may be used to calculate error bars for different independent values. This is the number of independent values for which we are calculating error bars. May be Eigen::Dynamic if this value is not known at compile-time and will be provided at run-time to the constructor of BinningAnalysis. |
NumLevels_ | The number of binning levels we should perform in our analysis. Use the special value Eigen::Dynamic to specify that this value is not known at compile-time but will be specified at runtime to the constructor of BinningAnalysis. |
Note that this is the number of coarse-grainings. If you include the 0-th level which is the raw samples, we obtain (NumLevels+1)
data sets. For example, for NumLevels=1
, we have the raw samples and the first binned sequence.
StoreBinSums_ | In some cases, the sum of the samples for each value, needed to determine the mean values, is already calculated independently (e.g. using a ValueHistogramMHRWStatsCollector). In this case, we don't need to compute it separately. Set this template parameter to false if you can provide the bin means directly to BinningAnalysis::calc_error_levels(), in which case BinningAnalysis won't itself keep track of the means of the samples. |
CountIntType_ | The integer type used to count the number of samples. Usually you won't have any problems with int , except if you are really collecting a LOT of samples. |
Definition at line 108 of file mhrw_bin_err.h.
typedef Eigen::Array<ValueType, NumTrackValuesCTime, 1> Tomographer::BinningAnalysisParams< ValueType_, NumTrackValues_, NumLevels_, StoreBinSums_, CountIntType_ >::BinSumArray |
Type used to store the sum of values.
This is a linear array of fixed size NumTrackValues (or Eigen::Dynamic). This is used to store one value for each tracked value, e.g. the sum of all the samples.
Definition at line 172 of file mhrw_bin_err.h.
typedef Eigen::Array<ValueType, NumTrackValuesCTime, NumLevelsPlusOneCTime> Tomographer::BinningAnalysisParams< ValueType_, NumTrackValues_, NumLevels_, StoreBinSums_, CountIntType_ >::BinSumSqArray |
Type used to store the sum of squares of values at each binning level.
This is a matrix of fixed size NumTrackValues x NumLevelsPlusOneCTime (or Eigen::Dynamic). This is used to store a list of values (one for each binning level, including the 0-th) for each tracked value, e.g. the sum of all the samples.
Definition at line 179 of file mhrw_bin_err.h.
typedef Eigen::Array<ValueType, NumTrackValuesCTime, SamplesSizeCTime> Tomographer::BinningAnalysisParams< ValueType_, NumTrackValues_, NumLevels_, StoreBinSums_, CountIntType_ >::SamplesArray |
Type of the internal buffer for the raw samples.
See SamplesSizeCTime. This is a matrix of sample buffers for each integration value we're tracking.
Definition at line 164 of file mhrw_bin_err.h.
anonymous enum |
Constants for error bar convergence analysis.
Enumerator | |
---|---|
UNKNOWN_CONVERGENCE |
Unable to determine whether the error bars have converged. |
CONVERGED |
The error bars appear to have converged. |
NOT_CONVERGED |
The error bars don't seem to have converged. |
Definition at line 182 of file mhrw_bin_err.h.
|
static |
Number of binning levels in our binning analysis plus one, if known at compile-time or Eigen::Dynamic.
Definition at line 122 of file mhrw_bin_err.h.
|
static |
Size of the buffer which holds the raw sequence, if of fixed size and known at compile-time.
The internal buffer which holds the raw samples has (in this implementation) to hold all the samples until they can be "flushed" up to one sample at the last level. This is exactly \( 2^{\mathrm{number\ of\ levels}} \). (In fact, we have one such buffer per integration/value we're tracking.)
If this number is small enough (~7 binning levels (?)), and is known at compile-time, then the buffer is internally declared as a fixed-size Eigen type; otherwise it is dynamically allocated on the heap.
This property contains the size of the buffer if it is of fixed size, i.e. if the binning level is known at compile-time and is not too large. Otherwise, it is set to Eigen::Dynamic.
Definition at line 147 of file mhrw_bin_err.h.
|
static |
Whether we should store the bin sums, or whether they can be provided independently by the user.
See class documentation for BinningAnalysis and BinningAnalysisParams.
Definition at line 155 of file mhrw_bin_err.h.