Logo ROOT  
Reference Guide
ROOT::Experimental::RHistConcurrentFillManager< HIST, SIZE > Class Template Reference

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

Manages the synchronization of calls to FillN().

The HIST template can be a RHist instance. This class hands out RHistConcurrentFiller 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 RHistConcurrentFillManager. The manager than fills the histogram.

Definition at line 77 of file RHistConcurrentFill.hxx.

Public Types

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

Public Member Functions

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

Private Attributes

std::mutex fFillMutex
 
HIST & fHist
 

Friends

class RHistConcurrentFiller< HIST, SIZE >
 

#include <ROOT/RHistConcurrentFill.hxx>

Member Typedef Documentation

◆ CoordArray_t

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

Definition at line 82 of file RHistConcurrentFill.hxx.

◆ Hist_t

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

Definition at line 81 of file RHistConcurrentFill.hxx.

◆ Weight_t

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

Definition at line 83 of file RHistConcurrentFill.hxx.

Constructor & Destructor Documentation

◆ RHistConcurrentFillManager()

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

Definition at line 90 of file RHistConcurrentFill.hxx.

Member Function Documentation

◆ FillN() [1/2]

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

Thread-specific HIST::FillN().

Definition at line 102 of file RHistConcurrentFill.hxx.

◆ FillN() [2/2]

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

Thread-specific HIST::FillN().

Definition at line 95 of file RHistConcurrentFill.hxx.

◆ MakeFiller()

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

Definition at line 92 of file RHistConcurrentFill.hxx.

Friends And Related Function Documentation

◆ RHistConcurrentFiller< HIST, SIZE >

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

Definition at line 62 of file RHistConcurrentFill.hxx.

Member Data Documentation

◆ fFillMutex

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

Definition at line 87 of file RHistConcurrentFill.hxx.

◆ fHist

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

Definition at line 86 of file RHistConcurrentFill.hxx.


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