Logo ROOT   6.18/05
Reference Guide
List of all members | Public Types | Public Member Functions | Private Attributes | Friends | List of all members
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 79 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< CoordArray_t > xN)
 Thread-specific HIST::FillN(). More...
 
void FillN (const std::span< CoordArray_t > xN, const std::span< 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 84 of file RHistConcurrentFill.hxx.

◆ Hist_t

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

Definition at line 83 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 85 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 92 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< CoordArray_t xN)
inline

Thread-specific HIST::FillN().

Definition at line 104 of file RHistConcurrentFill.hxx.

◆ FillN() [2/2]

template<class HIST , int SIZE = 1024>
void ROOT::Experimental::RHistConcurrentFillManager< 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 RHistConcurrentFill.hxx.

◆ MakeFiller()

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

Definition at line 94 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 64 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 89 of file RHistConcurrentFill.hxx.

◆ fHist

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

Definition at line 88 of file RHistConcurrentFill.hxx.


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