Logo ROOT   6.14/05
Reference Guide
List of all members | Public Types | Public Member Functions | Private Attributes | Friends | List of all members
ROOT::Experimental::THistConcurrentFillManager< HIST, SIZE > Class Template Reference

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

Manages the synchronization of calls to FillN().

The HIST template can be a THist instance. This class hands out THistConcurrentFiller objects that can concurrently fill the histogram. They buffer calls to Fill() until the buffer is full, and then swap the buffer with that of the THistConcurrentFillManager. The manager than fills the histogram.

Definition at line 28 of file THistConcurrentFill.hxx.

Public Types

using CoordArray_t = typename HIST::CoordArray_t
 
using Hist_t = HIST
 
using Weight_t = typename HIST::Weight_t
 

Public Member Functions

 THistConcurrentFillManager (HIST &hist)
 
void FillN (const std::span< CoordArray_t > xN, const std::span< Weight_t > weightN)
 Thread-specific HIST::FillN(). More...
 
void FillN (const std::span< CoordArray_t > xN)
 Thread-specific HIST::FillN(). More...
 
THistConcurrentFiller< HIST, SIZE > MakeFiller ()
 

Private Attributes

std::mutex fFillMutex
 
HIST & fHist
 

Friends

class THistConcurrentFiller< HIST, SIZE >
 

#include <ROOT/THistConcurrentFill.hxx>

Member Typedef Documentation

◆ CoordArray_t

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

Definition at line 84 of file THistConcurrentFill.hxx.

◆ Hist_t

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

Definition at line 83 of file THistConcurrentFill.hxx.

◆ Weight_t

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

Definition at line 85 of file THistConcurrentFill.hxx.

Constructor & Destructor Documentation

◆ THistConcurrentFillManager()

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

Definition at line 92 of file THistConcurrentFill.hxx.

Member Function Documentation

◆ FillN() [1/2]

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

Thread-specific HIST::FillN().

Definition at line 97 of file THistConcurrentFill.hxx.

◆ FillN() [2/2]

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

Thread-specific HIST::FillN().

Definition at line 104 of file THistConcurrentFill.hxx.

◆ MakeFiller()

template<class HIST, int SIZE = 1024>
THistConcurrentFiller<HIST, SIZE> ROOT::Experimental::THistConcurrentFillManager< HIST, SIZE >::MakeFiller ( )
inline

Definition at line 94 of file THistConcurrentFill.hxx.

Friends And Related Function Documentation

◆ THistConcurrentFiller< HIST, SIZE >

template<class HIST, int SIZE = 1024>
friend class THistConcurrentFiller< HIST, SIZE >
friend

Definition at line 80 of file THistConcurrentFill.hxx.

Member Data Documentation

◆ fFillMutex

template<class HIST, int SIZE = 1024>
std::mutex ROOT::Experimental::THistConcurrentFillManager< HIST, SIZE >::fFillMutex
private

Definition at line 89 of file THistConcurrentFill.hxx.

◆ fHist

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

Definition at line 88 of file THistConcurrentFill.hxx.


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