Logo ROOT   6.12/07
Reference Guide
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
ROOT::Experimental::THistBufferedFill< HIST, SIZE > Class Template Reference

template<class HIST, int SIZE = 1024>
class ROOT::Experimental::THistBufferedFill< HIST, SIZE >

Buffers calls to Fill().

Once the buffer is full, on destruction of when calling Flush(), it sends the buffers off as an ideally vectorizable FillN() operation. It also serves as a multi-threaded way of filling the same histogram, reducing the locking frequency.

The HIST template can be either a THist instance, a THistImpl instance, or a THistLockedFill instance.

Definition at line 78 of file THistBufferedFill.hxx.

Public Types

using CoordArray_t = typename HIST::CoordArray_t
 
using Hist_t = HIST
 
using Weight_t = typename HIST::Weight_t
 
- Public Types inherited from ROOT::Experimental::Internal::THistBufferedFillBase< THistBufferedFill< HIST, SIZE >, HIST, SIZE >
using CoordArray_t = typename HIST::CoordArray_t
 
using Weight_t = typename HIST::Weight_t
 

Public Member Functions

 THistBufferedFill (Hist_t &hist)
 
void FillN (const std::array_view< CoordArray_t > xN, const std::array_view< Weight_t > weightN)
 
void FillN (const std::array_view< CoordArray_t > xN)
 
void Flush ()
 
HIST & GetHist ()
 
 operator HIST & ()
 
- Public Member Functions inherited from ROOT::Experimental::Internal::THistBufferedFillBase< THistBufferedFill< HIST, SIZE >, HIST, SIZE >
 THistBufferedFillBase ()
 
 ~THistBufferedFillBase ()
 
void Fill (const CoordArray_t &x, Weight_t weight=1.)
 
std::array_view< CoordArray_tGetCoords () const
 
std::array_view< Weight_tGetWeights () const
 
THistBufferedFill< HIST, SIZE > & toDerived ()
 
const THistBufferedFill< HIST, SIZE > & toDerived () const
 

Static Public Member Functions

static constexpr int GetNDim ()
 

Private Attributes

size_t fCursor = 0
 
HIST & fHist
 
std::array< Weight_t, SIZE > fWBuf
 
std::array< CoordArray_t, SIZE > fXBuf
 

#include <ROOT/THistBufferedFill.hxx>

Inheritance diagram for ROOT::Experimental::THistBufferedFill< HIST, SIZE >:
[legend]

Member Typedef Documentation

◆ CoordArray_t

template<class HIST, int SIZE = 1024>
using ROOT::Experimental::THistBufferedFill< HIST, SIZE >::CoordArray_t = typename HIST::CoordArray_t

Definition at line 81 of file THistBufferedFill.hxx.

◆ Hist_t

template<class HIST, int SIZE = 1024>
using ROOT::Experimental::THistBufferedFill< HIST, SIZE >::Hist_t = HIST

Definition at line 80 of file THistBufferedFill.hxx.

◆ Weight_t

template<class HIST, int SIZE = 1024>
using ROOT::Experimental::THistBufferedFill< HIST, SIZE >::Weight_t = typename HIST::Weight_t

Definition at line 82 of file THistBufferedFill.hxx.

Constructor & Destructor Documentation

◆ THistBufferedFill()

template<class HIST, int SIZE = 1024>
ROOT::Experimental::THistBufferedFill< HIST, SIZE >::THistBufferedFill ( Hist_t hist)
inline

Definition at line 91 of file THistBufferedFill.hxx.

Member Function Documentation

◆ FillN() [1/2]

template<class HIST, int SIZE = 1024>
void ROOT::Experimental::THistBufferedFill< HIST, SIZE >::FillN ( const std::array_view< CoordArray_t xN,
const std::array_view< Weight_t weightN 
)
inline

Definition at line 93 of file THistBufferedFill.hxx.

◆ FillN() [2/2]

template<class HIST, int SIZE = 1024>
void ROOT::Experimental::THistBufferedFill< HIST, SIZE >::FillN ( const std::array_view< CoordArray_t xN)
inline

Definition at line 98 of file THistBufferedFill.hxx.

◆ Flush()

template<class HIST, int SIZE = 1024>
void ROOT::Experimental::THistBufferedFill< HIST, SIZE >::Flush ( )
inline

Definition at line 100 of file THistBufferedFill.hxx.

◆ GetHist()

template<class HIST, int SIZE = 1024>
HIST& ROOT::Experimental::THistBufferedFill< HIST, SIZE >::GetHist ( )
inline

Definition at line 102 of file THistBufferedFill.hxx.

◆ GetNDim()

template<class HIST, int SIZE = 1024>
static constexpr int ROOT::Experimental::THistBufferedFill< HIST, SIZE >::GetNDim ( )
inlinestatic

Definition at line 109 of file THistBufferedFill.hxx.

◆ operator HIST &()

template<class HIST, int SIZE = 1024>
ROOT::Experimental::THistBufferedFill< HIST, SIZE >::operator HIST & ( )
inline

Definition at line 107 of file THistBufferedFill.hxx.

Member Data Documentation

◆ fCursor

template<class HIST, int SIZE = 1024>
size_t ROOT::Experimental::THistBufferedFill< HIST, SIZE >::fCursor = 0
private

Definition at line 86 of file THistBufferedFill.hxx.

◆ fHist

template<class HIST, int SIZE = 1024>
HIST& ROOT::Experimental::THistBufferedFill< HIST, SIZE >::fHist
private

Definition at line 85 of file THistBufferedFill.hxx.

◆ fWBuf

template<class HIST, int SIZE = 1024>
std::array<Weight_t, SIZE> ROOT::Experimental::THistBufferedFill< HIST, SIZE >::fWBuf
private

Definition at line 88 of file THistBufferedFill.hxx.

◆ fXBuf

template<class HIST, int SIZE = 1024>
std::array<CoordArray_t, SIZE> ROOT::Experimental::THistBufferedFill< HIST, SIZE >::fXBuf
private

Definition at line 87 of file THistBufferedFill.hxx.

Libraries for ROOT::Experimental::THistBufferedFill< HIST, SIZE >:
[legend]

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