List of all members | Public Types | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes
utl::Histogram< T, BinningPolicy, ContainerPolicy > Class Template Reference

Histogram. More...

#include "utl/Histogram.h"

Inheritance diagram for utl::Histogram< T, BinningPolicy, ContainerPolicy >:
Inheritance graph
[legend]

Public Types

typedef boost::add_reference
< BinContainerType >::type 
BinContainerRefType
 
typedef ContainerPolicy
< std::vector< T > >::type 
BinContainerType
 
typedef BinningPolicy::BinEdgeType BinEdgeType
 
typedef T BinType
 
typedef add_const_reference
< BinContainerType >::type 
ConstBinContainerRefType
 
typedef
BinningPolicy::ConstBinLowerEdgesRefType 
ConstBinLowerEdgesRefType
 
enum  OutOfBounds { eUnderflow = -2, eOverflow = -1 }
 

Public Member Functions

else return BinningPolicy::GetBinIndexUnchecked (x)
 
void Clear ()
 
void Fill (const double x)
 
void Fill (const double x, const BinType weight)
 
 for (size_t bin=0;bin< BinningPolicy::GetNBins();++bin)
 
 for (size_t i=1;i< n-2;++i)
 
 for (size_t i=1;i< n-2;++i)
 
const BinTypeGetBin (const size_t i) const
 
double GetBinAverage (const size_t i) const
 
double GetBinCenter (const size_t bin) const
 
ConstBinContainerRefType GetBins () const
 
BinTypeGetOverflow ()
 
const BinTypeGetOverflow () const
 
BinTypeGetUnderflow ()
 
const BinTypeGetUnderflow () const
 
 Histogram (const size_t nBins, const BinEdgeType start, const BinEdgeType stop)
 
 Histogram (const BinEdgeType start, const BinEdgeType stop, ConstBinContainerRefType dataBins)
 
 Histogram (ConstBinLowerEdgesRefType binEdges)
 
 Histogram (ConstBinLowerEdgesRefType binEdges, ConstBinContainerRefType dataBins)
 
else if (BinningPolicy::IsOverflow(x)) return eOverflow
 
density push_back (GetBinAverage(0))
 
density push_back (0)
 
density push_back (0)
 
densityError push_back (sqrt(GetBinAverage(0)/BinningPolicy::GetBinSize(0)))
 
densityError push_back (0)
 
densityError push_back (0)
 
density reserve (n+1)
 
densityError reserve (n+1)
 
void SetBin (const size_t i, const BinType value)
 

Public Attributes

double clnc = 0
 
size_t const
 
BinType const
 
double const
 
return(n > 0)?clnc/n+std
std::vector< double > 
const
 
std::vector< double > const
 
std::vector< double > density
 
return density
 
std::vector< double > densityError
 
return densityError
 
 max = fBinContainer[i]
 
return max
 
const size_t n = BinningPolicy::GetNBins()
 
 sum = entry
 
return sum
 

Private Member Functions

BinTypeGetDataBin (const double x)
 

Private Attributes

BinContainerType fBinContainer
 
BinType fOverflow
 
BinType fUnderflow
 

Detailed Description

template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
class utl::Histogram< T, BinningPolicy, ContainerPolicy >

Histogram.

Author
Darko Veberic
Lukas Nellen
Date
20 Dec 2006

histogram bin layout all user-side indices refer to the base-0 (C-like) numbering of bins, underflow is in bin -1, overflow in bin n

start stop
| |
edge tendency: |> |> |> |> |> |> |> |>
bin index: | 0 | 1 | 2 | 3 | | n-2 | n-1 |
<<_underflow_|___|___|___|___| ... |_____|_____|_overflow_>>
| | | | | | | |
edge index: 0 1 2 3 4 n-2 n-1 n

Definition at line 151 of file Histogram.h.

Member Typedef Documentation

template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
typedef boost::add_reference<BinContainerType>::type utl::Histogram< T, BinningPolicy, ContainerPolicy >::BinContainerRefType

Definition at line 156 of file Histogram.h.

template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
typedef ContainerPolicy<std::vector<T> >::type utl::Histogram< T, BinningPolicy, ContainerPolicy >::BinContainerType

Definition at line 154 of file Histogram.h.

