21 #ifndef __Histogram1D_hh__
22 #define __Histogram1D_hh__
24 #include <bias_config.h>
26 #include <Base/Debug/Debug.hh>
27 #include <Base/Debug/Error.hh>
46 inline void Clear() { Data_.clear(); }
48 void AddData(
const std::vector<T>& data);
50 void AddData(
const T& data);
52 int GetHistogram(std::vector<T>& bin_center, std::vector<unsigned>& hist);
58 T GetBinCenterWithMaxEntries();
61 { BIASASSERT(min_val<max_val); MinValue_=min_val; MaxValue_=max_val; }
67 { BIASASSERT(val>0); NumBins_ = val; }
76 if (data<MinValue_ || data>MaxValue_)
return -1;
77 return int((data-MinValue_)/BinSize_);
80 void InitInternalsFromData_();
82 void InitInternals_();
84 void ComputeBinCenters_(std::vector<T>& center)
const;
90 #endif // __Histogram1D_hh__
int GetBinNum_(const T &data)
void SetHistogramBoundaries(const T &min_val, const T &max_val)
void SetAutoScale(const bool val)
Simple one dimensional histogram computation.
bool AutoScale_
compute min and max value automatically
void SetNumBins(const unsigned val)