template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
typedef BinningPolicy::BinEdgeType utl::Histogram< T, BinningPolicy, ContainerPolicy >::BinEdgeType

Definition at line 153 of file Histogram.h.

template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
typedef T utl::Histogram< T, BinningPolicy, ContainerPolicy >::BinType

Definition at line 155 of file Histogram.h.

template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
typedef add_const_reference<BinContainerType>::type utl::Histogram< T, BinningPolicy, ContainerPolicy >::ConstBinContainerRefType

Definition at line 157 of file Histogram.h.

template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
typedef BinningPolicy::ConstBinLowerEdgesRefType utl::Histogram< T, BinningPolicy, ContainerPolicy >::ConstBinLowerEdgesRefType

Definition at line 158 of file Histogram.h.

Member Enumeration Documentation

template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
enum utl::Histogram::OutOfBounds
Enumerator
eUnderflow 
eOverflow 

Definition at line 160 of file Histogram.h.

Constructor & Destructor Documentation

template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
utl::Histogram< T, BinningPolicy, ContainerPolicy >::Histogram ( const size_t  nBins,
const BinEdgeType  start,
const BinEdgeType  stop 
)
inline

Definition at line 166 of file Histogram.h.

template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
utl::Histogram< T, BinningPolicy, ContainerPolicy >::Histogram ( const BinEdgeType  start,
const BinEdgeType  stop,
ConstBinContainerRefType  dataBins 
)
inline

Definition at line 171 of file Histogram.h.

template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
utl::Histogram< T, BinningPolicy, ContainerPolicy >::Histogram ( ConstBinLowerEdgesRefType  binEdges)
inline

Definition at line 178 of file Histogram.h.

template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
utl::Histogram< T, BinningPolicy, ContainerPolicy >::Histogram ( ConstBinLowerEdgesRefType  binEdges,
ConstBinContainerRefType  dataBins 
)
inline

Definition at line 183 of file Histogram.h.

Member Function Documentation

template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
else return utl::Histogram< T, BinningPolicy, ContainerPolicy >::BinningPolicy::GetBinIndexUnchecked ( )
template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
void utl::Histogram< T, BinningPolicy, ContainerPolicy >::Clear ( )
inline

Definition at line 216 of file Histogram.h.

template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
void utl::Histogram< T, BinningPolicy, ContainerPolicy >::Fill ( const double  x)
inline
template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
void utl::Histogram< T, BinningPolicy, ContainerPolicy >::Fill ( const double  x,
const BinType  weight 
)
inline

Definition at line 212 of file Histogram.h.

template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
utl::Histogram< T, BinningPolicy, ContainerPolicy >::for ( )
inline

Definition at line 270 of file Histogram.h.

template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
utl::Histogram< T, BinningPolicy, ContainerPolicy >::for ( )
inline

Definition at line 288 of file Histogram.h.

template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
utl::Histogram< T, BinningPolicy, ContainerPolicy >::for ( )
inline

Definition at line 307 of file Histogram.h.

template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
const BinType& utl::Histogram< T, BinningPolicy, ContainerPolicy >::GetBin ( const size_t  i) const
inline
template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
double utl::Histogram< T, BinningPolicy, ContainerPolicy >::GetBinAverage ( const size_t  i) const
inline
template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
double utl::Histogram< T, BinningPolicy, ContainerPolicy >::GetBinCenter ( const size_t  bin) const
inline
template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
ConstBinContainerRefType utl::Histogram< T, BinningPolicy, ContainerPolicy >::GetBins ( ) const
inline

Definition at line 262 of file Histogram.h.

template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
BinType& utl::Histogram< T, BinningPolicy, ContainerPolicy >::GetDataBin ( const double  x)
inlineprivate
template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
BinType& utl::Histogram< T, BinningPolicy, ContainerPolicy >::GetOverflow ( )
inline

Definition at line 234 of file Histogram.h.

template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
const BinType& utl::Histogram< T, BinningPolicy, ContainerPolicy >::GetOverflow ( ) const
inline

Definition at line 235 of file Histogram.h.

template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
BinType& utl::Histogram< T, BinningPolicy, ContainerPolicy >::GetUnderflow ( )
inline

Definition at line 231 of file Histogram.h.

template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
const BinType& utl::Histogram< T, BinningPolicy, ContainerPolicy >::GetUnderflow ( ) const
inline

Definition at line 232 of file Histogram.h.

template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
else utl::Histogram< T, BinningPolicy, ContainerPolicy >::if ( BinningPolicy::  IsOverflowx)
template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
density utl::Histogram< T, BinningPolicy, ContainerPolicy >::push_back ( GetBinAverage(0)  )
template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
density utl::Histogram< T, BinningPolicy, ContainerPolicy >::push_back ( )
template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
density utl::Histogram< T, BinningPolicy, ContainerPolicy >::push_back ( )
template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
densityError utl::Histogram< T, BinningPolicy, ContainerPolicy >::push_back ( sqrt(GetBinAverage(0)/BinningPolicy::GetBinSize(0))  )
template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
densityError utl::Histogram< T, BinningPolicy, ContainerPolicy >::push_back ( )
template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
densityError utl::Histogram< T, BinningPolicy, ContainerPolicy >::push_back ( )
template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
density utl::Histogram< T, BinningPolicy, ContainerPolicy >::reserve ( n 1)
template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
densityError utl::Histogram< T, BinningPolicy, ContainerPolicy >::reserve ( n 1)
template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
void utl::Histogram< T, BinningPolicy, ContainerPolicy >::SetBin ( const size_t  i,
const BinType  value 
)
inline

Definition at line 237 of file Histogram.h.

Member Data Documentation

template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
double utl::Histogram< T, BinningPolicy, ContainerPolicy >::clnc = 0

Definition at line 269 of file Histogram.h.

template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
BinType utl::Histogram< T, BinningPolicy, ContainerPolicy >::const
Initial value:
{
return eUnderflow

Definition at line 201 of file Histogram.h.

template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
BinType utl::Histogram< T, BinningPolicy, ContainerPolicy >::const
Initial value:

Definition at line 243 of file Histogram.h.

template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
double utl::Histogram< T, BinningPolicy, ContainerPolicy >::const
Initial value:
{
double n = 0

Definition at line 267 of file Histogram.h.

template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
return (n > 0) ? clnc / n + std std::vector<double> utl::Histogram< T, BinningPolicy, ContainerPolicy >::const
Initial value:
{
const auto n = BinningPolicy::GetNBins()

Definition at line 283 of file Histogram.h.

template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
std::vector<double> utl::Histogram< T, BinningPolicy, ContainerPolicy >::const
Initial value:
{
const auto n = BinningPolicy::GetNBins()

Definition at line 302 of file Histogram.h.

template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
std::vector<double> utl::Histogram< T, BinningPolicy, ContainerPolicy >::density

Definition at line 285 of file Histogram.h.

template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
return utl::Histogram< T, BinningPolicy, ContainerPolicy >::density

Definition at line 296 of file Histogram.h.

template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
std::vector<double> utl::Histogram< T, BinningPolicy, ContainerPolicy >::densityError

Definition at line 304 of file Histogram.h.

template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
return utl::Histogram< T, BinningPolicy, ContainerPolicy >::densityError

Definition at line 315 of file Histogram.h.

template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
BinContainerType utl::Histogram< T, BinningPolicy, ContainerPolicy >::fBinContainer
private
template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
BinType utl::Histogram< T, BinningPolicy, ContainerPolicy >::fOverflow
private
template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
BinType utl::Histogram< T, BinningPolicy, ContainerPolicy >::fUnderflow
private
template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
utl::Histogram< T, BinningPolicy, ContainerPolicy >::max = fBinContainer[i]

Definition at line 248 of file Histogram.h.

template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
return utl::Histogram< T, BinningPolicy, ContainerPolicy >::max

Definition at line 249 of file Histogram.h.

template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
const size_t utl::Histogram< T, BinningPolicy, ContainerPolicy >::n = BinningPolicy::GetNBins()

Definition at line 245 of file Histogram.h.

template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
utl::Histogram< T, BinningPolicy, ContainerPolicy >::sum = entry

Definition at line 258 of file Histogram.h.

template<typename T = double, class BinningPolicy = EqualBinning, template< typename > class ContainerPolicy = identity>
return utl::Histogram< T, BinningPolicy, ContainerPolicy >::sum

Definition at line 259 of file Histogram.h.


The documentation for this class was generated from the following file:

, generated on Tue Sep 26 2023.